一、地图轨迹订阅接口

1.1 接口格局

1.应用http协定表单提交的形式进行信息交互,字符编码默认对立采纳UTF-8,数据格式:application/x-www-form-urlencoded;

2.字段类型约定:须要严格根据字段表格中给出的参数格局和大小进行开发。

3.字段解析约定:参数字段中的必选字段是每次调用接口时都要求必须传入的;

1.2 申请地址

http://poll.kuaidi100.com/pol...

申请报文:

参数名是否必填类型阐明
schemastring默认是json
paramObject主体参数对象

param数据结构:

参数名是否必填类型阐明
keystring受权码,请申请企业版获取
companystring订阅的快递公司的编码,一律用小写字母
numberstring订阅的快递单号,单号的最大长度是40个字符
fromstring快递寄件地址
tostring快递收件地址
parametersObject辅助参数

parameters数据结构:

参数名是否必填类型阐明
callbackurlstring回调接口的地址
saltstring签名用随机字符串
phonestring收寄件人的挪动电话号码(只能填写一个,顺丰单号必填,其余快递公司选填)
ordertimestring订单下单工夫,格局“yyyy-MM-dd HH:mm:ss”

1.3 申请示例

schema = json  param = {    "company": "ems",    "number": "1136281381675",    "from": "广东省深圳市南山区",    "to": "北京市朝阳区",    "key": "XXX ",    "parameters": {      "callbackurl": "您的回调接口的地址,如http://www.您的域名.com/kuaidi?callbackid=...",      "salt": "*",      "phone": "",      "ordertime": "2020-12-31 08:09:00"    }  }

1.4 订阅返回后果

字段名称类型是否必填字段含意
resultBooleantrue示意胜利,false示意失败
returnCodestring返回状态码,具体见1.6附表
messagestring状态信息

1.5 订阅响应报文示例(json格局)

{  "result": true,  "returnCode": "200",  "message": "提交胜利"}

1.6 状态码附表

returnCodemassage形容
200提交胜利订阅提交胜利
400无奈解析出发地目的地无奈解析或下单工夫无奈解析
500服务器谬误快递100的服务器出理间隙或临时性异样,有时如果因为不按标准提交申请,比方快递公司参数写错等,也会报此谬误
501反复订阅此单曾经订阅胜利且目前还在跟踪过程中。若要提交屡次订阅,请在收到单号的status=abort或shutdown后隔半小时再提交订阅
502提交内容含有敏感关键字,被平安防护拦挡回调地址、提交内容蕴含敏感词,请分割快递100工作人员
600您不是非法的订阅者(即受权Key出错)账号无可用单量,须要充值
601POLL: KEY 已过期账号无可用单量,须要充值
700不反对的快递公司回绝订阅的快递公司,查看快递公司编码是否有误
701订阅方的订阅数据存在谬误(如不反对的快递公司、单号为空、单号超长等)或谬误的回调地址请查看快递公司编码、对照技术文档查看参数、在后盾调试工具测试回调地址
702POLL:辨认不到该单号对应的快递公司快递公司编码谬误或者无可用单量,须要充值

二、推送接口

1.应用http协定表单提交的形式进行信息交互,字符编码默认对立采纳UTF-8,数据格式:application/x-www-form-urlencoded;

2.字段类型约定:须要严格根据字段表格中给出的参数格局和大小进行开发。

3.字段解析约定:参数字段中的必选字段是每次调用接口时都要求必须传入的;

2.1 推送申请地址

由贵司在订阅申请中通过callbackurl字段提供

2.2 推送申请形式

post

2.3 推送输出参数

申请参数(header)

名称类型默认值
Content-Typestringapplication/x-www-form-urlencoded

申请报文(body)

参数名是否必填类型阐明
signstring订阅参数salt值不为空时,推送数据将蕴含该加密签名,加密形式:md5(param+salt)
paramObject主体参数对象

param对应参数

