使用 Webhooks 追蹤 WABA 政策違規情形

企業可以整合 Webhooks,以取得 WhatsApp Business 帳號(WABA)變更的即時通知,包括當企業違反 WhatsApp 政策時。本指南說明如何設定 Webhooks 來接收這些通知,讓企業能夠快速調整行為,以避免額外的警告和/或政策執行措施。

準備工作

若要完成本指南,您需要註冊成為 Meta 開發人員。註冊完成後,您需要設定企業管理平台帳號Meta for Developers 應用程式。

建立 Meta 應用程式時,請務必選擇「商業」類型,並將您的新應用程式與企業管理平台連結

建立應用程式後,將 WhatsApp 以產品形式新增至應用程式。方法如下:

  • 前往 developers.facebook.com/apps,並點擊該應用程式。點擊之後,系統會將您重新導向至您應用程式的應用程式主控板。
  • 在主控板的左側窗格中找到產品,並點擊新增產品。點擊之後,您會看到可以新增至應用程式的產品清單。
  • 找到 WhatsApp 並點擊設定

此外,也請確認您的應用程式已完成應用程式審查,並已要求 whatsapp_business_management 權限。

步驟 1:設定端點並配置 Webhooks

請依照 Webhooks 新手指南的說明建立端點,並配置您的 Webhooks。

步驟 2:將應用程式訂閱至 WABA

您需要將應用程式訂閱至 WhatsApp Business 帳號的 Webhook 通知。您有兩種不同訂閱方式:

步驟 3:註冊帳號最新動態

現在您的應用程式已註冊接收與 WABA 相關的 Webhooks,您可以調整想要接收的更新動態類型。若要追蹤 WABA 動態,您需要選擇 account_update 選項。這樣您就會在 WABA 違反 WhatsApp 政策時收到通知。

若要選擇此選項,請前往應用程式主控板,並找到設定選項。您會看到 Webhooks 區塊中包含您在前述步驟中提供的所有資訊。找到 Webhook 欄位,並點擊管理。隨即出現一個對話方塊,顯示您可以訂閱的所有欄位。針對 account_update 點擊「訂閱」。

現在,只要您的 WABA 違反政策,您就會收到類似以下通知:

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "whatsapp-business-account-id",
      "time": 1604703058,
      "changes": [
        {
          "field": "account_update",
          "value": {
            "phone_number": "16505551111",
            "event": "ACCOUNT_VIOLATION",
            "violation_info": {
            	"violation_type": "ALCOHOL",
            }
          }
        }
      ]
    }
  ]
}


您可以在這裡找到所有違規情形。

步驟 4:追蹤 WABA 限制

您應隨時注意 Webhooks,查看您的 WABA 是否因為違反政策而受到限制。如果受到限制,您會收到 value 物件中包含 restriction_info 欄位的 Webhook。restriction_info 欄位會列出帳號受到的所有限制,以及這些限制的到期日。

您的 WABA 可能因為違反政策而受到一或多項限制。在以下範例中,Webhook 回報 WABA 受到無法新增電話號碼的限制:

{
  "field": "account_update",
  "value": {
    "phone_number": "PHONE_NUMBER",
    "event": "ACCOUNT_RESTRICTION",
    "restriction_info": [
      {
        "restriction_type": "RESTRICTION_ON_ADD_PHONE_NUMBER_ACTION",
        "expiration": TIMESTAMP
      },
    ]
  }
}

在這裡,您看到 WABA 已無法再傳送商家主動開啟的訊息

{
  "field": "account_update",
  "value": {
    "phone_number": "PHONE_NUMBER",
    "event": "ACCOUNT_RESTRICTION",
    "restriction_info": [
      {
        "restriction_type": "RESTRICTED_BIZ_INITIATED_MESSAGING",
        "expiration": TIMESTAMP
      },
    ]
  }
}

最後,您看到 WABA 已無法再回覆用戶主動開啟的訊息

{
  "field": "account_update",
  "value": {
    "phone_number": "PHONE_NUMBER",
    "event": "ACCOUNT_RESTRICTION",
    "restriction_info": [{
        "restriction_type": "RESTRICTED_CUSTOMER_INITIATED_MESSAGING",
        "expiration": TIMESTAMP
      }
    ]
  }
}