上一篇文章我们讲解了订阅服务功能。我们已经完成了如何把物流订单订阅到快递鸟,快递鸟也能接收到我们的订单信息,接下来就需要快递鸟实时的将最新的物流轨迹推送到我们服务器,我们既然要接收快递鸟的信息,就需要提供一个服务地址给快递鸟,以C#为列,我们新建一个接收页面,我的接收文件: testReceive.aspx,把他部署到服务器,
接收地址:http://www.你的域名.com/testReceive.aspx
登陆快递鸟官网,通过快递鸟提供的沙箱调试页面进去测试接口
调试页面地址:
http://kdniao.com/UserCenter/v2/SandBox/PushQueryParam.aspx
测试的截图:
一、接口描述/说明
推送接口(商户实现)
(1)客户需要按快递鸟要求开发接口,保证信息的正常接收。
(2)快递鸟主动推送时,物流信息接收接口由客户提供。
(3)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。
(4)运单物流信息全量推送(每次推送的运单物流信息包括运单当前所有的的物流信息)。
请求系统级参数说明:
参数名称 | 类型 | 说明 | 必须要求 |
RequestData | String | 请求内容需进行URL(utf-8)编码。请求内容只支持JSON格式。 | R |
RequestType | String | 101-轨迹查询结果, 107-货款状态 | R |
DataSign | String | 数据内容签名(把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码) | R |
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
二、接口参数
推送接口
应用级输入参数
参数名称 | 类型 | 说明 | 必须要求 |
EBusinessID | String | 用户电商ID | R |
PushTime | String | 推送时间 | R |
Count | String | 推送物流单号轨迹个数 | R |
Data | String | 推送物流单号轨迹集合 | R |
订阅查询结果(RequestType:101)
通过轨迹查询(订阅查询)接口订阅到快递鸟的数据,快递鸟推送时,会将推送的RequestType的值置为101,同时返回下列数据
请求内容字段定义:
参数 | 类型 | 说明 | 必须要求 | |
Data | EBusinessID | String | 商户ID | O |
ShipperCode | String | 快递公司编码 | R | |
LogisticCode | String | 快递单号 | R | |
Success | Bool | 成功与否:true,false | R | |
Reason | String | 失败原因 | O | |
State | String | 物流状态: 0-无轨迹,1-已揽收,2-在途中,3-签收,4-问题件 | R | |
CallBack | String | 订阅接口的Bk值 | O | |
Traces | ||||
Traces | AcceptTime | String | 时间 | R |
AcceptStation | String | 描述 | R | |
Remark | String | 备注 | O | |
EstimatedDeliveryTime | String | 预计到达时间yyyy-mm-dd | O |
货款状态(RequestType:107)
用户通过电子面单使用快递鸟货到付款等金融服务时,快递鸟会将该订单的金融状态通过接口推送给用户。
请求内容字段定义:
参数名称 | 类型 | 说明 | 必须要求 | |
Data | EBusinessID | String | 用户电商ID | O |
OrderCode | String | 订单编号 | O | |
ShipperCode | String | 快递公司编码 | R | |
LogisticCode | String | 物流运单号 | R | |
Success | Bool | 成功与否 | R | |
Reason | String | 失败原因 | O | |
State | String | 物流状态:0-无轨迹,1-已揽收, 2-在途中 201-到达派件城市,3-签收,4-问题件 | R | |
CallBack | String | 订阅接口的Bk值 | O | |
OrderState | String | 订单货款状态:1-待出款;2-已出款;3-已收款 | O | |
AccountName | String | 返款银行卡开户人(例:**伟、*佳) | O | |
AccountTel | String | 返款银行卡手机末四位 | O | |
AccountNum | String | 返款银行卡末四位 | O |
返回参数定义
参数名称 | 类型 | 说明 | 必须要求 |
EBusinessID | String | 用户ID | R |
UpdateTime | String | 时间 | R |
Success | Bool | 成功与否:true,false | R |
Reason | String | 失败原因 | O |
推送接口(商户实现)
请求示例 JSON (订阅查询结果)
{
"EBusinessID": "1109259",
"Count": "2",
"PushTime": "2015-3-11 16:21:06",
"Data": [
{
"EBusinessID":
"1109259",
"OrderCode":
"",
"ShipperCode":
"EMS",
"LogisticCode":
"5042260908504",
"Success": true,
"Reason":
"",
"State":
"2",
"CallBack":
"0",
"Traces": [
{
"AcceptTime":
"2015-03-06 21:16:58",
"AcceptStation": "深圳市横岗速递营销部已收件,(揽投员姓名:钟定基;联系电话:)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-07 14:25:00",
"AcceptStation": "离开深圳市 发往广州市",
"Remark":
""
},
{
"AcceptTime":
"2015-03-08 00:17:00",
"AcceptStation": "到达广东速递物流公司广航中心处理中心(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-08 01:15:00",
"AcceptStation": "离开广州市 发往北京市(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-09 09:01:00",
"AcceptStation": "到达北京黄村转运站处理中心(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-09 18:39:00",
"AcceptStation": "离开北京市 发往呼和浩特市(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-10 18:06:00",
"AcceptStation": "到达 呼和浩特市 处理中心",
"Remark":
""
},
{
"AcceptTime":
"2015-03-11 09:53:48",
"AcceptStation": "呼和浩特市邮政速递物流分公司金川揽投部安排投递(投递员姓名:安长虹;联系电话:18047140142)",
"Remark":
""
}
]
},
{
"EBusinessID":
"1109259",
"OrderCode":
"",
"ShipperCode":
"EMS",
"LogisticCode":
"5042260943004",
"Success": true,
"Reason":
"",
"State":
"2",
"CallBack":
"0",
"Traces": [
{
"AcceptTime":
"2015-03-07 15:26:09",
"AcceptStation": "深圳市横岗速递营销部已收件,(揽投员姓名:周宏彪;联系电话:13689537568)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-08 16:32:00",
"AcceptStation": "离开深圳市 发往广州市",
"Remark":
""
},
{
"AcceptTime":
"2015-03-09 00:58:00",
"AcceptStation": "到达广东速递物流公司广航中心处理中心(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-09 01:15:00",
"AcceptStation": "离开广州市 发往北京市(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-10 05:20:00",
"AcceptStation": "到达北京黄村转运站处理中心(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-10 11:59:00",
"AcceptStation": "离开北京市 发往廊坊市(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-10 14:23:00",
"AcceptStation": "到达廊坊市处理中心(经转)",
"Remark":
""
},
{
"AcceptTime":
"2015-03-11 08:55:00",
"AcceptStation": "离开廊坊市 发往保定市(经转)",
"Remark":
""
}
]
}
]
}
请求示例 JSON格式 (货款状态)
{
"EBusinessID": "1109259",
"Count": "2",
"PushTime": "2015-3-11 16:21:06",
"Data": [
{
"EBusinessID":
"1109259",
"OrderCode":
"",
"ShipperCode":
"EMS",
"LogisticCode":
"5042260908504",
"Success":
true,
"Reason":
"",
"State":
"2",
"CallBack":
"0",
"OrderState":"1",
"AccountName":"张三",
"AccountTel":"13800000000",
"AccountNum":"0321"
},
{
"EBusinessID":
"1109259",
"OrderCode":
"",
"ShipperCode":
"EMS",
"LogisticCode":
"5042260908522",
"Success": true,
"Reason":
"",
"State":
"2",
"CallBack":
"0",
"OrderState":"1",
"AccountName":"张三",
"AccountTel":"13800000011",
"AccountNum":"0321"
}
]
}
返回示例 JSON
{
"EBusinessID": "1151847",
"UpdateTime": "2016-08-09 16:42:38",
"Success": true,
"Reason": ""
}
提供源码下载:
https://download.csdn.net/download/yanghanwen/12139326
调用第三方物流接口,替换自己的key就能直接使用,主要实现了物流在线轨迹查询,订单订阅,轨迹推送,支持500多家的快递查询接口,包括主流的四通一达,支持上门取件服务,其他接口调用,修改调用指令和参数就能实现。