API v1 · FAQ

常见问题 FAQ

集成 TrackEasy API 时的 10 个最常见问题。点问题跳到答案。

Q1. 返 401 身份验证失败 怎么办?

三个原因,逐个排查:

  1. 没传 API Key:检查 request 是否有 X-API-Key header(兼容 17token
  2. Key 拼写错:注意前缀 tk_,后面是 48 位 hex,全小写无空格
  3. 账号被禁用 / Key 被重置:调 GET /api/v1/auth/me 看账号状态,若 401 联系管理员重置
curl -H "X-API-Key: tk_your_key_here" \
  https://api.168tracking.com/api/v1/auth/me

Q2. 返 429 超出请求限制 怎么办?

每个 endpoint 有独立限流(详见 API 参考 顶部速率限制表)。

建议:超限后客户端退避 120 秒再重试。批量场景下用 /track/async 替代 /trackings/get(限流更宽松)。

Q3. 创建时返 4102 物流单号不存在

4102 一般出现在 查询 场景(GET /trackings/get),意思是「这个单号没在你账号下注册」。

排查步骤:

  1. 先调 POST /trackings/create 把单号注册进来
  2. 等 5-15 秒(后台异步查询)
  3. 再调 GET /trackings/get?tracking_numbers=...

Q4. 注册成功但查不到轨迹?

几种常见原因:

Q5. Webhook 没收到推送?

按以下顺序排查:

  1. URL 可达性:调 POST /webhooks/test 看是否 2xx
  2. 签名验证失败:检查 X-Webhook-Signature header 的 t=<ts>,v1=<hex>,验签算法 hmac_sha256(secret, ts + "." + body)
  3. timestamp drift:客户端时钟偏移超过 5 分钟 → 签名失效。同步 NTP
  4. SSRF 拦截:生产环境 URL 不能是 localhost / 私网 IP / 内网域名
  5. 投递历史:调 GET /webhooks/deliveries 看最近 50 条投递记录
详细签名验证代码见 Webhook 规格

Q6. 返 4190 额度不足

当月 quota 已用完。处理方法:

Q7. 怎么知道一个单号属于哪个物流商?

两种方式:

  1. 自动识别(推荐):不传 courier_code,让后端自动识别(响应里 detected_carrier 字段告知结果)
  2. 显式查询POST /api/v1/carrier/detect 只检测,不创建

Q8. retrack 报错 4113 不允许重新查询

retrack 强制 1 小时间隔。两次 retrack 之间必须等 1 小时。

建议实现:

Q9. 批量报错 4103 超过 40 个

单次批量上限 40 个单号。超过会被拒绝(不消耗 quota)。

处理:

Q10. Webhook 重试会发几次?

最多 14 次,指数回退 2^n × 30s

尝试延迟累计
10s0s
230s30s
360s90s
4120s210s
5240s450s
6480s930s
7960s1890s
.........
14122880s245730s ≈ 68h

失败定义:HTTP 状态码不在 200-299,或超时(10 秒)。客户端必须返回 2xx 才算成功。

还是没解决?

联系开发者支持:

建议附上:你的 API Key 前 14 字符 + 完整 curl 命令 + 响应完整 body —— 90% 问题 5 分钟内能定位。