WhatsApp Webhook 欄位及其路由位置
WhatsApp Business 帳戶會以具名欄位傳送事件。其中 2 個承載對話內容,並路由至您的端點;另外 6 個承載運作狀態,是監察的基礎。了解兩者分別,才能決定架構。
- 2 個訊息欄位,6 個運作欄位
- 按帳戶設定路由
- 具名欄位,而非一般負載
7 天內不收取任何費用。隨時取消。
每個欄位承載甚麼?
messages 會承載客戶傳送至該號碼的所有內容:文字、媒體參照、回覆及反應。smb_message_echoes 會承載您的團隊從 WhatsApp Business 應用程式傳送的內容。這只會在 Coexistence 號碼上存在,也是軟件識別人員回覆的方式。
account_update 承載連接狀態,包括應用程式從帳戶解除安裝時的 PARTNER_REMOVED、ACCOUNT_OFFBOARDED、ACCOUNT_RECONNECTED,以及限制或違規事件。phone_number_quality_update 承載品質評分及吞吐量變更。account_alerts 承載 Meta 向帳戶發出的警報,而 account_review_update 承載審查結果。
business_capability_update 承載訊息限額及功能變更,phone_number_name_update 則承載顯示名稱的批准及拒絕。
為甚麼分流對架構很重要?
因為這決定對話內容是否會到達供應商。
覆寫設定會將 2 個訊息欄位直接從 Meta 傳送至您的端點。6 個運作欄位則繼續傳送至供應商,讓控制台及警報功能可以運作,而無需任何人持有訊息。
因此,不儲存訊息的說法可以是結構上的保證,而不只是政策。如果訊息欄位傳送到其他地方,程式碼便沒有可以儲存它們的路徑。就我們的情況而言,沒有設定覆寫的帳戶會退回預設端點,處理程式會捨棄這些事件而不予保存。
您的處理程式應預期哪些欄位?
如果已設定覆寫,則只會有 2 個訊息欄位。建議讓處理程式忽略其他欄位,而不是因遇到它們便失敗。
Meta 會逐步加入欄位,負載結構也可能在沒有通知的情況下增加鍵。按欄位名稱分流並忽略不認識欄位的處理程式可以持續運作;假設固定結構的處理程式,則會在第一個不熟悉的事件上出錯。
亦應明確處理 smb_message_echoes,而不是把它視為雜訊。沒有這個欄位,軟件便不知道人員已經回覆,客戶因而可能就同一問題收到 2 個回覆。
常見錯誤
- 假設使用一般負載。每個事件都會標明其欄位,處理程式應按欄位分流。
- 忽略 smb_message_echoes。沒有它,軟件會在已回覆的人員之上再次回覆。
- 遇到不認識的欄位便失敗,而不是略過它們。Meta 會在沒有詢問的情況下加入欄位。
EasyCoexistence 會訂閱運作欄位作監察,並將 2 個訊息欄位路由至您的端點;如未設定端點,則會捨棄而不予保存。
常見問題
我可以只接收部分欄位嗎?
覆寫設定會將訊息路徑移交給您。運作欄位的分流是固定的,因為監察便是以此建立。
一般 Cloud API 號碼上會有 smb_message_echoes 嗎?
不會。它存在是因為 Coexistence 號碼同時有人員從應用程式傳送內容,以及軟件從 API 傳送內容。
如果我沒有設定目的地,訊息事件會怎樣?
它們會到達我們的預設端點,然後在未保存的情況下被捨棄。
欄位名稱是 Meta 的,還是您自訂的?
是 Meta 的。這些名稱沒有一個是我們自創的,因此值得一次學會。
繼續閱讀
準備開始嗎?
幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。
開始免費試用7 天內不收取任何費用。隨時取消。驗證日期