Webhooks 設定

WhatsApp Business 網誌

訂閱 Webhooks 以獲取通知,查看商家收到的訊息和顧客個人檔案更新。

建立端點

在可以開始接收通知前,您需要在伺服器上建立一個端點來接收通知。

您的端點必須能夠處理兩類 HTTPS 要求:驗證要求和事件通知。由於這兩類要求都使用 HTTPs,因此您的伺服器必須已正確配置並安裝有效的 TLS 或 SSL 憑證。系統不支援自行簽署的憑證。

進一步了解驗證要求和事件通知

Webhooks 設定不會影響在您 WhatsApp Business 應用程式上的手機號碼。將手機號碼轉移至 WhatsApp Business 平台後,您將無法再於 WhatsApp Business 應用程式上使用該號碼。

訂閱 Webhooks

如要訂閱 Webhooks,您需要獲取 Meta 應用程式編號和權限。要執行此操作,首先前往 Meta 應用程式管理中心。您將能夠完成以下事項:

  1. 在 Meta 應用程式管理中心建立商業類型應用程式
  2. 在應用程式管理中心把 Webhooks 產品加入您的 Meta 應用程式

    在任何情況下,您只能為每個 Meta 應用程式配置一個端點。如果您需要將 Webhooks 更新傳送到多個端點,則需要多個 Meta 應用程式。

如果您是解決方案合作夥伴,就可能需要完成下列動作:

  1. 在應用程式管理中心新增 whatsapp_business_messaging 權限
  2. 成功完成 Meta 應用程式審查 :此步驟需要一定時間,但您可以在整個審查程序期間繼續測試。

認識 Webhooks

每當觸發事件發生時,WhatsApp Business 平台便會查看事件,並向您之前指定的 Webhook 網址傳送通知。您可以收到兩類通知:

  • 已收到的訊息:此類提醒會在您收到訊息時通知您。本文件也會將這些訊息稱為「已接收通知」。
  • 訊息狀態和定價通知:此提醒會在訊息狀態變更時(如訊息已被讀取或已送達)通知您。本文件也會將這些訊息稱為「已發出通知」。

所有 Webhooks 均採用以下通用格式:

{
  "object": "whatsapp_business_account",
  "entry": [{
      "id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
      "changes": [{
          "value": {
              "messaging_product": "whatsapp",
              "metadata": {
                  "display_phone_number": "PHONE_NUMBER",
                  "phone_number_id": "PHONE_NUMBER_ID"
              },
              # specific Webhooks payload            
          },
          "field": "messages"
        }]
    }]
}

請參閱元件,了解每個欄位的相關資訊。

如果您收到雲端 API 不支援的訊息,則會收到未知訊息 Webhook

裝載大小

Webhooks 裝載最大可為 3 MB。

應用程式端點範例

建立應用程式端點範例以測試您的 Webhooks。

Webhooks 送達失敗

如果我們向您的端點傳送 Webhook 要求,而您伺服器的回應是 200 以外的 HTTP 狀態代碼,或者如果我們出於其他原因無法送達 Webhook,我們最多會在 7 天的時限內繼續嘗試降低頻率,直到要求送達成功。

請注意,重試將傳送至所有已訂閱 WhatsApp Business 帳戶的 Webhooks(及其相應欄位)的應用程式。這可能會導致您收到重複 Webhook 通知。

IP 位址

透過在終端中運行以下指令,即可獲取我們的 Webhook 伺服器 IP 位址:

whois -h whois.radb.net — '-i origin AS32934' | grep ^route | awk '{print $2}' | sort

我們會定期變更此類 IP 位址,因此如果您將我們的伺服器列入允許清單,便有可能需要間中重新產生此清單,並對允許清單進行相應更新。

後續步驟

進一步了解您可以在 Webhooks 通知中接收的資訊。