本接入使用 Meta 的 WhatsApp Business Cloud API,適用於企業號碼收到的私訊文字。它不是一般個人帳號登入,也不提供群組對話或任意聯絡人外呼流程。
先確認本版限制
v0.1.107 會檢查接收者號碼的國家碼,只允許內建歐洲經濟區/巴西字首名單內的號碼;其他號碼不能靠開放 DM 策略繞過。回覆還必須帶原入站訊息上下文,並遵守平台的使用者發起回應視窗。目前只處理文字訊息,不能據此推斷 WhatsApp 媒體收發已實現。
Meta 的帳號資格、權限和回應政策還需以 Cloud API 官方文件 為準;Anyy 固定的實作限制不代表平台目前政策的完整描述。
準備平台資料
需要 Meta App 的 App ID、WhatsApp Business Account ID、Phone Number ID,以及 Access Token、自己設定的 Verify Token、App Secret。完成 WhatsApp 訊息 Webhook 訂閱與 Cloud API 權限設定。
先按訊息平台的 Webhook 設定啟用 Anyy 入站監聽並設定 HTTPS 反向代理。該帳號路徑為:
/channels/whatsapp/ACCOUNT_ID/webhook
儲存帳號和授權傳送者
Dashboard 通訊管道 → 新增 → WhatsApp 填寫平台識別碼和三項秘密,預設帳號 ID 為 personal。策略預設 pairing;如需修改,用 anyy setup channel 的互動精靈,而不是在認證資料表單尋找策略選單。
目前 DM 目錄值是 pairing/open/allowlist/disabled,沒有群組對話策略。名單條目編輯不在此平台現有設定動作中,詳見公開設定範圍。
從符合號碼限制的帳號向企業號碼傳送訊息,再核對和批准配對:
anyy channel pairing list --channel whatsapp
anyy channel pairing approve --request REQUEST_ID
批准後傳送一則新訊息。請核對真實號碼,不只看聯絡人名稱。
觀察收發結果
anyy channel reload
anyy channel doctor whatsapp
Webhook Challenge、帶簽名的入站事件、配對和平台接受回覆應分別確認。回呼使用同一個 Verify Token,代理須保留 X-Hub-Signature-256 與原請求體。
本版以目前入站 message ID 作為回覆路由上下文,所以同一聯絡人下一則訊息不保證進入同一個 Anyy Session。延遲或定時回覆也不能跳過目前路由、接收者資格和平台回應約束。
能收不能發時檢查 Access Token、Phone Number ID、權限、號碼資格及回應視窗;遇到不明傳送結果先檢視平台記錄,不直接重複投遞。