TrackFlow developer documentation

API 接入文档

使用 TrackFlow 的物流查询接口提交运单号、轮询异步结果,并获取历史记录或导出文件。本文档与网页当前使用的 API 保持一致。

基本信息

API Base URL

https://tracking.rw2.cc/api

返回格式

JSON,UTF-8 编码

处理方式

提交接口异步返回批次,使用批次 ID 轮询结果

单次上限

最多 10000 个有效运单号,重复号码自动去重

生产环境建议显式传入自己的 apikey,不要把 API key 写入公开代码仓库或日志。

第一步:提交查询

curl -X POST 'https://tracking.rw2.cc/api/track' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "apikey": "YOUR_API_KEY",
    "tracking_numbers": ["9400111899223856928498", "1Z999AA10123456784"],
    "carrier": "auto",
    "mode": "manual"
  }'

成功返回 HTTP 202,请保存返回的 batch.id。

{
  "batch": {
    "id": "BATCH_ID",
    "status": "processing",
    "total_count": 2,
    "completed_count": 0,
    "failed_count": 0
  }
}

第二步:轮询结果

curl 'https://tracking.rw2.cc/api/batches/BATCH_ID?include_items=1&items_limit=80&items_offset=0&category=all' \
  -H 'Accept: application/json'

当 batch.status 为 pending 或 processing 时继续轮询,建议间隔 1-3 秒;状态为 completed 或 failed 时停止。

提交接口

POST/api/track

提交一批物流查询任务。

字段类型必填说明
tracking_numbersarray/string是运单号数组,或使用换行、逗号、分号分隔的字符串。只保留 8-40 位字母数字组合。
apikeystring否省略或为空时使用服务端默认 key。生产集成建议传入自己的 key。
carrierstring否auto、usps、ups、fedex、dhl、auspost,默认 auto。
modestring否网页使用 manual 或 realtime。
bypass_cacheboolean否是否跳过缓存重新查询,实时查询使用 true。
batch_idUUID否追加到仍在提交中的批次,必须与创建批次的 key 匹配。
submission_completeboolean否是否完成当前批次提交,默认 true。

超过 10000 条:追加到同一批次

  1. 第一次提交最多 10000 条,传 submission_complete=false。
  2. 保存响应中的 batch.id。
  3. 后续请求传相同的 batch_id,每次最多 10000 条。
  4. 最后一次传 submission_complete=true。
curl -X POST 'https://tracking.rw2.cc/api/track' \
  -H 'Content-Type: application/json' \
  -d '{
    "apikey": "YOUR_API_KEY",
    "batch_id": "BATCH_ID_FROM_FIRST_RESPONSE",
    "tracking_numbers": ["NUMBER_00000003", "NUMBER_00000004"],
    "carrier": "auto",
    "mode": "manual",
    "submission_complete": true
  }'

批次结果

GET/api/batches/{batch_id}

查询批次状态和结果。

参数默认值说明
include_itemstrue是否返回结果明细。
include_tracking_numbersfalse是否返回完整运单号数组。历史批次回填查询框时使用 true。
items_limit80本次明细数量,最大 500。
items_offset0明细偏移量,用于分页。
categoryallall、delivered、in_transit、label_created、exception、stale、no_tracking。

batch.items[] 中包含 tracking_number、carrier、status、error 和 snapshot。快照包含英文状态、中文状态、最新位置、轨迹时间、签收标记、警告信息和轨迹事件。

如果需要一次返回完整运单号:

GET /api/batches/{batch_id}?include_items=0&include_tracking_numbers=1

其他接口

GET /api/health

健康检查,返回 {"status":"ok"}。

GET /api/auth/status

使用 ?apikey=YOUR_API_KEY 查询剩余额度。

GET /api/history

使用 ?apikey=YOUR_API_KEY 查询最近 100 个历史批次。

GET /api/export

使用 ?batch_id=BATCH_ID 或 batch_ids[]=ID 导出 Excel,可选 with_first_event=1 导出首条物理轨迹。

修改批次名称

PATCH/api/batches/{batch_id}/note
{"apikey":"YOUR_API_KEY","note":"供应商 A - 10 月 10 日"}

错误处理

状态码含义
202查询已接受,结果异步处理。
200查询成功。
403API key 无权访问该批次。
409批次已经结束,不能继续追加。
422请求参数错误,或没有有效运单号。
429访客额度或请求频率限制。
502上游承运商接口暂时失败。
{
  "message": "The given data was invalid.",
  "errors": {
    "tracking_numbers": ["The tracking numbers field is required."]
  }
}

AI Agent 接入

将以下地址作为 Markdown 文档源提供给 AI 或代码生成工具:

https://tracking.rw2.cc/api-integration.md
  1. 调用 POST /api/track 提交运单号。
  2. 记录响应中的 batch.id。
  3. 每隔 1-3 秒调用 GET /api/batches/{batch_id}。
  4. 读取 batch.items 和 batch.items_pagination。
  5. 当状态为 completed 或 failed 时结束轮询。

不要把 API key 写入日志、公开代码仓库或返回给不可信的客户端。