SuperAPI AI 工具集

community-webhooks

测试与质量

查看项目

更新于 10-16 05:52

技能介绍

用途:接收并验证 Community(community.com)短信/对话消息平台的 Webhook,适用于搭建 Community Webhook 处理器、排查 community-signature 校验失败,以及处理 message.inbound、message.outbound、member.created、member.updated、member.deleted 等事件和去重。

验签:Community 用 HMAC-SHA256 对 {timestamp}.{raw_body} 签名,写入 Stripe 风格请求头 community-signature: t=...,v1=...,仅支持 v1。密钥为每个 Webhook 独有的 signature secret(Dashboard → Settings → Integrations → Webhooks),不是 community_api 前缀的 API token。必须对原始请求体做 HMAC,重新序列化 JSON 会改变字节导致校验失败;官方未提供任何语言的验签 SDK,需自行实现。

事件与载荷:共五类事件,按 Webhook 在后台选择订阅。载荷包含 id、type、object、created、api_version,事件数据位于 data.object,member.deleted 载荷字段稀疏,不应假定存在邮箱、姓名等字段。

投递语义:至少一次投递,需按 webhook id 或 object id 去重(建议保留至少一小时);须在 15 秒内返回 2xx,响应体被忽略;失败时最多重试 5 次并退避,最长自首次尝试起一小时,持续失败会发通知邮件并可能禁用 Webhook。建议先验签、再入队、快速返回 2xx,不要内联处理。

本地开发:npx hookdeck-cli listen 3000 community --path /webhooks/community,将得到的 HTTPS URL 填入后台 Webhook 的端点地址。环境变量为 COMMUNITY_WEBHOOK_SECRET;示例中的 COMMUNITY_WEBHOOK_TOLERANCE_SECONDS 默认 0(关闭),文档未规定时间戳容忍窗口,属自行加固选项。

限制:Webhooks 是受套餐/权限限制的功能,只能在 Community Dashboard 配置,没有创建 API,需联系 yourfriends@community.com 开通;仅接受 HTTPS 端点且证书须有效;文档未提供来源 IP 白名单、握手或订阅确认请求。