因为需要对接物流/快递公司接口,时常会陷入选择服务商的困境,这次我整理了市场上几乎所有主流的物流/快递api接口,并且按照支持数量、接口的丰富性/稳定性/即时性,以及价格等因素,对各大服务商做了一个评级。入选的物流API服务商有快递鸟、Trackingmore、快递100等。
每个服务商官网都有详细的接入文档,这里不再一一叙述,仅举一个例子。
以快递鸟为例,注册后,就可以获取API,有专人对接入群,通过联调测试后,就可以完成对接,十分便捷。以下为即时查询API的技术对接参数:
一、接口描述/说明
(1)查询接口支持按照运单号查询(单个查询)。
(2)接口需要指定快递单号的快递公司编码,格式不对或则编码错误都会返失败的信息。
如:EMS物流单号应选择快递公司编码(EMS) 查看快递公司编码
(3)返回的物流跟踪信息按照发生的时间升序排列。
(4)接口指令1002。
(5)接口支持的消息接收方式为 HTTP POST,请求方法的编码格式(utf-8): "application/x-www-form-urlencoded;charset=utf-8"。
(6)接口地址: API地址:http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx
(2)接口需要指定快递单号的快递公司编码,格式不对或则编码错误都会返失败的信息。
如:EMS物流单号应选择快递公司编码(EMS) 查看快递公司编码
(3)返回的物流跟踪信息按照发生的时间升序排列。
(4)接口指令1002。
(5)接口支持的消息接收方式为 HTTP POST,请求方法的编码格式(utf-8): "application/x-www-form-urlencoded;charset=utf-8"。
(6)接口地址: API地址:http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx
请求系统级参数说明:
参数名称 | 类型 | 说明 | 必须要求 |
---|---|---|---|
RequestData | String | 请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。 | R |
EBusinessID | String | 商户ID,请在我的服务页面查看。 | R |
RequestType | String | 请求指令类型:1002 | R |
DataSign | String | 数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后 进行URL(utf-8)编码。详细过程请查看Demo。 | R |
DataType | String | 请求、返回数据类型:2-json; | O |
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
二、接口参数
请求内容字段定义:
参数名称 | 类型 | 说明 | 必须要求 |
---|---|---|---|
OrderCode | String | 订单编号 | O |
ShipperCode | String | 快递公司编码 | R |
LogisticCode | String | 物流单号 | R |
返回参数定义:
参数名称 | 类型 | 说明 | 必须要求 |
---|---|---|---|
EBusinessID | String | 用户ID | R |
OrderCode | String | 订单编号 | O |
ShipperCode | String | 快递公司编码 | R |
LogisticCode | String | 物流运单号 | O |
Success | Bool | 成功与否 | R |
Reason | String | 失败原因 | O |
State | String | 物流状态:2-在途中,3-签收,4-问题件 | R |
Traces | |||
AcceptTime | String | 时间 | R |
AcceptStation | String | 描述 | R |
Remark | String | 备注 | O |
三、示例
请求示例 JSON
{
"OrderCode": "",
"ShipperCode": "SF",
"LogisticCode": "118650888018"
}
返回示例 JSON
没有物流轨迹的
{
"EBusinessID": "1109259",
"Traces": [],
"OrderCode": "",
"ShipperCode": "SF",
"LogisticCode": "118461988807",
"Success": false,
"Reason": null
}
有物流轨迹的
{
"EBusinessID": "1109259",
"OrderCode": "",
"ShipperCode": "SF",
"LogisticCode": "118461988807",
"Success": true,
"State": 3,
"Reason": null,
"Traces": [
{
"AcceptTime": "2014/06/25 08:05:37",
"AcceptStation": "正在派件..(派件人:邓裕富,电话:18718866310)[深圳 市]",
"Remark": null
},
{
"AcceptTime": "2014/06/25 04:01:28",
"AcceptStation": "快件在 深圳集散中心 ,准备送往下一站 深圳 [深圳市]",
"Remark": null
},
{
"AcceptTime": "2014/06/25 01:41:06",
"AcceptStation": "快件在 深圳集散中心 [深圳市]",
"Remark": null
},
{
"AcceptTime": "2014/06/24 20:18:58",
"AcceptStation": "已收件[深圳市]",
"Remark": null
},
{
"AcceptTime": "2014/06/24 20:55:28",
"AcceptStation": "快件在 深圳 ,准备送往下一站 深圳集散中心 [深圳市]",
"Remark": null
},
{
"AcceptTime": "2014/06/25 10:23:03",
"AcceptStation": "派件已签收[深圳市]",
"Remark": null
},
{
"AcceptTime": "2014/06/25 10:23:03",
"AcceptStation": "签收人是:已签收[深圳市]",
"Remark": null
}
]
}