常用地址
开放平台控制台
https://open.sf-express.com/console/BusinessCenter/DeveloperAccess
文档
https://open.sf-express.com/Api?category=1&apiClassify=1
查询地址
路由查询
路由查询就是获取快递物流的过程记录。
测试的时候需要校验码
XA15VpNSN2kvqgmMMBdbIjVJSHEa5OBN
此路由查询接口支持三类查询方式:
根据顺丰运单号查询:
查询请求中提供接入编码与运单号,验证接入编码与所有请求运单号的归属关系,系统只返回具有正确归属关系的运单路由信息。
根据客户订单号查询:
查询请求中提供接入编码与订单号,验证接入编码与所有请求订单号的归属关系,对于归属关系正确的订单号,找到对应的运单号,然后返回订单对应运单号的路由信息。适用于通过下单的客户订单。
根据
运单号+运单对应的收寄人任一方电话号码后4位
(参数checkPhoneNo中传入)查询,系统校验信息匹配将返回对应运单路由信息。一次性查多个路由,checkPhoneNo传入多个电话号码后4位,用英文逗号隔开,作为一个字符串
其实本质上是两种:
- 通过下单接口的单子,根据订单号或运单号查询。
- 外部的单子通过运单号和手机号后4位查询。
请求报文
# | 属性名 | 类型(约束) | 必填 | 默认值 | 描述 |
---|---|---|---|---|---|
1 | language | String(10) | 否 | 响应报文的语言, 缺省值为zh-CN,目前支持以下值zh-CN 表示中文简体, zh-TW或zh-HK或 zh-MO表示中文繁体, en表示英文 | |
2 | trackingType | Number(2) | 是 | 1 | 查询号类别: 1:根据顺丰运单号查询,trackingNumber将被当作顺丰运单号处理 2:根据客户订单号查询,trackingNumber将被当作客户订单号处理 |
3 | trackingNumber | List<String> |
是 | 查询号: trackingType=1,则此值为顺丰运单号 如果trackingType=2,则此值为客户订单号 | |
4 | methodType | Number(1) | 否 | 1 | 路由查询类别: 1:标准路由查询 2:定制路由查询 |
5 | referenceNumber | String(4000) | 否 | 参考编码(目前针对亚马逊客户,由客户传) | |
6 | checkPhoneNo | String(30) | 否 | 电话号码验证 |
请求报文示例
1 | { |
注意
他有两个环境
沙箱环境
和生产环境
沙箱环境返回的数据都是假数据,不能用于参考。
生产环境获取到的才是真实的数据。
返回的数据中apiResultData
是字符串,我们转成对象后结构是这样的
我们关心的是这几个属性
序号 | 参数列表 | 类型 | 是否必传 | 含义 |
---|---|---|---|---|
1 | acceptTime | Date | 是 | 路由节点发生的时间,格式:YYYY-MM- DD HH24:MM:SS,示例:2012-7-30 09:30:00 |
2 | acceptAddress | String(100) | 否 | 路由节点发生的地点 |
3 | remark | String(150) | 是 | 路由节点具体描述 |
4 | opCode | String(20) | 是 | 路由节点操作码 |
我们可以根据opCode
获取订单的状态
常用的opCode
- 揽收50
- 签收80
- 订单结束8000
经测试
揽收
和订单结束
可能没有,但是签收
是有的。
所有的代码
https://open.sf-express.com/developSupport/734349?activeIndex=589678
路由注册
如果我们已有单号,想监听订单路由变化,可以调用这个接口
下单接口
通过顺丰平台下单,会自动分配运单号和快递员取件。
不支持用户已发的快递再通过快递单号下单。
路由推送接口
通过路由注册或者下单接口,都可以路由推送接口监听路由的变化