上一篇文章我们讲解了轨迹查询的接口,通过快递鸟接口可以实现实时查询物流轨迹,这次给大家推荐订阅服务功能。

为了更好的理解订阅服务,我们来做个对比,

即时查询是主动查询物流轨迹,需要我们主动调用接口才能获得物流轨迹。

快递单订阅是被动接收物流轨迹,我们把大量的物流订单通过接口委托给快递鸟,

快递鸟对订单进行实时监控,当物流轨迹有更新时,快递鸟通过内部处理,计算运单预计到达时间、全流程的物流状态,推送到我们指定的接口地址。每一次的物流轨迹更新,快递鸟就会调用一次我们提供的接口地址,直到订单签收后才结束订阅。

有些朋友可能会问,我只要使用即时接口查询快递就可以了,为什么还要使用订阅服务功能?

目的只有一个,减少公司开发成本,提升用户体验。

假设我们的电商平台,每天有1000个订单需要发货,每天就有1000个运单要查询物流轨迹,一个订单从发货到签收周期是3-7天,我们需要查询所有未签收的运单轨迹,综合统计,一天我们可能需要查询5000千个订单,如果我们对订单时效要求非常高,需要实时了解包裹的签收情况,我们就要反复调用接口,每半小时调用一次,一个单一天要调用48次,如果时效要求更高,调用更频繁,5000个订单需要调用24万次以上,这样的频繁调用既占用公司服务器资源,也容易被快递鸟当中恶意攻击查封接口。

这个时候订阅服务的优势就提现出来了,我们只需要把每天的1000个发货订单推送到快递鸟,让快递鸟去做这个比较繁琐的事情,快递鸟会监控我们推送过去的所有订单,只要没有被签收,快递鸟就会提供推送服务,假设目前有5000个订单还没被签收,快递鸟就会监控这5000个单,其中任何一个单有新的轨迹或者被签收了,快递鸟即时调用我们提供的接口,把轨迹推送到我们的服务器,这样我们就实现了0延迟,真正做到了即时更新物流轨迹,我们利用这个功能可以实现很多产品服务,比如:短信提醒客户订单预计签收时间,统计订单的签收情况,计算订单的发货时效……

订阅服务我们已经了解了,接下来说说如何对接。

一、接口描述/说明

1.订阅接口

(1)此功能为专业定制,为特殊商户提供订阅服务,快递鸟系统会定时推送新的物流信息到商户系统。
(2)订阅快递号需指定相应的快递公司编码,格式不对或则编码错误都会返回失败的信息。

(3)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。
(4)接口地址:

API测试地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

API正式地址:

http://api.kdniao.com/api/dist

请求系统级参数说明:

参数名称

类型

说明

必须要求

RequestData

String

请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。

R

EBusinessID

String

商户ID,请在我的服务页面查看。

R

RequestType

String

请求指令类型:1008

R

DataSign

String

数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后 进行URL(utf-8)编码。详细过程请查看Demo。

R

DataType

String

请求、返回数据类型:2-json;

R

备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)

二、接口参数

1.订阅接口

请求内容字段定义:

参数

类型

说明

必须要求

Callback

String(50)

用户自定义回调信息

O

MemberID

String(50)

会员标识(备用字段)

O

WareHouseID

String(30)

仓库标识(备用字段)

O

CustomerName

String

电子面单客户账号(与快递网点申请)

O

CustomerPwd

String

电子面单密码

O

SendSite

String

收件网点标识(名称)

O

ShipperCode

String(10)

快递公司编码

R

LogisticCode

String(30)

快递单号

R

OrderCode

String(30)

订单编号

O

MonthCode

String(20)

月结编号

O

PayType

Int

邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付

O

ExpType

String(2)

快递类型:1-标准快件

O

Cost

Double(5)

快递运费

O

OtherCost

Double(5)

其他费用

O

Receiver

Company

String(30)

收件人公司

O

Name

String(30)

收件人

R

Tel

String(20)

电话(电话与手机,必填一个)

R

Mobile

String(20)

手机

R

PostCode

String(10)

收件人邮编

O

ProvinceName

String(20)

收件省(如广东省,不要缺少“省”)

R

CityName

String(20)

收件市(如深圳市,不要缺少“市”)

R

ExpAreaName

String(20)

收件区(如福田区,不要缺少“区”或“县”)

R

Address

String(100)

收件人详细地址

R

Sender

Company

