WhatsApp Webhook:將訊息直接路由至您的伺服器
WhatsApp Webhook 是您指定的 HTTPS 端點,Meta 會向它發布事件,包括傳入訊息、送達狀態、品質變更及帳戶更新。在 Coexistence 號碼上,目的地可設定為您的伺服器,因此對話完全不會經過任何供應商。
- Meta 會直接向您的 URL 發布事件
- 使用您的端點,而非供應商平台
- 每個 WhatsApp Business 帳戶可設定 1 個覆寫
7 天內不收取任何費用。隨時取消。
整個整合的形式:每個帳戶 1 個 HTTPS 目的地。
messages 和 smb_message_echoes,即路由至您的訊息路徑事件。
Meta 在 GET 握手中傳送的值,您的端點必須原樣回傳。
Meta 實際會向 Webhook 傳送甚麼?
事件分為不同類別,而類別之間的區別會決定您的架構。
訊息路徑會承載客戶傳送的內容;在 Coexistence 號碼上,也會回傳團隊從 WhatsApp Business 應用程式傳送的內容。相關欄位是 messages 和 smb_message_echoes,當中包含對話內容。
運作路徑則承載其餘所有內容:連接狀態變更時的 account_update、品質或吞吐量變更時的 phone_number_quality_update、account_alerts、account_review_update、business_capability_update 及 phone_number_name_update。這些事件不含對話內容,也是監察功能的基礎。
把自己放在訊息路徑上的供應商會收到第 1 組事件。不在該路徑上的供應商則不會收到。
Meta 如何驗證端點?
Meta 會先發出 GET 請求,驗證成功後才會傳送任何內容。驗證失敗,是看似完成設定卻一直收不到訊息的最常見原因。
Meta 會以 hub.mode 設為 subscribe、您的 hub.verify_token,以及 hub.challenge 值呼叫您的 URL。您的端點必須將該 challenge 作為原始回應主體回傳,不可包裝成 JSON,也不可加入任何其他內容。否則 Meta 不會開始傳送事件,而任何控制台都不會顯示原因。
端點也必須使用 HTTPS。回傳無提示 404 的端點,或設有拒絕 Meta 請求的驗證層的端點,在第 1 則訊息無法送達前,看起來都與正常設定無異。
目的地可以指向您自己的伺服器嗎?
可以,而這正是不同供應商之間的差異所在。
Meta 允許應用程式覆寫指定 WhatsApp Business 帳戶傳送 Webhook 的位置。我們會把覆寫設定為您的 URL,將訊息路徑事件從我們的回呼移至您的端點。我們會保留運作事件,因為控制台和警報功能都由這些事件組成。
這個結果屬於架構安排,而非我們公布的政策。對話內容不會送到我們這一方,因此沒有機會儲存在我們這一方。未設定覆寫的帳戶會退回我們的預設回呼,處理程式會捨棄這些事件而不予儲存。
號碼重新連接時,目的地會怎樣?
目的地會被移除,這是幾乎沒有人預計到的故障情況。
目的地不是電話號碼的屬性,而是我們應用程式訂閱 WhatsApp Business 帳戶時的覆寫設定。當連接被移除,不論是因 Meta 的 14 天不活躍規則或其他原因,應用程式都會從該帳戶解除安裝,覆寫設定也會一併移除。
重新連接會恢復傳送和監察,但不會恢復向您伺服器傳送事件,也不會顯示錯誤。因此,最先發現問題的往往是客戶表示無人回覆。我們會在每次重新連接時重新套用覆寫,因為曾有實際號碼順利重新連接,卻因此停止傳送事件。
常見錯誤
- 在驗證 GET 中回傳 JSON。Meta 要求只回傳原始 hub.challenge 值。
- 使用臨時或測試 URL。產生該 URL 的工具停止監聽後,Meta 仍會繼續向它傳送事件。
- 假設目的地會在重新連接後保留。它隸屬於應用程式訂閱,會隨訂閱一併解除安裝。
- 把端點置於會拒絕 Meta 請求的驗證層後。
EasyCoexistence 會把 Webhook 覆寫至您的端點,在呼叫前驗證端點,並在任何重新連接後自動重新套用。每個號碼每月 US$ 9 起,用量大時降至 US$ 2,首 7 天免費。
常見問題
我的訊息會經過 EasyCoexistence 嗎?
不會。覆寫設定會把訊息路徑事件從 Meta 直接傳送至您的端點。未設定覆寫的帳戶,其事件會退回我們的回呼,並在不儲存的情況下捨棄。
之後可以更改目的地嗎?
可以,您可隨時從控制台或透過 MCP 連接器更改。傳入 null 會將設定重設為我們的預設值。
Meta 傳送事件時,如果我的伺服器停止運作,會怎樣?
Meta 會在一段時間內重試,之後停止。訊息仍會抵達手機上的 WhatsApp Business 應用程式,因此即使整合失效,商戶也不會遺失任何訊息。
1 個 Webhook 足以供多個號碼使用嗎?
可以。將每個號碼指向同一個端點,並根據負載中的 receiving phone number id 分流。
繼續閱讀
準備開始嗎?
幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。
開始免費試用7 天內不收取任何費用。隨時取消。驗證日期