使用 Webhooks 追蹤 WhatsApp Business 帳戶政策違規情況

商家可以整合 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 步:為應用程式訂閱 WhatsApp Business 帳戶

您需要為您的應用程式訂閱與 WhatsApp Business 帳戶有關的 Webhook 通知。訂閱方式分為兩種:

第 3 步:註冊以接收帳戶更新

現在您的應用程式已完成註冊,能夠接收與 WhatsApp Business 帳戶相關的 Webhooks,接下來您可以精簡要接收的更新類型。如要追蹤 WhatsApp Business 帳戶的狀態,您需要選擇 account_update 選項。這樣一來,您便可以在 WhatsApp Business 帳戶違反 WhatsApp 政策時收到通知。

如要選擇此選項,請前往應用程式管理中心並找出設定選項。此處會顯示 Webhooks 部分,其中包含您在前述步驟提供的所有資訊。找出 Webhooks 欄位,然後點擊管理。頁面隨即會顯示一個對話框,其中包含您可訂閱的所有欄位。找出 account_update 並點擊「訂閱」。

現在,每當 WhatsApp Business 帳戶違反政策時,您都會收到以下通知:

{
  "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 步:追蹤 WhatsApp Business 帳戶限制

您應密切注意 Webhooks,確認自己的 WhatsApp Business 帳戶有否因違反政策而受到限制。如果帳戶受到限制,您收到的 Webhooks 的值物件中會包含 restriction_info 欄位。restriction_info 欄位會列出施加於您帳戶的所有限制,以及這些限制的到期時間。

如果違反政策,您的 WhatsApp Business 帳戶可能會受到一個或多個限制。在以下範例中,Webhooks 回報 WhatsApp Business 帳戶受到限制,無法新增電話號碼:

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

在此,您會看到 WhatsApp Business 帳戶不再獲准傳送商家開始的訊息

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

最後,您會看到 WhatsApp Business 帳戶不再獲准回覆用戶開始的訊息

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