String(30)

发件人公司

O

Name

String(30)

发件人

R

Tel

String(20)

手机与电话必填一个

R

Mobile

String(20)

发件人手机

R

PostCode

String

发件人邮编

O

ProvinceName

String(20)

发件省(如广东省,不要缺少“省”)

R

CityName

String(20)

发件市(如深圳市,不要缺少“市”)

R

ExpAreaName

String(20)

发件区(如福田区,不要缺少“区”或“县”)

R

Address

String(100)

发件人详细地址

R

IsNotice

Int(1)

是否通知快递员上门揽件:0-通知;1-不通知;默认为1

O

StartDate

String

上门取货时间段:"yyyy-MM-dd
HH:mm:ss"格式化,本文中所有时间格式相同

O

EndDate

String

O

Weight

Double

包裹总重量kg

O

Quantity

Int(2)

件数/包裹数

O

Volume

Double

物品总体积m3

O

Remark

String(60)

备注

O

IsSendMessage

Int(1)

是否订阅短信:0-不需要;1-需要

O

AddService(数组形式)

AddService

Name

String(20)

增值服务名称

O

Value

String(30)

增值服务值

O

CustomerID

String(30)

客户标识(选填)

O

Commodity(数组形式)

Commodity

GoodsName

String(100)

商品名称

O

GoodsCode

String(20)

商品编码

O

Goodsquantity

Int(5)

件数

O

GoodsPrice

Double(10)

商品价格

O

GoodsWeight

Double

商品重量kg

O

GoodsDesc

String(50)

商品描述

O

GoodsVol

Double

商品体积m3

O

返回参数定义:

参数名称

类型

说明

必须要求

EBusinessID

String

用户ID

R

UpdateTime

String

更新时间
YYYY-MM-DD HH24:MM:SS

R

Success

Bool

成功与否:true,false

R

Reason

String(50)

失败原因

O

EstimatedDeliveryTime

String

订单预计到货时间yyyy-mm-dd(即将上线)

O

三、示例

订阅接口

请求示例 JSON

{

"ShipperCode":"SF",

"OrderCode":"SF201608081055208281",

"LogisticCode":"3100707578976",

"PayType":"1",

"ExpType":"1",

"CustomerName":"",

"CustomerPwd":"",

"MonthCode":"",

"IsNotice":"0",

"Sender":{

"Name":"1255760",

"Tel":"",

"Mobile":"13700000000",

"ProvinceName":"广东省",

"CityName":"深圳市",

"ExpAreaName":"福田区",

"Address":"测试地址"

},

"Receiver":{

"Name":"1255760",

"Tel":"",

"Mobile":"13800000000",

"ProvinceName":"广东省",

"CityName":"深圳市",

"ExpAreaName":"龙华新区",

"Address":"测试地址2"

},

"Commodity":[

{

"GoodsName":"书本"

}

]

}

返回示例 JSON

{

"EBusinessID": "1151847",

"UpdateTime": "2016-08-09 16:42:38",

"Success": true,

"Reason": ""

}

提供源码下载:

https://download.csdn.net/download/yanghanwen/12139326

调用第三方物流接口,替换自己的key就能直接使用,主要实现了物流在线轨迹查询,订单订阅,轨迹推送,支持500多家的快递查询接口,包括主流的四通一达,支持上门取件服务,其他接口调用,修改调用指令和参数就能实现。

演示截图:

