快递查询订阅物流推送
该接口可自动推送快递信息,按单号收费(自动识别单号),定时跟踪监控,主动提交查询请求,实时返回物流信息。覆盖 顺丰、邮政,极兔,申通、圆通、韵达、中通、百世、EMS、天天、国通、德邦、宅急送等600家以上快递公司。
官网购买的套餐通过API调用时请使用“扣套餐次数”密钥进行调用
GEThttps://api.shuxuntech.com/v1/express/subscribe
¥0.0325元 / 次
阶梯计价,用量越大单价越低
企业认证后额外赠送 666 次调用额度
01 — 接口说明
请求参数与返回结果
所有请求需在 header 中携带签名信息,body 参数按 x-www-form-urlencoded 提交
| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| appKey | head | string | 是 | 数勋分配appKey |
| timestamp | head | string | 是 | unix时间毫秒值 |
| sign | head | string | 是 | 签名,说明 |
| no | query | string | 是 | 物流单号 |
| code | query | string | 否 | 快递代码,详见物流快递代码字典 |
| tel | query | string | 否 | 顺丰/丰网/跨越/中通需传入收件人或寄件人手机号或手机号后四位(推荐使用寄件人) |
| callbackUrl | query | string | 是 | 接收回调地址,见规范 |
签名算法说明
数勋分配的appKey、当前unix时间毫秒值timestamp、数勋分配的appSecret、 按顺序拼接sha256加密得到sign,查看如下示例
appKey = aaa;timestamp = 1682476904289;appSecret = bbb;sign = sha256(appKey+timestamp+appSecret)02 — 返回说明
返回结构与字段含义
顶层返回 code 与 msg,业务数据在 data 对象内,各字段含义见下方表格
返回字段描述
| 字段名 | 类型 | 描述 |
|---|---|---|
| code | string | 错误码 |
| msg | string | 错误描述 |
| isFee | int | 是否计费(1:计费,0:不计费) |
| seqNo | string | 调用流水号 |
| data | object | 订阅成功描述 |
物流轨迹推送信息查询
| 字段名 | 类型 | 描述 |
|---|---|---|
| appKey | head | string |
| timestamp | head | string |
| sign | head | string |
| no | query | string |
| code | query | string |
返回字段描述
| 字段名 | 类型 | 描述 |
|---|---|---|
| cpCode | string | 快递公司代码 |
| mailNo | string | 快递编号 |
| logisticsCompanyName | string | 分快递公司名称 |
| takeTime | string | 从揽收到送达所耗时间 |
| logisticsStatusDesc | string | 运单号当前物流状态文字描述 |
| logisticsStatus | string | 物流流转状态,详见:物流状态编码对照表 |
| logisticsFullTraceList | array | 物流流转明细 |
logisticsFullTraceList 对象说明
| 字段名 | 类型 | 描述 |
|---|---|---|
| areaCode | string | 非必须,当前节点所在地址行政编码 |
| areaName | string | 非必须,当前节点所在地区,省,市,区或省,市 |
| subLogisticsStatus | string | 物流流转子状态,详见:物流状态编码对照表 |
| time | string | 时间,单位毫秒 |
| logisticsStatus | string | 物流流转状态,详见:物流状态编码对照表 |
| desc | string | 物流流转描述 |
快递公司代码对照表
| 字段名 | 类型 | 描述 |
|---|---|---|
| 1 | SF | 顺丰快递 |
| 2 | YTO | 圆通快递 |
| 3 | ZTO | 中通快递 |
| 4 | YUNDA | 韵达快递 |
| 5 | YDKY | 韵达快运 |
| 6 | STO | 申通快递 |
| 7 | TTKDEX | 天天快递 |
| 8 | JD | 京东快递 |
| 9 | EMS | 中国邮政(其他常用名称:邮政国内小包、EMS、邮政标准快递、E邮宝、EMS经济快递、EMS特快专递、邮政快递包裹、EMS快递包裹、邮政EMS速递、邮政平邮、邮政商务小包、平邮、邮包、邮政快递,都可以使用此对照关系查询或订阅物流) |
| 10 | DBKD | 德邦快递 |
| 11 | DBL | 德邦物流 |
| 12 | DBKY | 德邦快运 |
| 13 | SURE | 速尔快运 |
| 14 | UC | 优速快递 |
| 15 | JT | 极兔速递 |
| 16 | KYE | 跨越速运 |
| 17 | CP471906 | 顺心捷达 |
| 18 | ANE56 | 安能物流 |
| 19 | BESTQJT | 百世快运 |
| 20 | FW | 丰网速递 |
| 21 | YMDD | 壹米滴答 |
| 22 | JYM | 加运美 |
| 23 | ZTOKY | 中通快运 |
| 24 | CP449455 | 京广速递 |
| 25 | ZJS | 宅急送 |
| 26 | FAST | 快捷快递 |
| 27 | FEDEX | 联邦快递 |
| 28 | RRS | 日日顺 |
| 29 | SNWL | 苏宁快递 |
| 30 | ZMKM | 丹鸟 |
| 31 | ZMKMKD | 丹鸟快递 |
| 32 | RFD | 如风达 |
| 33 | YCKY | 远成快运 |
| 34 | JYXP | 九曳供应链 |
| 35 | CP468398 | 圆通承诺达 |
| 36 | GTO | 国通快递 |
| 37 | QFKD | 全峰快递 |
| 38 | SDSD | 山东递速 |
| 39 | XFWL | 信丰物流 |
| 40 | CP443514 | 百世云配 |
| 41 | LE10032270 | 韵达同城 |
| 42 | PADTF | 平安达腾飞 |
| 43 | HOAU | 天地华宇 |
| 44 | STOKY | 申通快运 |
| 45 | ZTKY | 中铁物流/飞豹快递 |
| 46 | EWINSHINE | 万象物流 |
| 47 | QRT | 全日通 |
| 48 | GZFY | 凡宇快递 |
| 49 | XBWL | 新邦物流 |
| 50 | CRE | 中铁快运 |
| 51 | LTS | 联昊通 |
| 52 | SHENGHUI | 盛辉物流 |
| 53 | HUANGMAJIA | 黄马甲配送 |
| 54 | CHENGBANG | 晟邦物流 |
| 55 | GZLT | 飞远配送 |
| 56 | HZABC | 飞远(爱彼西)配送 |
| 57 | YCT | 黑猫宅急便 |
| 58 | COE | COE |
| 59 | DTW | 大田物流 |
| 60 | AIR | 亚风速递 |
| 61 | WJ | 万家物流 |
| 62 | D4PX | 递四方 |
| 63 | UPS | UPS |
| 64 | SUIJIAWL | 穗佳物流 |
| 65 | SUTENG | 速腾快递 |
| 66 | ANNTO | 安得智联 |
| 67 | DISU | D速 |
| 68 | ZZJHTD | 郑州建华 |
| 69 | ZTOGJ | 中通国际 |
| 70 | SXJH | 建华快递 |
| 71 | ZL | 四川增联供应链 |
| 72 | JUSDA | 准时达 |
| 73 | YDGJ | 韵达国际 |
| 74 | FENGNIAO | 蜂鸟配送 |
| 75 | FJGJ | 泛捷国际物流 |
| 76 | CVP | 潮优配 |
| 77 | LSWL | 林氏物流 |
| 78 | CQLY | 重庆铃宇消费品供应链 |
| 79 | XINZHIHUI | 新智慧 |
| 80 | STOINTL | 申通国际 |
| 81 | HBZL | 湖北众联 |
| 82 | GOODKUAIDI | GOOD快递 |
| 83 | EWE_GLOBAL | EWE GLOBAL |
| 84 | WDSWL | 鸿达顺物流 |
| 85 | AXD | 安鲜达 |
| 86 | GDNFCMFXWL | 广东南方传媒发行物流 |
| 87 | XLOBO | 贝海国际速递 |
| 88 | ESDEX | 卓志速运 |
| 89 | YTOGJ | 圆通国际 |
| 90 | STWL | 速通物流 |
| 91 | WAJ | 沃埃家 |
| 92 | UBON | 优邦速运 |
| 93 | WND | WnDirect |
| 94 | SXXF | 山西馨富 |
| 95 | YC | 远长物流 |
| 96 | BSGJ | 百世国际 |
| 97 | YUD | 长发快递 |
| 98 | KMYRX | 昆明云瑞祥 |
| 99 | DHL | DHL全球 |
| 100 | CN7000001011758 | 泰进物流 |
| 101 | BYZH | 贝业智慧物流 |
| 102 | JQWL | 浙江鉴强物流 |
| 103 | ESB | E速宝 |
| 104 | SZXK | 苏州熙康 |
| 105 | DDS | 点点送 |
| 106 | SUYUN123 | 58速运 |
| 107 | SEND2CHINA | Send2China |
| 108 | CYEXP | 长宇快递 |
| 109 | TTKEU | 天天欧洲物流 |
| 110 | SQWL | 商桥物流 |
| 111 | WORLDCPS | 天马物流 |
| 112 | KXTX | 卡行天下 |
| 113 | AOYOUZGKY | 澳邮中国快运 |
| 114 | EFS | EFSPOST |
| 115 | AXWL | 安迅物流 |
| 116 | RUSTON | 俄速通 |
| 117 | PAKD | 平安快递 |
| 118 | TDWL_123456 | 腾达物流 |
| 119 | XZB | 鑫泽邦物流 |
| 120 | HCT | 新竹物流 |
| 121 | MGSD | 美国速递 |
| 122 | SCJXWLYXGS | 余氏东风 |
| 123 | DD | 当当宅配 |
| 124 | AST | 安世通 |
| 125 | FTDKD | 富腾达快递 |
| 126 | EHAOYAO | 好药师物流 |
| 127 | RBYZEMS | 日本邮政EMS |
| 128 | CGKD | 程光快递 |
| 129 | DOD | 门对门 |
| 130 | YDTKD | 易达通快递 |
| 131 | BHWL | 保宏物流 |
| 132 | XAJ | 新安居仓配 |
| 133 | CSZX | 城市之星 |
| 134 | XYWL | 秀驿物流 |
| 135 | LTJZPS | 蓝豚家装配送 |
| 136 | DJ56 | 东骏快捷 |
| 137 | NEDA | 能达速递 |
| 138 | CHS | 重庆中环 |
| 139 | YXWLJT | 宇鑫物流 |
code错误码说明
| code | 说明 |
|---|---|
| 0 | 成功 |
| 1 | 参数错误 |
| 2 | 无记录 |
| 3 | 第三方服务异常 |
| 4 | 签名错误 |
| 5 | 余额不足 |
| 6 | 调用频率超限 |
| 7 | 账号停用 |
| 8 | 接口已停用 |
| 9 | 联系服务商开通接口权限 |
| 10 | ip不在白名单 |
| 11 | 系统异常 |
| 12 | 实名状态错误 |
| 99 | 其他异常,具体返回为准 |
返回示例
正确返回
{ "code": "0", "msg": "成功", "isFee": 1, "seqNo": "2hidtrup0oteqx584rtv9gennxvp8dl3", "data": "订阅成功"}错误返回
{ "code": "1", "msg": "请输入快递编号", "isFee": 0, "seqNo": null, "data": null}03 — 代码示例
七种语言,复制即用
签名规则:sha256(appKey + timestamp + appSecret),下列示例已包含完整签名流程
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.security.MessageDigest;
/**
* 全国物流快递订阅 - Java 示例代码
* 接口地址:https://api.shuxuntech.com/v1/express/subscribe
*
* 说明:本示例只使用 JDK 原生 API(java.net / java.security),不依赖任何第三方 jar 包,
* 也不需要本项目的工具类,复制到本地即可编译运行:
* javac ExpressPushDemo.java
* java ExpressPushDemo
*/
public class ExpressPushDemo {
/** 数勋分配的 appKey,请替换为您自己的 appKey */
private static final String APP_KEY = "您的appKey";
/** 数勋分配的 appSecret,请替换为您自己的 appSecret */
private static final String APP_SECRET = "您的appSecret";
/** 接口地址 */
private static final String API_URL = "https://api.shuxuntech.com/v1/express/subscribe";
/** 快递编号 */
private static final String NO = "";
/** 快递代码 */
private static final String CODE = "";
/** 顺丰速运/丰网速运需传入收件人或寄件人手机号或手机号后四位 */
private static final String TEL = "";
/** 接收回调地址 */
private static final String CALLBACK_URL = "";
public static void main(String[] args) throws Exception {
// 1、当前 unix 时间毫秒值,服务端要求与服务器时间相差不能超过 5 分钟
String timestamp = String.valueOf(System.currentTimeMillis());
// 2、签名:按顺序拼接 appKey + timestamp + appSecret 后做 sha256,得到小写十六进制字符串
String sign = sha256Hex(APP_KEY + timestamp + APP_SECRET);
// 3、业务参数,拼到 url 的 query 里
String query = "no=" + urlEncode(NO) + "&" + "code=" + urlEncode(CODE) + "&" + "tel=" + urlEncode(TEL) + "&" + "callbackUrl=" + urlEncode(CALLBACK_URL);
String url = API_URL + (query.isEmpty() ? "" : "?" + query);
// 4、发起 GET 请求,appKey、timestamp、sign 放在请求头
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("appKey", APP_KEY);
conn.setRequestProperty("timestamp", timestamp);
conn.setRequestProperty("sign", sign);
conn.setConnectTimeout(10000);
conn.setReadTimeout(20000);
int status = conn.getResponseCode();
// 5、读取返回内容:报错时读错误流,避免只拿到一个异常看不到原因
InputStream in = (status >= 200 && status < 300) ? conn.getInputStream() : conn.getErrorStream();
String result = readAll(in);
conn.disconnect();
System.out.println("HTTP状态码=" + status);
System.out.println("返回结果=" + result);
}
/**
* sha256 加密,返回小写十六进制字符串
* 服务端校验签名用的就是这个算法(小写十六进制)
*/
private static String sha256Hex(String content) throws Exception {
byte[] bytes = MessageDigest.getInstance("SHA-256").digest(content.getBytes("UTF-8"));
StringBuilder sb = new StringBuilder(bytes.length * 2);
for (byte b : bytes) {
sb.append(Character.forDigit((b >> 4) & 0xF, 16));
sb.append(Character.forDigit(b & 0xF, 16));
}
return sb.toString();
}
/** url 编码,中文参数需要编码 */
private static String urlEncode(String value) throws Exception {
return URLEncoder.encode(value, "UTF-8");
}
/** 读取输入流内容 */
private static String readAll(InputStream in) throws Exception {
if (in == null) {
return "";
}
StringBuilder sb = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
try {
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} finally {
reader.close();
}
return sb.toString();
}
}04 — 在线调试
先调通,再决定
用你自己的数据发一次真实请求,表单字段随接口定义自动生成,返回结果附字段注释
请求参数
按接口定义自动生成
- no*物流单号
- code快递代码,详见物流快递代码字典
- tel顺丰/丰网/跨越/中通需传入收件人或寄件人手机号或手机号后四位(推荐使用寄件人)
- callbackUrl*接收回调地址,见规范
appKey / timestamp / sign调用时自动按 sha256 生成,无需手填
appKey=未获取 · timestamp=实时生成 · sign=自动生成
这是真实调用,会消耗套餐次数或账户余额; 请勿用真实证件信息反复试调
返回结果
点击左侧「提交并调用接口」,参数会就地组装、按文档口径签名后直接请求接口, 返回的 JSON 显示在这里。
在线调试使用你自己的 appKey,按实际调用计费。
05 — 产品价格
阶梯计价,用多少买多少
单次价格随调用量阶梯下降,大档位单价最低
| 调用量 | 价格 | 单价 |
|---|---|---|
| 20 次 | ¥ 0 | ¥ 0 |
| 50 次 | ¥ 3 | ¥ 0.06 |
| 2,000 次 | ¥ 90 | ¥ 0.045 |
| 10,000 次 | ¥ 400 | ¥ 0.04 |
| 50,000 次 | ¥ 1,800 | ¥ 0.036 |
| 100,000 次 | ¥ 3,500 | ¥ 0.035 |
| 200,000 次 | ¥ 6,500 | ¥ 0.0325 |