SuperAPI AI 工具集

twilio-webhooks

编程与开发

查看项目

更新于 10-15 22:14

技能介绍

用途:帮助开发者搭建 Twilio Webhook 处理器,接收并验证 Twilio 发来的短信、语音、WhatsApp、录音等通信事件,并排查 X-Twilio-Signature 签名校验失败问题。

主要能力:Twilio 使用 HMAC-SHA1(base64)对每个 Webhook 签名,签名密钥为 Auth Token(非 Account SID)。多数 Webhook 以 application/x-www-form-urlencoded 发送,推荐用官方 SDK 验证,可同时处理表单与 JSON。技能提供 Express(Node SDK)、Next.js(手动 HMAC-SHA1)、FastAPI(twilio.request_validator.RequestValidator)三种实现示例。

事件识别:Twilio 无统一事件字段,类型由参数和配置的 URL 推断。收到短信/彩信含 MessageSid、From、To、Body、NumMedia,需返回 TwiML;来电含 CallSid、From、To、CallStatus,返回 TwiML;消息状态回调含 MessageSid、MessageStatus,返回 204;通话状态回调含 CallSid、CallStatus;录音回调含 RecordingSid、RecordingStatus、RecordingUrl。

使用方式:设置环境变量 TWILIO_ACCOUNT_SID 与 TWILIO_AUTH_TOKEN。本地开发可用 npx hookdeck-cli listen 3000 twilio --path /webhooks/twilio 建立隧道,并将 CLI 输出的公网 URL 配置到 Twilio 控制台。注意 Twilio 按配置的精确 URL 计算签名,隧道场景须填隧道 URL 而非 localhost,否则验证失败。

限制与建议:资料未提供收费、价格或平台支持范围等信息。建议配合 webhook-handler-patterns 技能处理处理顺序、幂等(以 MessageSid/CallSid 为幂等键)、错误处理与重试逻辑。