物流跟踪API-快递单订阅的更多相关文章

  1. 物流跟踪 调用快递鸟API

    概要:关于调用快递鸟API,我有几句话想说,有几行代码想写 业务需求:就是做做商城,卖卖东西.然后需要做个物流跟踪的功能 需要获取的信息大概就是这个样子 现在看这个快递怎么这么慢 如何实现? 直接调用 ...

  2. 物流跟踪API-快递单推送

    上一篇文章我们讲解了订阅服务功能.我们已经完成了如何把物流订单订阅到快递鸟,快递鸟也能接收到我们的订单信息,接下来就需要快递鸟实时的将最新的物流轨迹推送到我们服务器,我们既然要接收快递鸟的信息,就需要 ...

  3. 快递单号查询免费api接口(PHP示例)

    快递单号查询API,可以对接顺丰快递查询,邮政快递查询,中通快递查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务.对于电商企业,ERP服务企业,集成此接口到自己的软 ...

  4. PHP实现物流查询(通过快递网API实现)

    物流查询实现 引 言:目前快递公司太多了,不可能一个一个去申请api查询.这个时候,就可以通过合作,找一些中间商合作.我试了两家,一家是快递100,一家是快递网. 他们都需要申请key.但是快递100 ...

  5. 阿里云全国快递物流查询api接口

    口地址: https://market.aliyun.com/products/56928004/cmapi021863.html?spm=5176.730005.productlist.d_cmap ...

  6. APISpace 全球快递物流查询API接口 免费好用

    前言   随着我国电子商务的迅猛发展,物流行业也开始突飞猛进,人们的日常生活越来越离不开快递服务,查快递.寄快递的需求越来越大,随之而来,常用快递接口的需求也越来越大. 全国快递查询接口,支持各大快递 ...

  7. 微信小程序调用快递物流查询API的实现方法

    一. 创建index.wxml.index.wxss.index.js 附上代码: <view class='container'> <input class='info' plac ...

  8. 快递单号自动识别接口API-trackingmore

    一.快递单号自动识别接口功能说明 (1)PC电脑端.移动APP或者自建网站集成物流查询功能时,只需要用户输入单号即可,不需要输入快递公司. (2)此接口可以配合Trackingmore的快递查询API ...

  9. 个人永久性免费-Excel催化剂功能第97波-快递单号批量查询物流信息

    电商时代,快递已进千万家,做电商零售行业的,快递信息的再挖掘,也显得更有意义,是数据精细化运营中必不可少的一环.一般站在系统的角度,数据用于业务流转的增删改查使用,而对于分析需求来说,这些业务系统里集 ...

随机推荐

  1. 认识Web应用框架

    Web应用框架 Web应用框架(Web application framework)是一种开发框架,用来支持动态网站.网络应用程序及网络服务的开发.类型可以分为基于请求(request-based)的 ...

  2. linux各目录及重要目录的详细介绍

    1 目录说明 根目录 (/) /bin bin是Binary的缩写, 这个目录存放着最经常使用的命令,比如ls,cat,mkdir等 /dev dev是Device(设备)的缩写, 该目录下存放的是L ...

  3. 1209. Construct the Rectangle

    1209. Construct the Rectangle class Solution { public: /** * @param area: web page’s area * @retur ...

  4. 迷你PS小程序-集成的开放式画报、油墨电子签名、图片拖拽可单独食用

    米娜桑,哦哈哟~ 个人制作,该文章主要讲解最近基于uni-app框架编写的集图文拖拽等多方位编辑.油墨电子签名.开放式海报于一体的小程序的制作思路和实现代码. 目录 1.完整源码链接 2.实现思路 3 ...

  5. 【转】在NetBeans上搭建Android SDK环境

    本文将介绍在NetBeans 6.8上搭建Android SDK环境,目前Android在Netbeans上进行开发需要借助nbandroid的平台插件. 我们刚刚介绍过<MyEclipse上搭 ...

  6. 《【面试突击】— Redis篇》--Redis都有哪些数据类型?分别在哪些场景下使用比较合适?

    能坚持别人不能坚持的,才能拥有别人不能拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>--Redis都有哪些数据类型?分别在哪些场景下使用 ...

  7. GoCenter助力Golang全速前进

    一.背景 Go语言是Google开发的一种静态强类型.编译型.并发型,并具有垃圾回收功能的编程语言.为了方便搜索和识别,有时会将其称为Golang.自2009年11月Google正式宣布推出,成为开放 ...

  8. 小程序中button标签的open-type属性

    open-type (微信开放能力):合法值中的其中之一: getUserInfo  说明:引导用户授权     而获取用户信息,可以从bindgetuserinfo回调中获取到用户信息 而按钮的bi ...

  9. DbCommand :执行超时已过期。完成操作之前已超时或服务器未响应。

    问题:“Timeout 时间已到.在操作完成之前超时时间已过或服务器未响应.”的解决方法 在一个链接数据库的时候,老是出现超时的错误:执行超时已过期.完成操作之前已超时或服务器未响应. 就是给这个链接 ...

  10. 为什么 K8s 在阿里能成功?| 问底中国 IT 技术演进

    作者: 曾凡松 阿里云云原生应用平台高级技术专家 张振 阿里云云原生应用平台高级技术专家 导读:本文描述了阿里巴巴在容器管理领域的技术演进历程,解读了为什么 K8s 最终能够大获成功的原因,以及到今年 ...