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

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

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

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

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

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

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

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

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

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

物流跟踪API-快递单订阅-LMLPHP

一、接口描述/说明

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-快递单订阅-LMLPHP

05-11 22:21