SuperAPI AI 工具集

flexport-webhooks

测试与质量

查看项目

更新于 10-15 22:14

技能介绍

用途:帮助开发者搭建 Flexport Webhook 处理器,并排查签名校验失败问题。适用于处理货运、货运段、集装箱、单据、发票和采购订单等事件。

主要能力:解析 Flexport 的 Event 对象,按 type 字段(格式为 /object#event,注意不是 object.event)分发事件,受影响对象位于 data 下。已确认的事件类型仅有 /shipment#created 和 /shipment_leg#departed,其余如 /shipment#booking_confirmed、/document#document_created 等为格式示例,需对照 Flexport 里程碑参考核实。

签名验证:Flexport 用每个端点的密钥对原始请求体做 HMAC,发送 X-Hub-Signature-256(HMAC-SHA256,格式 sha256=<hex>,应使用)和 X-Hub-Signature(HMAC-SHA1,格式 sha1=<hex>,已弃用)。必须在解析 JSON 前对原始 UTF-8 请求体校验,并使用时间安全比较。官方无 Flexport SDK,需在各框架中手动实现。

使用方式:设置环境变量 FLEXPORT_WEBHOOK_SECRET=your_secret_token(在 Flexport 账户设置中配置的每端点密钥)。本地开发可运行:npx hookdeck-cli listen 3000 flexport --path /webhooks/flexport。完整处理器示例见 examples/express/、examples/nextjs/、examples/fastapi/。

限制:Flexport 的重试行为未公开,不要假设失败投递会被重发,应尽快返回 200 并异步处理。建议配合 webhook-handler-patterns 技能处理幂等(按 Event id 去重)、错误处理与重试逻辑。部分里程碑需申请才可用。