参数名是否必填类型阐明
statusStringpolling监控状态:polling:监控中,shutdown:完结,abort:停止,updateall:从新推送。其中当快递单为已签收时status=shutdown,当message为“3天查问无记录”或“60天无变动时”status= abort ,对于status=abort的状态,须要减少额定的解决逻辑
billstatusStringgot包含got、sending、check三个状态,因为意义不大,已弃用,请疏忽
messageString监控状态相干音讯,如:3天查问无记录,60天无变动
autoCheckString1快递公司编码是否出错,0为本推送信息对应的是贵司提交的原始快递公司编码,1为本推送信息对应的是我方纠正后的新的快递公司编码。一个单如果咱们间断3天都查不到后果,我方会(1)判断一次贵司提交的快递公司编码是否正确,如果正确,给贵司的回调接口(callbackurl)推送带有如下字段的信息:autoCheck=0、comOld与comNew都为空;(2)如果贵司提交的快递公司编码出错,咱们会帮忙用正确的快递公司编码+原来的运单号从新提交订阅并开启监控(后续如果监控到单号有更新就给贵司的回调接口(callbackurl)推送带有如下字段的信息:autoCheck=1、comOld=原来的公司编码、comNew=新的公司编码);并且给贵方的回调接口(callbackurl)推送一条含有如下字段的信息:status=abort、autoCheck=0、comOld为空、comNew=纠正后的快递公司编码。
comOldStringyuantong贵司提交的原始的快递公司编码。具体见autoCheck后阐明。若开启了国际版(即在订阅申请中减少字段interCom=1),则回调申请中暂无此字段
comNewStringems我司纠正后的新的快递公司编码。具体见autoCheck后阐明。若开启了国际版(即在订阅申请中减少字段interCom=1),则回调申请中暂无此字段
lastResultObject最新查问轨迹后果

lastResult对应参数

字段名称类型字段含意
messageString音讯体,请疏忽
stateInteger快递单以后状态,包含0在途,1揽收,2疑难,3签收,4退签,5派件,6退回,7转单,10待清关,11清关中,12已清关,13清关异样,14收件人拒签等13个状态
statusInteger通信状态,请疏忽
conditionString快递单明细状态标记,暂未实现,请疏忽
ischeckInteger是否签收标记,请疏忽,明细状态请参考state字段
comString快递公司编码,一律用小写字母
nuString单号
trailUrlString轨迹地图链接
arrivalTimeString预计达到工夫
totalTimeString均匀耗时
remainTimeString达到还需多少工夫
isLoopBoolean是否存在环路
routeInfo路由信息
└from出发地行政区信息
└number政区信息编码
└name政区信息名
└cur以后地行政区信息
└number政区信息编码
└name政区信息名
└to目的地行政区信息
└number政区信息编码
└name政区信息名
datadata最新查问后果,数组,蕴含多项,全量,倒序(即工夫最新的在最前),每项都是对象,对象蕴含字段请开展
└ contextString内容
└ timeString工夫,原始格局
└ ftimeString格式化后工夫
└statusString本数据元对应的签收状态,只有实时查问接口中提交resultv2标记后才会呈现
└areaCodeString本数据元对应的行政区域的编码,只有实时查问接口中提交resultv2标记后才会呈现
└areaNameString本数据元对应的行政区域的名称,只有实时查问接口中提交resultv2标记后才会呈现

2.4 推送输出参数示例

