用途:帮助开发者搭建 SHOPLINE(开放平台 developer.shopline.com)Webhook 接收端,重点解决签名校验失败、事件处理与本地调试问题。
主要能力:校验 X-Shopline-Hmac-Sha256 签名(HMAC-SHA256,密钥为应用 secret,需使用原始请求体并做时序安全比较);解析 X-Shopline-Topic、X-Shopline-Shop-Domain、X-Shopline-Shop-Id、X-Shopline-Merchant-Id、X-Shopline-API-Version、X-Shopline-Webhook-Id 等头部;处理 orders/create、orders/update、orders/paid、orders/cancelled、products/create、products/update、products/delete、collect/create、collect/delete、customers/create、app/uninstalled 等主题。
使用方式:设置环境变量 SHOPLINE_APP_SECRET;本地调试可运行 npx hookdeck-cli listen 3000 shopline --path /webhooks/shopline。资料提供 Node 与 Python 校验函数示例,并附 examples/express、examples/nextjs、examples/fastapi 完整处理器参考。
限制与注意:SHOPLINE 要求 5 秒内返回 200,最多重试 19 次、持续 48 小时,之后自动移除订阅,故应异步处理耗时任务并快速确认;签名编码实测为小写十六进制(64 位 [a-f0-9]),文档示例为 base64,示例代码同时兼容两种编码;建议配合 webhook-handler-patterns 技能处理幂等、错误与重试。
适用场景:SHOPLINE 店铺订单、商品、客户等事件的实时同步与自动化处理。