SuperAPI AI 工具集

shiphero-webhooks

编程与开发

查看项目

更新于 10-16 05:52

技能介绍

用途:接收并验证 ShipHero Webhook,适用于搭建 ShipHero Webhook 处理器、排查签名校验失败(x-shiphero-hmac-sha256),以及处理 Order Allocated、Shipment Update、Inventory Update 等事件。

主要能力:验证签名。ShipHero 对原始 JSON 请求体做 HMAC-SHA256 并以 base64 编码,放入 x-shiphero-hmac-sha256 头;密钥为应用共享密钥 shared_signature_secret(由 webhook_create mutation 一次性返回)。校验方式为重新计算 base64(HMAC-SHA256(rawBody, secret)),与请求头做 timing-safe 比较。必须传入原始 body,先解析 JSON 会破坏签名。注意这是对原始 body 的普通 HMAC,不是与 account id 拼接,也不是 Standard Webhooks。事件分发:请求头中没有 topic,需依据已验签 payload 内的 webhook_type 字段分发。X-Shiphero-Message-ID 是每次投递的唯一 id,可用于去重。

必要用法:环境变量 SHIPHERO_WEBHOOK_SECRET=your_shared_signature_secret。本地开发可用 npx hookdeck-cli listen 3000 shiphero --path /webhooks/shiphero 启动隧道。响应需及时:ShipHero 约 10 秒超时(Generate Label 为 20 秒),每个触发最多重试 5 次;应以 2xx 返回 {"code": "200", "Status": "Success"},耗时工作异步处理。注意:Webhook 被禁用期间 ShipHero 不排队事件,事件会被丢弃。完整处理器、路由接线、事件分发与测试可参考 examples/express/、examples/nextjs/、examples/fastapi/。

常见事件类型(Title Case,注册名与 payload 中的 webhook_type 一致):Order Allocated(订单分配库存)、Shipment Update(订单发货,含跟踪号、承运商、包裹)、Inventory Update(现有/可用库存变化)、Order Canceled、PO Update、Return Update、Tote Complete、Package Added 等;完整列表见 references/overview.md 与 ShipHero 文档。

限制:资料未提供收费、价格与平台支持信息;未列出各事件的完整字段结构,需查阅官方文档。建议搭配 webhook-handler-patterns 技能,获取处理器顺序、幂等、错误处理与重试逻辑。