物流跟踪API-快递单订阅
上一篇文章我们讲解了轨迹查询的接口,通过快递鸟接口可以实现实时查询物流轨迹,这次给大家推荐订阅服务功能。
为了更好的理解订阅服务,我们来做个对比,
即时查询是主动查询物流轨迹,需要我们主动调用接口才能获得物流轨迹。
快递单订阅是被动接收物流轨迹,我们把大量的物流订单通过接口委托给快递鸟,
快递鸟对订单进行实时监控,当物流轨迹有更新时,快递鸟通过内部处理,计算运单预计到达时间、全流程的物流状态,推送到我们指定的接口地址。每一次的物流轨迹更新,快递鸟就会调用一次我们提供的接口地址,直到订单签收后才结束订阅。
有些朋友可能会问,我只要使用即时接口查询快递就可以了,为什么还要使用订阅服务功能?
目的只有一个,减少公司开发成本,提升用户体验。
假设我们的电商平台,每天有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 |
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 |
更新时间 |
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-快递单订阅的更多相关文章
- 物流跟踪 调用快递鸟API
概要:关于调用快递鸟API,我有几句话想说,有几行代码想写 业务需求:就是做做商城,卖卖东西.然后需要做个物流跟踪的功能 需要获取的信息大概就是这个样子 现在看这个快递怎么这么慢 如何实现? 直接调用 ...
- 物流跟踪API-快递单推送
上一篇文章我们讲解了订阅服务功能.我们已经完成了如何把物流订单订阅到快递鸟,快递鸟也能接收到我们的订单信息,接下来就需要快递鸟实时的将最新的物流轨迹推送到我们服务器,我们既然要接收快递鸟的信息,就需要 ...
- 快递单号查询免费api接口(PHP示例)
快递单号查询API,可以对接顺丰快递查询,邮政快递查询,中通快递查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务.对于电商企业,ERP服务企业,集成此接口到自己的软 ...
- PHP实现物流查询(通过快递网API实现)
物流查询实现 引 言:目前快递公司太多了,不可能一个一个去申请api查询.这个时候,就可以通过合作,找一些中间商合作.我试了两家,一家是快递100,一家是快递网. 他们都需要申请key.但是快递100 ...
- 阿里云全国快递物流查询api接口
口地址: https://market.aliyun.com/products/56928004/cmapi021863.html?spm=5176.730005.productlist.d_cmap ...
- APISpace 全球快递物流查询API接口 免费好用
前言 随着我国电子商务的迅猛发展,物流行业也开始突飞猛进,人们的日常生活越来越离不开快递服务,查快递.寄快递的需求越来越大,随之而来,常用快递接口的需求也越来越大. 全国快递查询接口,支持各大快递 ...
- 微信小程序调用快递物流查询API的实现方法
一. 创建index.wxml.index.wxss.index.js 附上代码: <view class='container'> <input class='info' plac ...
- 快递单号自动识别接口API-trackingmore
一.快递单号自动识别接口功能说明 (1)PC电脑端.移动APP或者自建网站集成物流查询功能时,只需要用户输入单号即可,不需要输入快递公司. (2)此接口可以配合Trackingmore的快递查询API ...
- 个人永久性免费-Excel催化剂功能第97波-快递单号批量查询物流信息
电商时代,快递已进千万家,做电商零售行业的,快递信息的再挖掘,也显得更有意义,是数据精细化运营中必不可少的一环.一般站在系统的角度,数据用于业务流转的增删改查使用,而对于分析需求来说,这些业务系统里集 ...
随机推荐
- 【题解】CF894E Ralph and Mushrooms (缩点)
[题解]CF894E Ralph and Mushrooms (缩点) 这是紫?给个解方程算法 考虑一条边若可以重复遍历说明一定有环,有环的话一定会把环上的蘑菇榨干,考虑一条边从全部到榨干的贡献是多少 ...
- 我的代码真的没有bug,稍等,先试试小黄鸭调试法
今天测试同学为了赶进度,加班去测试我的功能. 因为我的代码都写完了,也没有陪测的必要,所以就没去了~ 下午第一个问题提过来,根据经验,这个应该是测试的逻辑问题,最后他自己也发现了. 过了一会,提了第二 ...
- 「P5004」专心OI - 跳房子 解题报告
题面 把\(N\)个无色格子排成一行,选若干个格子染成黑色,要求每个黑色格子之间至少间隔\(M\)个格子,求方案数 思路: 矩阵加速 根据题面,这一题似乎可以用递推 设第\(i\)个格子的编号为\(i ...
- Kubernetes 会不会“杀死” DevOps?
作者丨孙健波(天元) 阿里巴巴技术专家 导读:DevOps 这个概念最早是在 2007 年提出的,那时云计算基础设施的概念也才刚刚提出没多久,而随着互联网的逐渐普及,应用软件的需求爆发式增长,软件开 ...
- 《C++Primer》第五版习题答案--第三章【学习笔记】
[C++Primer]第五版[学习笔记]习题解答第三章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/10 第三章:字符串,向量和数组 ...
- python之嵌套函数调用
#定义嵌套函数 def func1(): print('this is func1') def func2(): print('this is func2')#调用1func1()输出:this is ...
- 《【面试突击】— Redis篇》-- Redis的线程模型了解吗?为啥单线程效率还这么高?
能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis的线程模型了解吗?为啥单线程效率还这 ...
- cogs 3008. 朋友圈
3008. 朋友圈 ★★ 输入文件:friendscircle.in 输出文件:friendscircle.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] NO ...
- 读取Core下的appsettings.json的值的时候中文乱码
这个百度一下一大堆,我就用的这个:然后重新生成一次就好了. 2.有的是更改VS的什么高级保存之类的,我记得之气设置过, 然后就是:这篇文章
- 《C# 爬虫 破境之道》:概述
第一节:写作本书的目的 关于笔者 张晓亭(Mike Cheers),1982年出生,内蒙古辽阔的大草原是我的故乡. 没有高学历,没有侃侃而谈的高谈阔论,拥有的就是那一份对技术的执著,对自我价值的追求. ...