通用快递查询,支持单号与手机尾号,返回物流轨迹与快递公司信息。
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| key | string | 是 | 接口调用密钥 | |
| num | string | 是 | 单号 | |
| code | string | 否 | 发件人|收件人 尾号 |
[
{
"name": "key",
"type": "string",
"required": true,
"description": "接口调用密钥",
"example": ""
},
{
"name": "num",
"type": "string",
"required": true,
"description": "单号",
"example": ""
},
{
"name": "code",
"type": "string",
"required": false,
"description": "发件人|收件人 尾号",
"example": ""
}
]
{
"openapi": "3.1.1",
"info": {
"title": "通用快递",
"description": "通用快递查询,支持单号与手机尾号,返回物流轨迹与快递公司信息。",
"version": "1.0.0"
},
"paths": {
"\/api\/express\/niao\/index.php": {
"get": {
"summary": "通用快递",
"description": "通用快递查询,支持单号与手机尾号,返回物流轨迹与快递公司信息。",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "num",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "单号"
},
{
"name": "code",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "发件人|收件人 尾号"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application\/json": {
"schema": {
"type": "object"
}
}
}
}
}
},
"post": {
"summary": "通用快递",
"description": "通用快递查询,支持单号与手机尾号,返回物流轨迹与快递公司信息。",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "num",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "单号"
},
{
"name": "code",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "发件人|收件人 尾号"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application\/json": {
"schema": {
"type": "object"
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https:\/\/api.vsaa.cn",
"description": "当前访问入口(https)"
}
]
}
{
"code": 200,
"msg": "操作成功",
"data": {
"routeMapUrlCode": null,
"routeMapUrl": null,
"shipperCode": "EMS",
"shipperName": "EMS",
"traces": [
{
"acceptTime": "2026-01-13 17:00:29",
"acceptStation": "中国邮政已收取快件",
"location": "中山市",
"action": "1"
},
{
"acceptTime": "2026-01-13 17:00:35",
"acceptStation": "快件已在【中山市电商客户小榄大宗揽收部】完成分拣,准备发出",
"location": "中山市",
"action": "2"
},
{
"acceptTime": "2026-01-13 18:26:29",
"acceptStation": "快件离开【中山市电商客户小榄大宗揽收部】,正在发往【中山市西集集散点】",
"location": "中山市",
"action": "2"
},
{
"acceptTime": "2026-01-13 19:49:01",
"acceptStation": "快件到达【中山市西集集散点】",
"location": "中山市",
"action": "2"
},
{
"acceptTime": "2026-01-15 00:12:13",
"acceptStation": "快件离开【中山市西集集散点】,正在发往下一站",
"location": "中山市",
"action": "2"
},
{
"acceptTime": "2026-01-15 04:54:37",
"acceptStation": "快件到达【广州市江高包件车间】",
"location": "广州市",
"action": "2"
},
{
"acceptTime": "2026-01-15 07:26:50",
"acceptStation": "快件离开【广州市江高包件车间】,正在发往下一站",
"location": "广州市",
"action": "2"
},
{
"acceptTime": "2026-01-15 07:40:35",
"acceptStation": "预计【1月16日】到达【成都市】,两地距离1582km,将在【1月16日晚上】更新快件状态,请您放心。",
"location": "广州市",
"action": "2"
},
{
"acceptTime": "2026-01-16 09:18:25",
"acceptStation": "快件到达【成都航站】",
"location": "成都市",
"action": "2"
},
{
"acceptTime": "2026-01-16 13:11:57",
"acceptStation": "快件离开【成都航站】,正在发往下一站",
"location": "成都市",
"action": "2"
},
{
"acceptTime": "2026-01-16 21:00:36",
"acceptStation": "快件到达【达州市包件车间】",
"location": "达州市",
"action": "2"
},
{
"acceptTime": "2026-01-16 21:01:54",
"acceptStation": "快件离开【达州市包件车间】,正在发往下一站",
"location": "达州市",
"action": "2"
},
{
"acceptTime": "2026-01-17 07:17:08",
"acceptStation": "快件到达【渠县城东集散点】",
"location": "达州市",
"action": "2"
},
{
"acceptTime": "2026-01-17 10:23:36",
"acceptStation": "快件正在派送中,请耐心等待,保持电话畅通,准备签收,如有疑问请电联快递员【熊磊,电话:18***803】或揽投部【电话:0818-***3】,服务热线11183。",
"location": "达州市",
"action": "202"
},
{
"acceptTime": "2026-01-17 12:07:01",
"acceptStation": "您的快件已派送至【望江亭3号楼妈妈驿站】,自提点电话:135****5987,请您凭取件码领取快件,如有疑问请电联快递员【电话:188***5803】,投诉电话(电话0818-7***303)。有事呼叫我,少一次投诉,多一份感恩。中国邮政将全心呵护您的所托,服务热线11183。",
"location": "达州市",
"action": "412"
},
{
"acceptTime": "2026-01-21 15:50:24",
"acceptStation": "您的快件已取走【望江亭3号楼妈妈驿站】,如有疑问请电联快递员【电话:18****03】,投诉电话【电话:0818-***03】。有事呼叫我,少一次投诉,多一份感恩。中国邮政将全心呵护您的所托,服务热线11183。",
"location": "达州市",
"action": "302"
}
],
"specialShipper": 0
},
"success": true,
"error": false
}
该接口提供通用快递物流信息查询服务,支持通过快递单号实时获取包裹的完整物流轨迹详情。主要适用于需要集成快递查询功能的开发者及企业应用,调用需携带密钥,接口支持 GET 和 POST 请求方式。
https://api.vsaa.cn/api/express/niao/index.php
支持 GET 与 POST 两种请求方式。
调用接口时必须在请求中携带有效的调用密钥。密钥通过查询参数(Query Parameter)传递,参数名为 key。例如在 URL 末尾追加 ?key=您的密钥。该接口实行收费策略,频率限制约为每分钟 61 次。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 接口调用密钥,需通过 Query 参数传递(?key=…)。 |
| num | string | 是 | 快递单号。 |
| code | string | 否 | 发件人或收件人电话尾号。在部分快递公司的物流详情查询中,若仅凭单号无法定位,提供此参数可辅助匹配。 |
{
"code": 200,
"msg": "操作成功",
"data": {
"routeMapUrlCode": null,
"routeMapUrl": null,
"shipperCode": "EMS",
"shipperName": "EMS",
"traces": [
{
"acceptTime": "2026-01-13 17:00:29",
"acceptStation": "中国邮政已收取快件",
"location": "中山市",
"action": "1"
},
{
"acceptTime": "2026-01-13 17:00:35",
"acceptStation": "快件已在【中山市电商客户小榄大宗揽收部】完成分拣,准备发出",
"location": "中山市",
"action": "2"
}
],
"specialShipper": 0
},
"success": true,
"error": false
}
| 字段名 | 类型 | 说明 |
|---|---|---|
code |
integer | 状态码。200 表示请求处理成功。 |
msg |
string | 状态描述。成功时固定为“操作成功”。 |
success |
boolean | 是否成功标志。成功时为 true。 |
error |
boolean | 是否错误标志。成功时为 false。 |
data |
object | 业务数据对象,包含物流详情信息。 |
data.shipperCode |
string | 快递公司代码,如 EMS、SF 等。 |
data.shipperName |
string | 快递公司名称。 |
data.specialShipper |
integer | 特殊快递商标识。0 表示普通快递,非 0 表示需配合 code 参数使用或属于特殊服务商。 |
data.routeMapUrlCode |
string/null | 路由地图编码。目前多为 null,预留字段。 |
data.routeMapUrl |
string/null | 路由地图链接。目前多为 null,预留字段。 |
data.traces |
array | 物流轨迹列表,按时间顺序或状态顺序排列。 |
data.traces 数组元素字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
acceptTime |
string | 轨迹发生时间,格式:YYYY-MM-DD HH:mm:ss。 |
acceptStation |
string | 轨迹详细内容,包含当前状态、所在网点、备注等信息。 |
location |
string | 轨迹发生的地点(城市级)。 |
action |
string | 动作类型代码。用于辅助判断物流阶段,例如:1 揽收、2 运输/到达/离开、202 派送中、412 代收/驿站待取、302 已签收/取走。具体含义可能因快递公司而异,建议主要依据 acceptStation 文本内容判断业务状态。 |
调用接口时,若发生鉴权失败、参数错误、服务异常或业务逻辑拦截,系统将返回统一的 JSON 结构。错误响应中 code 通常为 0,errcode 字段包含具体的业务错误码,msg 字段提供人类可读的错误描述。
示例:密钥错误
{
"code": 0,
"msg": "密钥错误",
"errcode": 11002
}
示例:请求过于频繁(QPM 限制)
{
"code": 0,
"msg": "请求过于频繁(QPM 限制)",
"errcode": 11005
}
示例:未提供调用密钥
{
"code": 0,
"msg": "未提供调用密钥",
"errcode": 11001
}
下表列出了通用快递接口可能返回的所有业务错误码及其含义。
| 错误码 (errcode) | 含义说明 |
|---|---|
| 11001 | 未提供调用密钥 |
| 11002 | 密钥错误 |
| 11003 | 密钥已禁用 |
| 11004 | 积分余额不足 |
| 11005 | 请求过于频繁(QPM 限制) |
| 11006 | 接口维护中 |
| 11007 | 接口已禁用 |
| 11008 | 接口不可用 |
| 11009 | 密钥校验暂不可用 |
| 11010 | 积分系统暂不可用 |
| 11011 | 收费接口须提供有效密钥 |
| 11012 | 鉴权方式错误 |
| 11013 | 接口不存在 |
| 11014 | ***地址无效 |
| 11015 | ***地址不允许 |
| 11016 | ***请求失败 |
| 11017 | 服务暂不可用 |
| 11018 | 请求方式不允许 |
| 11019 | 当前IP不在白名单内 |
| 11020 | 启用出口代理须提供有效密钥 |
| 11021 | 未配置可用出口代理 |
| 11022 | 出口代理不可用 |
| 11023 | 密钥已过期 |
| 11024 | 令牌分配积分不足 |
curl -G "https://api.vsaa.cn/api/express/niao/index.php" \
--data-urlencode "key=YOUR_API_KEY" \
--data-urlencode "num=9876543210" \
--data-urlencode "code=1234"
// PHP 示例
$ch = curl_init();
$url = "https://api.vsaa.cn/api/express/niao/index.php";
$params = [
"key" => "YOUR_API_KEY",
"num" => "98****10",
"code" => "1234"
];
$query = http_build_query($params);
$fullUrl = $url . "?" . $query;
curl_setopt($ch, CURLOPT_URL, $fullUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded"));
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "HTTP Status: " . $status . "\n";
echo "Response: " . $response . "\n";
key)通过 Query 参数传递,必须妥善保管。严禁将密钥硬编码在前端代码、客户端 App 或公开仓库中,以防止泄露导致额度被盗用或产生额外费用。num(单号)为必填项,需确保格式正确且对应真实存在的物流单据,否则将返回错误信息。code 为选填项,仅在单号相同且需区分具体收发关系时提供尾号,无需此信息时请留空或省略该参数,切勿填写无效字符。success 字段及 code 值。仅当 success 为 true 且 code 为 200 时,方可解析 data 中的物流轨迹数据;异常情况下请依据 msg 字段进行错误处理。暂无代码示例。管理员可在后台用 AI 生成或手动编写。
欢迎使用 万象数据API(以下简称“本平台”,域名为 api.vsaa.cn)。在使用本平台提供的任何接口、数据及相关服务之前,请您务必仔细阅读并充分理解本免责声明的全部内容。您对本平台任何服务的使用,均视为您已阅读、理解并同意本声明的全部条款。
最后更新日期:2026年10月6日