跳到主要内容

SMS(Twilio)

Twilio 接入通过签名 Webhook 收短信和状态回调,发信使用 REST。当前只支持私信文本,不提供发送者配对。

开始前备齐资料​

  • account_sid:AC 后接 32 位十六进制字符;
  • api_key_sid:SK 后接 32 位十六进制字符;
  • api_key_secret:REST 发信用秘密;
  • auth_token:Webhook 验签用 Auth Token;
  • from_number:具有短信能力的 E.164 号码;
  • status_callback_url:公开 HTTPS 回调 URL。

号码和平台配置见 Twilio Messaging 文档。短信计费由 Twilio、运营商和目的地区决定,开放访问前先限制可用范围。

先让回调真正可达​

按共享 Webhook 设置开启 Anyy 的监听并重启 Gateway。回调必须精确使用账号路径,例如默认账号 twilio:

https://YOUR_HOST/channels/sms/twilio/webhook

入站短信与状态回调使用同一路径。代理需保留 Body、签名和原公开 URL;在本机 HTTPS 代理终止 TLS 时,用回环连接访问监听,并传递准确的 X-Forwarded-Proto: https 与 X-Forwarded-Host。此接入不会信任来自非回环连接的转发 URL Header。

保存后再检查访问策略​

在 Dashboard 渠道 → 添加 → SMS (Twilio) 填写上述普通值和秘密。新账号 DM 默认 open;用 anyy setup channel 的向导选择 SMS 后可改 open/allowlist/disabled。凭据表单没有策略或名单编辑,切到 allowlist 也不会自动添加号码,详见当前设置范围。

电话号码应使用 E.164,例如 +14155550123。

收发和状态回调分别验证​

anyy channel reload
anyy channel doctor sms

先从符合策略的号码发送测试短信,再检查 Anyy 的回复和后续 Twilio 状态。首次 REST 接受只是投递进度之一,不代表收件人已读;结果不明时先查看回执和平台记录,不重复整条发送。

签名失败优先核对 Auth Token、实际公开 URL 和代理配置;REST 失败检查 Account/API Key、From Number 能力;没有后续状态则检查 Status Callback URL 和平台回调设置。