param = {    "status": "polling",    "billstatus": "got",    "message": "",    "autoCheck": "1",    "comOld": "yuantong",    "comNew": "ems",    "lastResult": {        "message": "ok",        "state": "0",        "status": "200",        "condition": "F00",        "ischeck": "0",        "com": "yuantong",        "nu": "V030344422",        "data": [{            "context": "上海分拨核心/装件入车扫描 ",            "time": "2012-08-28 16:33:19",            "ftime": "2012-08-28 16:33:19",            "status": "在途",            "areaCode": "310000000000",            "areaName": "上海市"        }, {            "context": "上海分拨核心/下车扫描 ",            "time": "2012-08-27 23:22:42",            "ftime": "2012-08-27 23:22:42",            "status": "在途",            "areaCode": "310000000000",            "areaName": "上海市"        }],        "routeInfo": {            "from": {                "number": "CN3100",                "name": "上海市"            },            "cur": {                "number": "CN6101",                "name": "陕西,西安市"            },            "to": {                "number": "CN6101",                "name": "陕西,西安市"            }        },        "isLoop": false,        "trailUrl": "https://api.kuaidi100.com/tools/map/bc80574d538262aecc897a469151f0e3",        "arrivalTime": "2020-12-19 12:00",        "totalTime": "2天1小时",        "remainTime": "1天2小时"    }}

2.5 轨迹链接利用示例

<img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2a1e3b91df2e4db8afb5eefc50d76c6f~tplv-k3u1fbpfcp-zoom-1.image" style="zoom:60%">

重要揭示:

(1)对于status= abort而且message中蕴含“3天”关键字而且comNew为空的快递单,须要减少以下解决逻辑:

  • 如果有专门的工作人员,能够:将快递单列举给工作人员,由工作人员判断此单是否为假单:如果此单是实在单,则将此单从新向快递100提交一次;如果此单是假单,则将此单标记为假单,而且不再将此单提交给快递100。如果没有专门的工作人员,请间接用以下第二种办法进行操作;
  • 如果没有专门的工作人员,能够:在收到status=abort而且message中蕴含“3天”关键字而且comNew为空的提醒10分钟后,将此快递单从新向快递100提交订阅,如果从新提交后依然收到status= abort,则再次从新向快递100提交,如此,在同一月中如果反复提交3~4次都依然收到status= abort,则此单为假单,不须要再将此单提交给快递100。

    对于同一天然月内反复提交的快递单,结算时只计一次费用,对于跨了两个天然月反复提交的结算单,结算两次费用。

(2)如果判断到status=abort且comNew不为空,则不须要从新提交订阅,且将贵司原来的快递公司编码改为comNew后的值,或在贵司数据库中减少一个快递公司编码为comNew+原来单号的运单;

(3)如果判断到status=polling且autoCheck=1,则此单为纠正公司编码后的跟踪信息,应保留。

  • 对于data:我方每次推送的都是残缺的、全量的快递查问后果,而不是局部最新、增量的状态。因为同一快递单查问后果的数据源可能变动,不同数据源之间的后果略有差别,倡议每次删除旧的数据后再写入新的数据。
  • 工夫倡议以ftime为准,不要应用time,time的存在仅仅为了兼容。

2.6 推送响应报文及错误码解释

参数名阐明
resulttrue示意胜利,false示意失败。如果提交回调接口的地址失败,30分钟后从新回调,3次仍旧失败的,主动放弃
returnCode200: 提交胜利 500: 服务器谬误 其余谬误请自行定义
message返回的提醒

2.7 推送返回示例

当我方调用贵方的回调接口(callbackurl)时,贵方须要先将我方提交的数据保留至贵方的数据库,接着向我方返回是否胜利接管的响应报文及代码,即贵公司间接在回调接口的地址的response中填写如下内容:

{  "result":true,  "returnCode":"200",  "message":"胜利"} 

留神:对于status= abort(message中蕴含“3天查问无记录”或者“60天无变动”)的快递单,也须要返回胜利接管的响应报文及代码。

2.8 运单签收状态(已签收、退回等)增值服务阐明

默认状态下,在推送时咱们提供了ischeck字段示意快递单是否签收(含失常签收,退回签收两种状况),通过state字段提供签收的具体状态,state具体如下:

