ใช้ 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 ของคุณ

คุณจะต้องตั้งค่าแอพให้รับการแจ้งเตือน Webhook สำหรับบัญชี WhatsApp Business โดยคุณสามารถตั้งค่าการติดตามข้อมูลได้ในสองวิธีที่แตกต่างกันดังนี้

ขั้นตอนที่ 3: สมัครรับข้อมูลอัพเดตของบัญชี

ตอนนี้เมื่อแอพของคุณได้สมัครรับ Webhooks ที่เกี่ยวข้องกับ WABA ของคุณแล้ว คุณสามารถปรับแต่งประเภทการอัพเดตที่ต้องการรับได้ โดยคุณต้องเลือกตัวเลือก account_update หากต้องการติดตามสถานะของ WABA วิธีนี้จะช่วยให้คุณได้รับการแจ้งเตือนเมื่อ 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 ถูกจำกัดเนื่องจากการละเมิดนโยบายหรือไม่ หากมีการจำกัด คุณจะได้รับ Webhook ที่มีช่อง restriction_info ภายในอ็อบเจ็กต์ค่า ซึ่งช่อง 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
      }
    ]
  }
}