SMS(Twilio)
SMS Channel 使用 Twilio Messaging:入站短信和投递状态通过 Webhook 进入 Anyy,出站短信通过 Twilio REST API 发送。
准备材料
- Account SID:
AC加 32 位十六进制字符; - 支持 SMS 的
from_number,采用 E.164 格式; - API Key SID:
SK加 32 位十六进制字符; - 用于 REST 发信的 API Key Secret;
- 用于校验 Twilio Webhook 签名的 Auth Token;
- 公网 HTTPS Callback URL。
号码能力和 Webhook 配置以 Twilio Messaging 官方文档 为准。
在 Dashboard 中连接
- 打开 Dashboard → Channel → Add account。
- 选择 SMS (Twilio)。
- 填入 Account SID、From Number、API Key SID、Status Callback URL。
- 输入 API Key Secret 和 Auth Token。
- 选择私信策略、保存,并在 Twilio Number 中配置入站 Webhook。
Callback 必须使用 HTTPS,并以账号路径结尾:
https://YOUR_HOST/channels/sms/ACCOUNT_ID/webhook
默认 ACCOUNT_ID 为 twilio。入站消息和状态回调使用同一路径。
访问策略
SMS 支持 open、allowlist、disabled,不提供配对。只允许已知号码访问时,应使用 allowlist。
电话号码使用 E.164,例如 +14155550123。
投递回执
Twilio 会向 Callback 汇报投递进度。Anyy 首次发送成功只说明已向服务商分发;状态不明时应先查看后续 Receipt,再决定是否重试。
短信会产生直接费用
收信、发信、运营商附加费和国际短信价格由 Twilio 账号与目标地区决定。启用自动化前,先限制访问并用已知号码完成测试。
验证连接
anyy channel doctor sms
anyy channel reload
先发一条入站短信,确认发信人策略,再测试回复和投递状态。
故障排查
| 现象 | 检查项 |
|---|---|
| Twilio 拒绝 Callback URL | 是否精确使用 HTTPS /channels/sms/ACCOUNT_ID/webhook |
| Webhook 签名失败 | Auth Token,以及代理是否保留原始 URL/Body |
| REST 发信失败 | Account SID、API Key SID/Secret、From Number 能力 |
| 号码被忽略 | 私信策略和 E.164 allowlist |
| 状态一直不更新 | Status Callback URL 和 Twilio 回调配置 |