SuperAPI AI 工具集

webhooks

编程与开发

查看项目

更新于 10-15 21:49

技能介绍

用途:本技能聚焦 Webhook(用户定义的 HTTP 回调)架构,用于消费第三方事件通知、触发外部伙伴工作流、为长时间异步任务提供回调,以及把事件接入队列缓冲后由后台 worker 处理。

主要能力:加密签名校验(HMAC-SHA256,使用常量时间比较防时序攻击);收到请求后立即返回 200 OK(<500ms)并将事件推入队列(如 Redis)异步处理;指数退避重试策略(立即、15 秒、1 分钟、15 分钟、1 小时,失败后进入 DLQ);通过事件 ID 去重实现幂等处理。

使用方式:接收端需使用 express.raw 保留原始未解析请求体,例如 app.post("/webhooks/stripe", express.raw({ type: "application/json" }), ...),再调用 stripe.webhooks.constructEvent 或自建 verifyWebhookSignature 校验签名;校验失败返回 400,成功则入队并返回 200。去重可借助 redisClient.set(`webhook:${eventId}`,"1", { NX: true, EX: 86400 })。

限制与注意:不得对已解析的 JSON 对象做 HMAC 校验(空白差异会破坏哈希);避免在 HTTP handler 中执行重业务逻辑;必须使用 HTTPS/TLS;不能仅信任 IP 白名单而未验证签名;第三方通常 5-10 秒超时。故障排查:签名失败多为请求体解析问题,超时则应将逻辑移至后台任务并立即返回 200。

资料提供者未说明该技能的安装方式、依赖版本、收费与具体价格,暂未提供。