共计 7369 个字符,预计需要花费 19 分钟才能阅读完成。
一、地图轨迹订阅接口
1.1 接口格局
1. 应用 http 协定表单提交的形式进行信息交互,字符编码默认对立采纳 UTF-8,数据格式:application/x-www-form-urlencoded;
2. 字段类型约定:须要严格根据字段表格中给出的参数格局和大小进行开发。
3. 字段解析约定:参数字段中的必选字段是每次调用接口时都要求必须传入的;
1.2 申请地址
http://poll.kuaidi100.com/pol…
申请报文:
参数名 | 是否必填 | 类型 | 阐明 |
---|---|---|---|
schema | 否 | string | 默认是 json |
param | 是 | Object | 主体参数对象 |
param 数据结构:
参数名 | 是否必填 | 类型 | 阐明 |
---|---|---|---|
key | 是 | string | 受权码,请申请企业版获取 |
company | 是 | string | 订阅的快递公司的编码,一律用小写字母 |
number | 是 | string | 订阅的快递单号,单号的最大长度是 40 个字符 |
from | 是 | string | 快递寄件地址 |
to | 是 | string | 快递收件地址 |
parameters | 是 | Object | 辅助参数 |
parameters 数据结构:
参数名 | 是否必填 | 类型 | 阐明 |
---|---|---|---|
callbackurl | 是 | string | 回调接口的地址 |
salt | 否 | string | 签名用随机字符串 |
phone | 否 | string | 收寄件人的挪动电话号码(只能填写一个,顺丰单号必填,其余快递公司选填) |
ordertime | 否 | string | 订单下单工夫,格局“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 订阅返回后果
字段名称 | 类型 | 是否必填 | 字段含意 |
---|---|---|---|
result | Boolean | 是 | true 示意胜利,false 示意失败 |
returnCode | string | 是 | 返回状态码,具体见 1.6 附表 |
message | string | 是 | 状态信息 |
1.5 订阅响应报文示例(json 格局)
{
"result": true,
"returnCode": "200",
"message": "提交胜利"
}
1.6 状态码附表
returnCode | massage | 形容 |
---|---|---|
200 | 提交胜利 | 订阅提交胜利 |
400 | 无奈解析 | 出发地目的地无奈解析或下单工夫无奈解析 |
500 | 服务器谬误 | 快递 100 的服务器出理间隙或临时性异样,有时如果因为不按标准提交申请,比方快递公司参数写错等,也会报此谬误 |
501 | 反复订阅 | 此单曾经订阅胜利且目前还在跟踪过程中。若要提交屡次订阅,请在收到单号的 status=abort 或 shutdown 后隔半小时再提交订阅 |
502 | 提交内容含有敏感关键字,被平安防护拦挡 | 回调地址、提交内容蕴含敏感词,请分割快递 100 工作人员 |
600 | 您不是非法的订阅者(即受权 Key 出错) | 账号无可用单量,须要充值 |
601 | POLL: KEY 已过期 | 账号无可用单量,须要充值 |
700 | 不反对的快递公司 | 回绝订阅的快递公司,查看快递公司编码是否有误 |
701 | 订阅方的订阅数据存在谬误(如不反对的快递公司、单号为空、单号超长等)或谬误的回调地址 | 请查看快递公司编码、对照技术文档查看参数、在后盾调试工具测试回调地址 |
702 | POLL: 辨认不到该单号对应的快递公司 | 快递公司编码谬误或者无可用单量,须要充值 |
二、推送接口
1. 应用 http 协定表单提交的形式进行信息交互,字符编码默认对立采纳 UTF-8,数据格式:application/x-www-form-urlencoded;
2. 字段类型约定:须要严格根据字段表格中给出的参数格局和大小进行开发。
3. 字段解析约定:参数字段中的必选字段是每次调用接口时都要求必须传入的;
2.1 推送申请地址
由贵司在订阅申请中通过 callbackurl 字段提供
2.2 推送申请形式
post
2.3 推送输出参数
申请参数(header)
名称 | 类型 | 默认值 |
---|---|---|
Content-Type | string | application/x-www-form-urlencoded |
申请报文(body)
参数名 | 是否必填 | 类型 | 阐明 |
---|---|---|---|
sign | 否 | string | 订阅参数 salt 值不为空时,推送数据将蕴含该加密签名,加密形式:md5(param+salt) |
param | 是 | Object | 主体参数对象 |
param 对应参数
参数名 | 是否必填 | 类型 | 阐明 |
---|---|---|---|
status | String | polling | 监控状态:polling: 监控中,shutdown: 完结,abort: 停止,updateall:从新推送。其中当快递单为已签收时 status=shutdown,当 message 为“3 天查问无记录”或“60 天无变动时”status= abort,对于 status=abort 的状态,须要减少额定的解决逻辑 |
billstatus | String | got | 包含 got、sending、check 三个状态,因为意义不大,已弃用,请疏忽 |
message | String | 监控状态相干音讯,如:3 天查问无记录,60 天无变动 | |
autoCheck | String | 1 | 快递公司编码是否出错,0 为本推送信息对应的是贵司提交的原始快递公司编码,1 为本推送信息对应的是我方纠正后的新的快递公司编码。一个单如果咱们间断 3 天都查不到后果,我方会(1)判断一次贵司提交的快递公司编码是否正确,如果正确,给贵司的回调接口(callbackurl)推送带有如下字段的信息:autoCheck=0、comOld 与 comNew 都为空;(2)如果贵司提交的快递公司编码出错,咱们会帮忙用正确的快递公司编码 + 原来的运单号从新提交订阅并开启监控(后续如果监控到单号有更新就给贵司的回调接口(callbackurl)推送带有如下字段的信息:autoCheck=1、comOld= 原来的公司编码、comNew= 新的公司编码);并且给贵方的回调接口(callbackurl)推送一条含有如下字段的信息:status=abort、autoCheck=0、comOld 为空、comNew= 纠正后的快递公司编码。 |
comOld | String | yuantong | 贵司提交的原始的快递公司编码。具体见 autoCheck 后阐明。若开启了国际版(即在订阅申请中减少字段 interCom=1),则回调申请中暂无此字段 |
comNew | String | ems | 我司纠正后的新的快递公司编码。具体见 autoCheck 后阐明。若开启了国际版(即在订阅申请中减少字段 interCom=1),则回调申请中暂无此字段 |
lastResult | Object | 最新查问轨迹后果 |
lastResult 对应参数
字段名称 | 类型 | 字段含意 |
---|---|---|
message | String | 音讯体,请疏忽 |
state | Integer | 快递单以后状态,包含 0 在途,1 揽收,2 疑难,3 签收,4 退签,5 派件,6 退回,7 转单,10 待清关,11 清关中,12 已清关,13 清关异样,14 收件人拒签等 13 个状态 |
status | Integer | 通信状态,请疏忽 |
condition | String | 快递单明细状态标记,暂未实现,请疏忽 |
ischeck | Integer | 是否签收标记,请疏忽,明细状态请参考 state 字段 |
com | String | 快递公司编码, 一律用小写字母 |
nu | String | 单号 |
trailUrl | String | 轨迹地图链接 |
arrivalTime | String | 预计达到工夫 |
totalTime | String | 均匀耗时 |
remainTime | String | 达到还需多少工夫 |
isLoop | Boolean | 是否存在环路 |
ΘrouteInfo | 路由信息 | |
└Θfrom | 出发地行政区信息 | |
└number | 政区信息编码 | |
└name | 政区信息名 | |
└Θcur | 以后地行政区信息 | |
└number | 政区信息编码 | |
└name | 政区信息名 | |
└Θto | 目的地行政区信息 | |
└number | 政区信息编码 | |
└name | 政区信息名 | |
Θdata | data | 最新查问后果,数组,蕴含多项,全量,倒序(即工夫最新的在最前),每项都是对象,对象蕴含字段请开展 |
└ context | String | 内容 |
└ time | String | 工夫,原始格局 |
└ ftime | String | 格式化后工夫 |
└status | String | 本数据元对应的签收状态,只有实时查问接口中提交 resultv2 标记后才会呈现 |
└areaCode | String | 本数据元对应的行政区域的编码,只有实时查问接口中提交 resultv2 标记后才会呈现 |
└areaName | String | 本数据元对应的行政区域的名称,只有实时查问接口中提交 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 推送响应报文及错误码解释
参数名 | 阐明 |
---|---|
result | true 示意胜利,false 示意失败。如果提交回调接口的地址失败,30 分钟后从新回调,3 次仍旧失败的,主动放弃 |
returnCode | 200: 提交胜利 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 利用场景
- 让顾客登录您的网站、APP、小程序后,间接在“我的订单”页面内就能看到订单的物流状态和快递地图轨迹;
- 和物流轨迹文字信息一起展现给顾客,可视化订单的在途状态;
- 取得物流路径城市的信息,监控快递时效;
- 预估包裹的达到工夫,以及提醒包裹还需多长时间达到,辨认快递状态·,发送揭示客户签收短信;
- 能开发主动的、批量查单功能,主动筛选出“已签收”、“疑难件”等状态的单号,加重跟单人员的压力;
- 扭转订单的状态与交易流程,例如只有运单号变为“已签收”,就能让订单变更为能够确认退换货等;
- 核销销售人员,依据“已签收”的运复数,就能算出销售人员的业绩;
- 评估与抉择快递公司,可取得快递理论在途工夫,评估快递公司的时效,优化快递抉择;
- 助结算运费,找出“已签收”的单及签收工夫,便能轻松应答货到付款的结算与对账;
三、系统结构与流程
<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 日,充值后即可开明应用。
原价 / 元 | 优惠价 / 元 | 单量 | 赠送 / 单 | 优惠单价 / 元 |
---|---|---|---|---|
2000 | 20000 | 5000 | 0.08 | |
1000 | 10000 | 2000 | 约 0.084 | |
500 | 5000 | 500 | 约 0.09 | |
100 | 1000 | 0.1 |
快递查问地图轨迹按单计费,一个天然月内同一个运单屡次查问只收一次费用。该接口独自计费。
3. 开具发票
快递 100 反对开具增值税发票,用户购买实现后可在企业治理后盾 - 费用核心 - 领取记录 - 申请开票。默认开具电子增值税普通发票,1000 元以上可反对开具增值税专用发票。
官网源文档:
http://api.kuaidi100.com/docu…
https://api.kuaidi100.com/doc…
http://api.kuaidi100.com/docu…