状态值名称含意
0在途快件处于运输过程中
1揽收快件已由快递公司揽收
2疑难快递100无奈解析的状态,或者是须要人工染指的状态, 比方说收件人电话谬误。
3签收失常签收
4退签货物退回发货人并签收
5派件货物正在进行派件
6退回货物正处于返回发货人的途中
7转投货物转给其余快递公司邮寄
10待清关货物期待清关
11清关中货物正在清关流程中
12已清关货物已实现清关流程
13清关异样货物在清关过程中出现异常
14拒签收件人明确拒收

签收状态服务可能对目前市面上大多数快递单状态进行精确断定。

若state=0,则condition如下值代表如下状态:

状态值名称含意
CU001期待清关货物期待清关
CU002清关中货物正在清关流程中
CU003已清关货物已实现清关流程
CU004清关异样货物在清关过程中出现异常
JQ001收件人拒签收件人明确拒收

三、快递公司编码

<u>下载表格</u>

一、地图轨迹推送服务API产品介绍

快递100地图轨迹推送服务接口提供快递单号的地图轨迹展现、物流节点文字信息及预计送达工夫,可视化展现物流轨迹信息。

通过地图轨迹推送服务接口,企业提交快递单号,快递100接管到后便对这些运单进行跟踪,当运单状态发生变化的时候,快递100便通过调用回调接口将运单的跟踪信息和地图轨迹推送给贵公司,直到这些运单号的生命周期完结(个别以“已签收”为准)。对于某个单号,当贵方正确提交订阅了后,咱们个别会在15分钟左右后进行第一次监控,如果监控到单号自身有了跟踪信息,即进行第一次推送,否则期待下一次监控。尔后咱们个别每4小时进行一次监控,并会依据单号的状态等因素作调整。

二、地图轨迹推送服务API利用场景

  1. 让顾客登录您的网站、APP、小程序后,间接在“我的订单”页面内就能看到订单的物流状态和快递地图轨迹;
  2. 和物流轨迹文字信息一起展现给顾客,可视化订单的在途状态;
  3. 取得物流路径城市的信息,监控快递时效;
  4. 预估包裹的达到工夫,以及提醒包裹还需多长时间达到,辨认快递状态·,发送揭示客户签收短信;
  5. 能开发主动的、批量查单功能,主动筛选出“已签收”、“疑难件”等状态的单号,加重跟单人员的压力;
  6. 扭转订单的状态与交易流程,例如只有运单号变为“已签收”,就能让订单变更为能够确认退换货等;
  7. 核销销售人员,依据“已签收”的运复数,就能算出销售人员的业绩;
  8. 评估与抉择快递公司,可取得快递理论在途工夫,评估快递公司的时效,优化快递抉择;
  9. 助结算运费,找出“已签收”的单及签收工夫,便能轻松应答货到付款的结算与对账;

三、系统结构与流程

<img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0fc2759fd0754030a6992d61b6e363ec~tplv-k3u1fbpfcp-zoom-1.image" alt="img" style="zoom: 67%;" />

四、快递信息推送API费用结算

1.免费形式

地图轨迹推送服务属于增值类服务,该服务同时反对物流文字信息以及地图链接,即蕴含了快递信息推送服务的性能。注册快递100企业账号后能够在企业治理后盾查看地图轨迹套餐价格并购买。

2.免费价格

新品限时特惠,流动工夫:2021年1月1日-2021年3月31日,充值后即可开明应用。

原价/元优惠价/元单量赠送/单优惠单价/元
300020002000050000.08
15001000100002000约0.084
7505005000500约0.09
15010010000.1

快递查问地图轨迹按单计费,一个天然月内同一个运单屡次查问只收一次费用。该接口独自计费。

3. 开具发票

快递100反对开具增值税发票,用户购买实现后可在企业治理后盾-费用核心-领取记录-申请开票。默认开具电子增值税普通发票,1000元以上可反对开具增值税专用发票。

官网源文档:

http://api.kuaidi100.com/docu...
https://api.kuaidi100.com/doc...
http://api.kuaidi100.com/docu...