关于javascript:快递100电商快递地图轨迹推送服务API接口案例代码

96次阅读

共计 7369 个字符,预计需要花费 19 分钟才能阅读完成。

一、地图轨迹订阅接口

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…

正文完
 0