Skip to content

查询单个包裹状态

接口概述

按 WMG 运单号返回单个包裹的当前状态和完整轨迹历史。适用于单个包裹的轨迹页面;需要一次轮询多个包裹时请使用 查询多个包裹状态

请求信息

  • Method: GET
  • Path: /api/status/track
  • Authentication: Bearer Token

请求头

字段说明
AuthorizationBearer <token>

请求参数

请求包含以下查询参数:

参数类型必填说明
IDstring包裹的 WMG 运单号。长度 8~50 个字符。

认证方式

本接口使用 Bearer Token 认证。

请先通过 获取 Token 取得 Token,并以 Authorization: Bearer <Token> 形式发送。

响应信息

响应为 JSON 格式。

响应格式

字段类型说明
Codeinteger0 表示成功;非 0 表示失败
Messagestring可读的结果说明
Dataobject业务数据

成功响应

  • Status Code: 200
json
{
  "Code": 0,
  "Message": "Success",
  "Data": {
    "TrackingNumber": "C240129142515376136497",
    "LastStatus": "DR_DR",
    "LastStatusDateTime": "2024-01-29T14:27:09+08:00",
    "Activities": [
      {
        "StatusDateTime": "2024-01-29T14:27:09+08:00",
        "StatusCode": "DR_DR",
        "StatusDesc": "Data Received via API",
        "Remarks": "",
        "ReceiveBy": ""
      }
    ]
  }
}
字段类型说明
Data.TrackingNumberstring本次查询的 WMG 运单号。
Data.LastStatusstring最新一条轨迹的状态码。包裹尚无可对外发布的状态时为空。
Data.LastStatusDateTimestring最新一条轨迹的时间,ISO 8601 格式并带时区偏移(+08:00)。
Data.Activitiesarray轨迹历史,按时间倒序(最新在前)。
Data.Activities[].StatusDateTimestring该条轨迹的时间,ISO 8601 格式并带时区偏移(+08:00)。
Data.Activities[].StatusCodestring状态码——见 Delivery Status
Data.Activities[].StatusDescstring状态码对应的描述文本。
Data.Activities[].Remarksstring该条轨迹的补充备注;没有时为空字符串。
Data.Activities[].ReceiveBystring预留字段,始终返回空字符串。

错误响应

  • Status Code: 200(业务逻辑错误)或 4xx/5xx(系统错误)
json
{
  "Code": 1,
  "Message": "Fail",
  "Data": {
    "TrackingNumber": "C240129142515376136497a",
    "Remarks": "No Record(s)"
  }
}
字段类型说明
Data.TrackingNumberstring本次查询的运单号。
Data.Remarksstring查询失败的原因。

结果码

Code说明
0成功
1失败

示例

Bash

bash
BASE_URL="https://api.postal.test.wmgdelivery.com"
TOKEN="your_access_token"

curl -G "$BASE_URL/api/status/track" \
  --data-urlencode "ID=C240129142515376136497" \
  -H "Authorization: Bearer $TOKEN"

Windows PowerShell

powershell
$BASE_URL = "https://api.postal.test.wmgdelivery.com"
$TOKEN    = "your_access_token"
$ID       = "C240129142515376136497"

$response = Invoke-RestMethod -Uri "$BASE_URL/api/status/track?ID=$ID" -Method Get `
    -Headers @{Authorization = "Bearer $TOKEN"}
$response | ConvertTo-Json -Depth 10

Python

python
import requests

BASE_URL = "https://api.postal.test.wmgdelivery.com"
TOKEN    = "your_access_token"

resp = requests.get(f"{BASE_URL}/api/status/track",
                    params={"ID": "C240129142515376136497"},
                    headers={"Authorization": f"Bearer {TOKEN}"}, timeout=10)
print(resp.json())

Node.js / TypeScript

typescript
const BASE_URL = "https://api.postal.test.wmgdelivery.com";
const TOKEN = "your_access_token";

const url = new URL(`${BASE_URL}/api/status/track`);
url.searchParams.set("ID", "C240129142515376136497");

const res = await fetch(url, {headers: {"Authorization": `Bearer ${TOKEN}`}});
console.log(await res.json());

PHP

php
<?php
$BASE_URL = 'https://api.postal.test.wmgdelivery.com';
$TOKEN    = 'your_access_token';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $BASE_URL . '/api/status/track?' . http_build_query([
    'ID' => 'C240129142515376136497',
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $TOKEN]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);

echo json_encode(json_decode($response, true), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n";
?>

注意事项

  • 所有时间均为新加坡时间(UTC+08:00),以带偏移量的 ISO 8601 格式返回。
  • Activities 按最新在前排序,LastStatus / LastStatusDateTime 始终等于其第一条。
  • 请按 StatusCode 做业务分支,不要按 StatusDesc 做字符串匹配。描述文本会随承运商和账号配置变化,而状态码是稳定的。
  • 仅内部使用的状态记录会被过滤掉,因此 Activities 可能短于包裹的完整内部历史——刚创建的包裹也可能合法地返回空的 Activities 和空的 LastStatus
  • 你的账号下不存在该包裹时不是 HTTP 错误:接口返回 Code: 1Message: "Fail"Data.RemarksNo Record(s)。注意此时 Data 是对象,不是其他接口失败时返回的空数组。
  • ID 必须是 WMG 运单号,且按原样精确匹配——不会转为大写,请完全按签发时的形式发送。
  • 只能查询到属于当前认证账号的包裹。

错误码

codemessage说明
1Fail你的账号下没有与 ID 匹配的包裹,Data.RemarksNo Record(s)
1ID requireID 缺失或为空。
1min size of ID must be 8ID 少于 8 个字符。
1max size of ID must be 50ID 超过 50 个字符。
1Error encountered, please contact tech@wmg-group.com with screenshot of error page for resolution.未预期的服务端错误。
1003Token errorToken 缺失、已过期或被新登录顶替。请重新调用 获取 Token