POST Webhook URL

鉴权:Webhook 签名

调用方:小鹅

功能描述

小鹅把这笔订单当前的物流 POST 到接入配置里的 Webhook URL。签名密钥是 Webhook 签名密钥,对原始 JSON 做 HMAC-SHA256,十六进制放在 X-Channel-Webhook-Signature。没有时间戳,也没有 nonce。密钥留空时不带这个头。logistics 与物流拉取的 data 相同。

请求体

Object object

属性类型默认值必填说明
eventstring是固定为 logistics.updated。
logisticsObject是与物流拉取的 data 相同。

Object logistics

属性类型默认值必填说明
order_nostring是小鹅订单号。
partner_order_nostring否接入方订单号。
shipmentsArray.<Object>是运单列表,字段与物流拉取的 shipments 相同。

业务方响应

返回 HTTP 2xx 表示已收到。其他状态码会记为推送失败。响应该在 8 秒内返回。

示例代码

curlbash
# WEBHOOK_SECRET 填接入配置里的 Webhook 签名密钥
# signature = hex(hmac_sha256(WEBHOOK_SECRET, 原始 JSON))
curl --request POST 'https://your.site/channel/webhook' \
  --header 'Content-Type: application/json' \
  --header 'X-Channel-Webhook-Signature: $signature' \
  --data-raw '{
  "event": "logistics.updated",
  "logistics": {
    "order_no": "YD202601010001",
    "partner_order_no": "P202601010001",
    "shipments": [
      {
        "tracking_no": "YT1234567890",
        "express_company": "圆通",
        "express_code": "YTO",
        "shipment_status": "shipped",
        "shipped_at": "2026-01-02T10:00:00+08:00",
        "events": [
          {
            "time": "2026-01-02T10:00:00+08:00",
            "status": "已揽收",
            "desc": "网点已揽收"
          }
        ]
      }
    ]
  }
}'