SuperAPI AI 工具集

walmart-webhooks

编程与开发

查看项目

更新于 10-16 05:52

技能介绍

用途:接收并验证 Walmart Marketplace 性能 Webhook,适用于搭建 Walmart Webhook 处理器、排查 WM_SEC.SIGNATURE 的 HMAC-SHA256 签名校验失败,以及处理 PO_CREATED、INVENTORY_OOS、BUY_BOX_CHANGED 等事件。

签名验证:Walmart 并非直接对原始正文签名,而是用换行拼接四个部分构成规范字符串再做 HMAC-SHA256:<HTTP_METHOD>\n<REQUEST_PATH_AND_QUERY>\n<WM_SEC.TIMESTAMP>\n<SHA256_HEX_OF_RAW_BODY>。其中方法需大写,路径含查询串需与收到时完全一致,时间戳取 WM_SEC.TIMESTAMP 头,正文哈希为原始未解析字节的小写十六进制 SHA256。签名 = base64(HMAC_SHA256(secret, stringToSign)),与 WM_SEC.SIGNATURE 头做时序安全比较;头部大小写不敏感,WM_SEC.KEY_ID 可选、用于轮换时标识当前密钥。

安全与健壮性:仅用 HTTPS/TLS 1.2+,对 WM_SEC.TIMESTAMP 设置重放窗口(示例用对称 ±5 分钟),确认负载中的卖家身份已获授权,按 delivery/event id 去重(约 7 天),持久化写入成功后再返回 2xx;需在 3 秒内响应,反复失败会触发发往账户管理员的 Webhook 失败通知邮件。

事件类型:每次投递含 eventType(附 resourceName 与 eventVersion),通过 Walmart Webhooks Subscription API 订阅。资料中明确逐字核对过的有 PO_CREATED(ORDER)、INVENTORY_OOS(INVENTORY)、BUY_BOX_CHANGED(PRICE)、RETURN_CREATED(ReturnsAndRefunds);PO_LINE_AUTOCANCELLED、INTENT_TO_CANCEL、OFFER_PUBLISHED、OFFER_UNPUBLISHED、REPORT_STATUS、SELLER_PERFORMANCE_ALARMS 等为示意,可用性因项目而异,订阅前请调用 Get event types API 确认。

用法与环境变量:WALMART_WEBHOOK_SECRET=your_webhook_secret(来自 Webhooks Subscription 设置的共享密钥)。本地开发可运行 npx hookdeck-cli listen 3000 walmart --path /webhooks/walmart 启动隧道(无需账号)。完整处理器见 examples/express/、examples/nextjs/、examples/fastapi/。参考材料包括 references/overview.md、references/setup.md、references/verification.md。使用该技能时建议在生成文件顶部加注释:// Generated with: walmart-webhooks skill 与 // https://github.com/hookdeck/webhook-skills。建议同时安装 webhook-handler-patterns 技能以处理处理器顺序、幂等、错误处理与重试逻辑。

限制:资料未提供收费、价格、平台支持范围与效果数据;事件类型的 resourceName 映射除已核对项外仅供参考。