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 和平台回呼設定。