easyCoexistence
登入開始免費試用
Meta Tech Provider

WhatsApp Webhook:將訊息直接路由至您的伺服器

WhatsApp Webhook 是您指定的 HTTPS 端點,Meta 會向它發布事件,包括傳入訊息、送達狀態、品質變更及帳戶更新。在 Coexistence 號碼上,目的地可設定為您的伺服器,因此對話完全不會經過任何供應商。

  • Meta 會直接向您的 URL 發布事件
  • 使用您的端點,而非供應商平台
  • 每個 WhatsApp Business 帳戶可設定 1 個覆寫
開始免費試用

7 天內不收取任何費用。隨時取消。

不儲存訊息Business 應用程式 + Cloud API供 Claude 及 ChatGPT 使用的 MCP2 分鐘內開始運作
1 URL

整個整合的形式:每個帳戶 1 個 HTTPS 目的地。

2 fields

messages 和 smb_message_echoes,即路由至您的訊息路徑事件。

hub.challenge

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 完成這項設定

EasyCoexistence 會把 Webhook 覆寫至您的端點,在呼叫前驗證端點,並在任何重新連接後自動重新套用。每個號碼每月 US$ 9 起,用量大時降至 US$ 2,首 7 天免費。

常見問題

我的訊息會經過 EasyCoexistence 嗎?

不會。覆寫設定會把訊息路徑事件從 Meta 直接傳送至您的端點。未設定覆寫的帳戶,其事件會退回我們的回呼,並在不儲存的情況下捨棄。

之後可以更改目的地嗎?

可以,您可隨時從控制台或透過 MCP 連接器更改。傳入 null 會將設定重設為我們的預設值。

Meta 傳送事件時,如果我的伺服器停止運作,會怎樣?

Meta 會在一段時間內重試,之後停止。訊息仍會抵達手機上的 WhatsApp Business 應用程式,因此即使整合失效,商戶也不會遺失任何訊息。

1 個 Webhook 足以供多個號碼使用嗎?

可以。將每個號碼指向同一個端點,並根據負載中的 receiving phone number id 分流。

繼續閱讀

準備開始嗎?

幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。

開始免費試用7 天內不收取任何費用。隨時取消。

驗證日期

WhatsApp Webhook 詳解