# 物流轨迹（澳邮 Auexpress；默认关闭，需申请开通）

`GET /api/v1/shipments/{shipment_id}/tracking` — 需要 token · logistics:read · 1 点

发货与物流

## 路径参数

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| `shipment_id` **必填** | string | 发货单号（物流轨迹里也是它），从发货单列表拿到。只能查本渠道自己的单。 (最长 64) |

## 响应

响应信封只看 HTTP 状态码：成功是 2xx，正文 `{ data: … }`（列表另带 `page / page_size / has_more` 或 `total_count`）；失败是 4xx / 5xx，正文 `{ error: { code, message, hint, request_id, doc_url } }`。

```json
{
  "data": [ … ],
  "total_count": 12
}
```

成功响应里没有任何给人看的文字——没有 `code / result / msg`。`error.code` 是唯一该用程序判断的字段，`message` 跟随 `Accept-Language`。

## 示例

### curl

```bash
curl "https://connect.everugg.net.au/api/v1/shipments/{shipment_id}/tracking" \
  -H "Authorization: Bearer $TOKEN"
```

### Python

```python
import requests

r = requests.get(
    "https://connect.everugg.net.au/api/v1/shipments/{shipment_id}/tracking",
    headers={"Authorization": "Bearer " + TOKEN},
)
data = r.json()
r.raise_for_status()  # 4xx/5xx: data["error"]["code"] / ["hint"]
```

### Node

```js
const res = await fetch("https://connect.everugg.net.au/api/v1/shipments/{shipment_id}/tracking", {
  headers: { Authorization: `Bearer ${TOKEN}` },
})
const data = await res.json()
if (!res.ok) throw new Error(`${data.error?.code}: ${data.error?.message}`)
```

### Java

```java
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://connect.everugg.net.au/api/v1/shipments/{shipment_id}/tracking"))
    .header("Authorization", "Bearer " + token)
    .GET()
    .build();
HttpResponse<String> res = HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString());
```

---
Markdown 源: https://connect.everugg.net.au/reference/get-api-v1-shipments-shipment-id-tracking.md?lang=zh · 网页版: https://connect.everugg.net.au/reference?op=get-api-v1-shipments-shipment-id-tracking&lang=zh
