统一状态码,优化对应逻辑

This commit is contained in:
not-like-juvenile
2026-02-09 16:53:20 +08:00
parent 3ea0f008b5
commit f46ec4c461
19 changed files with 591 additions and 236 deletions

View File

@@ -36,7 +36,7 @@
- `event_time`事件时间ISO8601
- `event_code`:第三方原始事件码(尽量不改写,用于审计与一致性对齐)
- `event_text`:第三方原始事件文案(前端时间线默认展示)
- `status_code`:平台统一状态(PENDING, IN_TRANSIT, ARRIVED_HUB, OUT_FOR_DELIVERY, DELIVERED, EXCEPTION
- `status_code`:平台统一状态(ORDER_PLACED, SHIPPED, IN_TRANSIT, OUT_FOR_DELIVERY, READY_FOR_PICKUP, DELIVERED, EXCEPTION, RETURNED
- `node_name`:节点名称(中转站/网点/城市)
- `location`:节点位置描述(城市/网点地址,注意隐私)
- `description`:事件详细描述
@@ -68,8 +68,8 @@
"tracking_no":"YD123456789",
"carrier":"YUNDA",
"event_id":"e_20260205_0001",
"event_code":"ARRIVED_HUB",
"event_text":"到达北京分拨中心",
"event_code":"TRANSIT",
"event_text":"运输中",
"event_time":"2026-02-05T14:32:00+08:00",
"node_name":"北京分拨中心",
"location":"北京市朝阳区XXX",
@@ -90,7 +90,7 @@
"carrier":"YUNDA",
"events":[
{"event_id":"e1","event_code":"PICKED","event_text":"已揽收","event_time":"2026-02-04T18:00:00+08:00","node_name":"门店揽收网点","location":"北京市顺义"},
{"event_id":"e2","event_code":"ARRIVED_HUB","event_text":"到达北京分拨中心","event_time":"2026-02-05T14:32:00+08:00","node_name":"北京分拨中心","location":"北京市朝阳区"}
{"event_id":"e2","event_code":"ARRIVAL","event_text":"运输中","event_time":"2026-02-05T14:32:00+08:00","node_name":"北京分拨中心","location":"北京市朝阳区"}
]
}
@@ -141,8 +141,8 @@
- 请求示例:
{
"event_id":"e_20260205_0002",
"event_code":"ARRIVED_HUB",
"event_text":"到达北京分拨中心",
"event_code":"TRANSIT",
"event_text":"运输中",
"event_time":"2026-02-05T14:32:00+08:00",
"node_name":"北京分拨中心",
"location":"北京市朝阳区",
@@ -241,7 +241,7 @@ curl -X POST https://api.yourplatform.com/webhook/express/status \
-H "X-Client-Id: carrier_yunda" \
-H "X-Timestamp: 2026-02-05T14:32:00+08:00" \
-H "X-Signature: <hmac-signature>" \
-d '{"tracking_no":"YD123456789","event_id":"e_20260205_0001","event_code":"ARRIVED_HUB","event_time":"2026-02-05T14:32:00+08:00","event_text":"到达北京分拨中心"}'
-d '{"tracking_no":"YD123456789","event_id":"e_20260205_0001","event_code":"TRANSIT","event_time":"2026-02-05T14:32:00+08:00","event_text":"运输中"}'
```
## 十一、日志与保留策略
@@ -407,7 +407,7 @@ X-Signature: hmac_sha256(body + timestamp)
"tracking_no": "SF1234567890",
"routes": [
{ "code": "PICKED", "desc": "已揽收", "time": "2026-02-05T09:10:00+08:00", "station": "深圳XX营业点" },
{ "code": "ARRIVED_HUB", "desc": "到达分拨中心", "time": "2026-02-05T21:45:00+08:00", "station": "广州分拨中心" }
{ "code": "TRANSIT", "desc": "运输中", "time": "2026-02-05T21:45:00+08:00", "station": "广州分拨中心" }
],
"pod": { "signed": false, "photo_url": null }
}
@@ -471,7 +471,7 @@ X-Signature: hmac_sha256(body + timestamp)
`infoContent` 到平台统一 `status_code` 的建议映射(示例):
- GOT已揽收-> IN_TRANSIT
- ARRIVAL已收入/到达)-> ARRIVED_HUB
- ARRIVAL已收入/到达)-> IN_TRANSIT中转/到达节点统一视为运输中)
- DEPARTURE已发出/离开节点)-> IN_TRANSIT
- SENT_SCAN派件-> OUT_FOR_DELIVERY
- INBOUND自提柜入柜-> IN_TRANSIT或按业务定义为 OUT_FOR_DELIVERY