WhatsApp Business 平台專用 Webhooks

WhatsApp Business 網誌

Webhooks 讓您可以收到特定物件相關變更的即時 HTTP 通知。例如,用戶傳送訊息給您或訊息範本的狀態改變時,我們可以向您傳送通知。這樣,您就無需查詢我們的 API 以了解可能發生或未發生的物件變更,並協助您避免達到限速額度。

本文件概述了 Webhooks,這項功能適用於 WhatsApp Business 管理 API、WhatsApp Business 平台雲端 API 以及 WhatsApp Business 平台內部部署 API。

物件、欄位與值

每個 API 都可以擁有多種物件類型。因此,無論您何時配置 Webhooks,都必須先選擇物件類型。由於不同物件有不同的欄位,您必須針對該物件類型訂閱特定欄位。每當您所訂閱物件欄位的值有所變動,您就會收到通知。

我們會以 HTTP POST 要求的形式傳送通知,其中包含描述該變更的 JSON 裝載。

可用 Webhooks

下表概述了您可以從 Webhooks 收到的資訊。

API物件

雲端 API

  • 顧客執行某項動作,例如回覆企業訊息
  • 顧客更新手機號碼
  • 由企業傳送,已送達顧客裝置或顧客已讀的訊息,其中包括定價資訊
  • 訊息出現錯誤

內部部署 API

  • 顧客執行某項動作,例如回覆企業訊息
  • 顧客更新手機號碼
  • 由企業傳送,已送達顧客裝置或顧客已讀的訊息,其中包括定價資訊
  • 訊息出現錯誤

WhatsApp Business 管理 API

  • 官方商業帳戶狀態和顯示名稱狀態發生變更
  • WhatsApp Business 帳戶審查狀態的變更
  • WhatsApp Business 帳戶資訊已更新,加入了有關政策違規內容的資訊
  • WhatsApp Business 帳戶的功能已有變化,例如每個手機號碼的對話數量有所改變
  • 某個訊息範本已獲批准、遭拒絕或已停用
  • 與某個手機號碼相關的顯示名稱已獲批准或遭拒絕
  • 某個手機號碼的品質相關狀態已改變

文字訊息通知範例

用戶向您傳送文字訊息時,系統向您傳送的 Webhook 通知會如以下範例所示。

雲端 API

在雲端 API 中,物件一律是 whatsapp_business_account,但 field 將表示所傳送的資訊類型。

{
  "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
        },
        "contacts": [{
          "profile": {
            "name": "NAME"
          },
          "wa_id": PHONE_NUMBER
        }],
        "messages": [{
          "from": PHONE_NUMBER,
          "id": "wamid.ID",
          "timestamp": TIMESTAMP,
          "text": {
            "body": "MESSAGE_BODY"
          },
          "type": "text"
        }]
      },
      "field": "messages"
    }]
  }]
}

內部部署 API

在內部部署 API 中,由於您的用戶端將傳送 Webhook 而非 Meta,物件將會是 contactsmessageserrorsstatusespricing

{
  "contacts": [{
    "profile": {
      "name": "NAME"
    },
    "wa_id": "WHATSAPP_BUSINESS_ACCOUNT_ID"
  }],
  "messages":[{
    "from": "PHONE_NUMBER",
    "id": "wamid.ID",
    "timestamp": "TIMESTAMP",
    "text": {
      "body": "MESSAGE_BODY"
    },
    "type": "text"
  }]
} 

HTTPS 伺服器

您需使用 HTTPS 傳送所有 Webhooks,因此您的伺服器必須能夠接收和處理 HTTPS 要求,而且必須安裝有效的 TLS/SSL 證書。系統不支援自行簽署的憑證。

後續步驟

  • 新手指南:找出哪些 API 適合您的商家。
  • 顯示名稱:設定在 WhatsApp 訊息顯示的商家名稱。
  • 手機號碼:將手機號碼與您的 WhatsApp Business 帳戶連結
  • 定價:了解定價以及設定付款的方法。