องค์ประกอบ Webhooks

Webhooks จะมีช่องอาร์เรย์ระดับสูงสุดซึ่งแสดงถึงสิ่งที่กำลังสื่อสารอยู่ โดยสิ่งที่อยู่ในอาร์เรย์ดังกล่าวก็คืออ็อบเจ็กต์ JSON พร้อมช่องต่างๆ แบบละเอียดเกี่ยวข้องกับ Webhook

Webhooks ของ API การจัดการ WhatsApp Business สามารถมีอ็อบเจ็กต์ต่างๆ ได้ดังนี้

พารามิเตอร์คำอธิบาย

object

นี่คืออ็อบเจ็กต์ที่ได้สมัครรับข้อมูล


ส่วนนี้จะเป็น whatsapp_business_account อยู่เสมอสำหรับการสมัครใช้งานแบบฝัง

entry

อ็อบเจ็กต์นี้ประกอบด้วยรายละเอียดของการเปลี่ยนแปลงที่ทำให้เกิดการเรียกใช้ Webhooks

อ็อบเจ็กต์ entry

พารามิเตอร์คำอธิบาย

id

ID ของบัญชี WhatsApp Business ที่ส่ง Webhooks นี้

time

เวลาที่ป้อนข้อมูล

changes

การเปลี่ยนแปลงที่ทำให้เกิดการเรียกใช้ Webhooks โปรดดูอ็อบเจ็กต์ changes

changes

พารามิเตอร์คำอธิบาย (คลิกที่ลูกศรในคอลัมน์ด้านซ้ายเพื่อดูค่าที่รองรับ)

field

ประกอบด้วยประเภทการแจ้งเตือนที่คุณได้รับใน Webhook นั้นๆ

ค่าที่รองรับ

  • account_alerts
  • account_review_update
  • account_update
  • business_capability_update
  • message_template_quality_update
  • message_template_status_update
  • phone_number_name_update
  • phone_number_quality_update
  • security
  • template_category_update

value

ประกอบด้วยรายละเอียดของการเปลี่ยนแปลงที่เกี่ยวกับ field ที่ระบุไว้ โปรดดูอ็อบเจ็กต์ value

value

พารามิเตอร์คำอธิบาย (คลิกที่ลูกศรในคอลัมน์ด้านซ้ายเพื่อดูค่าที่รองรับ)

ban_info

เพิ่มไปยัง Webhooks เมื่อมีบัญชีถูกแบน อ็อบเจ็กต์นี้จะมีคุณสมบัติ 2 รายการดังนี้

  • waba_ban_state: ตัวเลือกได้แก่
    • DISABLE
    • REINSTATE
    • SCHEDULE_FOR_DISABLE
  • waba_ban_date

current_limit

ประกอบด้วยขีดจำกัดระดับปัจจุบันของบัญชีนี้

ค่าที่รองรับ

  • TIER_50
  • TIER_250
  • TIER_1K
  • TIER_10K
  • TIER_100K
  • TIER_UNLIMITED

decision

ใช้หากมีการตัดสินใจเกี่ยวกับบัญชีหรือหมายเลขโทรศัพท์เกิดขึ้น

ค่าที่รองรับ

  • APPROVED
  • REJECTED

display_phone_number

รวมหมายเลขโทรศัพท์ที่แสดง ซึ่งเป็นของบัญชีธุรกิจที่กระตุ้นการทำงานของการแจ้งเตือนนั้นๆ

event

ใช้เมื่อเกิดเหตุการณ์ใน WABA ที่เฉพาะเจาะจง คลิกที่ลูกศรในคอลัมน์ด้านซ้ายเพื่อดูตัวเลือกที่มีทั้งหมด

การอัพเดตชื่อที่แสดง

  • APPROVED: การตรวจสอบได้รับการอนุมัติ หากก่อนหน้านี้ธุรกิจไม่สามารถดาวน์โหลดใบรับรองของตนได้ ในตอนนี้ธุรกิจนั้นๆ ควรจะดาวน์โหลดใบรับรองเพื่อใช้ชื่อที่แสดงของตนได้แล้ว
  • DEFERRED: การตรวจสอบมีการเลื่อนออกไป และธุรกิจสามารถใช้ชื่อที่แสดงของตนได้โดยการดาวน์โหลดใบรับรอง
  • REJECTED: การตรวจสอบถูกปฏิเสธ พร้อมระบุเหตุผลที่ปฏิเสธ หากก่อนหน้านี้ธุรกิจไม่สามารถดาวน์โหลดใบรับรองของตนได้ ธุรกิจดังกล่าวจำเป็นต้องสมัครขอรับการตรวจสอบชื่อที่แสดงอีกครั้งเพื่อรับสิทธิ์การเข้าถึงใบรับรอง หากธุรกิจใช้ใบรับรองของตนอยู่แล้ว การปฏิเสธการตรวจสอบชื่อที่แสดงก็จะไม่ส่งผลต่อการทำงานของธุรกิจแต่อย่างใด อย่างไรก็ตาม ธุรกิจก็จำเป็นต้องผ่านการตรวจสอบ จึงจะขยายขีดจำกัดข้อความและบัญชีของตนได้

การอัพเดตคุณภาพเทมเพลตข้อความ

คะแนนคุณภาพก่อนหน้านี้:


  • GREEN
  • RED
  • UNKNOWN
  • YELLOW

คะแนนคุณภาพใหม่:


  • GREEN
  • RED
  • UNKNOWN
  • YELLOW

การอัพเดตสถานะเทมเพลตข้อความ

  • APPROVED
  • DISABLED
  • IN_APPEAL
  • PENDING
  • REINSTATED
  • REJECTED
  • FLAGGED

การอัพเดตหมายเลขโทรศัพท์

  • DOWNGRADE
  • FLAGGED
  • ONBOARDING
  • UNFLAGGED
  • UPGRADE

การอัพเดตหมวดหมู่เทมเพลต

หมวดหมู่ก่อนหน้านี้:


  • MARKETING
  • OTP
  • TRANSACTIONAL

หมวดหมู่ใหม่:


  • AUTHENTICATION
  • MARKETING
  • UTILITY

รหัสการตรวจสอบยืนยันสองขั้นตอน

  • PIN_CHANGED: อัพเดตรหัสการตรวจสอบยืนยันสองขั้นตอนแล้ว (Cloud API เท่านั้น)
  • PIN_RESET_REQUEST: ส่งคำขอให้ปิดใช้งานรหัสการตรวจสอบยืนยันสองขั้นตอน
  • PIN_RESET_SUCCESS: รหัสการตรวจสอบยืนยันสองขั้นตอนถูกปิดใช้งานแล้ว

การอัพเดต WABA

  • ACCOUNT_RESTRICTION: ใช้เพื่อรายงานว่าได้กำหนดให้มีการจำกัดเมื่อ WABA ละเมิดนโยบายแพลตฟอร์ม WhatsApp Business
  • DISABLED_UPDATE
  • VERIFIED_ACCOUNT

max_daily_conversation_per_phone

แสดงเสมอเมื่อมีเงื่อนไขว่า field=business_capability_update


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

max_phone_numbers_per_business

รวมจำนวนหมายเลขโทรศัพท์สูงสุดที่จะระบุให้กับธุรกิจได้


เมื่อมีเงื่อนไขว่า field=business_capability_update นั้น Webhook จะมี max_phone_numbers_per_business หรือ max_phone_numbers_per_waba รายการใดรายการหนึ่งอยู่

max_phone_numbers_per_waba

รวมจำนวนหมายเลขโทรศัพท์สูงสุดที่จะระบุให้กับ WABA ได้


เมื่อมีเงื่อนไขว่า field=business_capability_update นั้น Webhook จะมี max_phone_numbers_per_business หรือ max_phone_numbers_per_waba รายการใดรายการหนึ่งอยู่

reason

เหตุผลในการปฏิเสธเทมเพลต ค่าที่เป็นไปได้:


  • ABUSIVE_CONTENT — เนื้อหาถูกระบุว่ามีการใช้งานที่ไม่เหมาะสม
  • INCORRECT_CATEGORY — หมวดหมู่ถูกระบุว่าไม่ถูกต้อง ดูหมวดหมู่เทมเพลต
  • INVALID_FORMAT — เนื้อหาซ้ำหรือไม่มีตัวอย่าง
  • NONE - ค่าเริ่มต้น ซึ่งจะตั้งไว้เมื่อเทมเพลตได้รับการอนุมัติ
  • SCAM — เนื้อหาได้รับการระบุว่าเป็นการหลอกลวง

rejection_reason

หากคำขอถูกปฏิเสธ ช่องนี้จะแสดงเหตุผลของการปฏิเสธนั้น

requested_verified_name

ช่องนี้จะแสดงชื่อที่ส่งไปเพื่อรับการตรวจสอบยืนยัน

restriction_info

enum

ใช้เพื่อรายงานถึงการจำกัดที่ดำเนินการกับ WABA ที่เฉพาะเจาะจง เมื่อ WABA ดังกล่าวได้ละเมิดนโยบายแพลตฟอร์ม WhatsApp Business


ช่องนี้จะมีรายการการจำกัดประเภทต่างๆ และวันหมดอายุของแต่ละประเภท ประเภทการจำกัดที่ใช้ได้มีดังนี้


  • RESTRICTED_ADD_PHONE_NUMBER_ACTION
  • RESTRICTED_BIZ_INITIATED_MESSAGING
  • RESTRICTED_CUSTOMER_INITIATED_MESSAGING

วันหมดอายุจะมีการระบุไว้ในรูปแบบ DateTime

requester

ID ของผู้ใช้ที่ได้ส่งคำขอให้ปิดใช้งานรหัสการตรวจสอบยืนยันสองขั้นตอน หรือได้ปิดใช้งานหรืออัพเดตรหัสดังกล่าวแล้ว

ตัวอย่าง

การอัพเดตสถานะเทมเพลตข้อความ

อนุมัติเทมเพลตแล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "whatsapp-business-account-id",
      "time": 1604703141,
      "changes": [
        {
          "field": "message_template_status_update",
          "value": { 
              "event": "APPROVED",
              "message_template_id": 1234567, 
              "message_template_name": "My message template",
              "message_template_language": "en-US",
              "reason": null 
         }
       }
      ]
    }
  ]
}

เทมเพลตถูกปฏิเสธ

{
  "object": "whatsapp_business_account"
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "time": <TIMESTAMP>,
      "changes": [
        {
          "value": {
            "event": "REJECTED",
            "message_template_id": <TEMPLATE_ID>,
            "message_template_name": "<TEMPLATE_NAME>",
            "message_template_language": "<LANGUAGE_AND_LOCALE_CODE>",
            "reason": "<REJECTION_REASON>"
          },
          "field": "message_template_status_update"
        }
      ]
    }
  ]
}

เทมเพลตได้รับการจัดตารางเวลาสำหรับการปิดใช้งาน

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": TIMESTAMP,
      "changes": [
        {
          "field": "message_template_status_update",
          "value": { 
              "event": "FLAGGED",
              "message_template_id": TEMPLATE-ID, 
              "message_template_name": "My message template",
              "message_template_language": "en-US",
              "reason": null,
              "disable_info": {
                  "disable_date": "DATE",
              }
         }
       }
      ]
    }
  ]
}

หยุดเทมเพลตชั่วคราวแล้ว

{
  "object": "whatsapp_business account",
  "entry": [
    {
      "id": "10908...",
      "time": 1661885238,
      "changes": [
        {
          "value": {
            "event": "PAUSED",
            "message_template_id": 6048...,
            "message_template_name": "welcome",
            "message_template_language": "en_US",
            "reason": "NONE",
            "other_info": {
              "title": "SECOND_PAUSE",
              "description": "Your WhatsApp message template has been paused for 6 hours until Aug 31 at 12:47 AM UTC because it continued to have issues."
            }
          },
          "field": "message_template_status_update"
        }
      ]
    }
  ],
}

รอลบเทมเพลตข้อความ

{
  "object": "whatsapp_business account",
  "entry": [
    {
      "id": "10310...",
      "time": TIMESTAMP,
      "changes": [
        {
          "value": {
            "event": "PENDING_DELETION",
            "message_template_id": 1137...,
            "message_template_name": "<MY_TEMPLATE_NAME>",
            "message_template_language": "en_US",
            "reason": "NONE"            
            }
          },
          "field": "message_template_status_update"
        }
      ]
    }
  ],
}

การอัพเดตหมวดหมู่เทมเพลต

เปลี่ยนหมวดหมู่เทมเพลตแล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<ID>",
      "time": <TIME>,
      "changes": [
        {
          "field": "template_category_update",
          "value": {            
            "message_template_id": <MESSAGE_TEMPLATE_ID>,
            "message_template_name": "<MESSAGE_TEMPLATE_NAME>",
            "message_template_language": "<MESSAGE_TEMPLATE_LANGUAGE",
            "previous_category": "<PREVIOUS_CATEGORY>",
            "new_category": "<NEW_CATEGORY>"
          }
        }
      ]
    }
  ]
}

การอัพเดตคุณภาพเทมเพลตข้อความ

คะแนนคุณภาพเทมเพลตที่มีการเปลี่ยนแปลง

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "time": <TIMESTAMP>,
      "changes": [
        {
          "field": "message_template_quality_update",
          "value": {
            "previous_quality_score": "<PREVIOUS_QUALITY_SCORE>",
            "new_quality_score": "<NEW_QUALITY_SCORE>",
            "message_template_id": <TEMPLATE_ID>,
            "message_template_name": "<TEMPLATE_NAME>",
            "message_template_language": "<LANGUAGE_AND_LOCALE_CODE>"
          }
        }
      ]
    }
  ]
}

การอัพเดตหมายเลขโทรศัพท์

ได้รับการอัพเดตชื่อแล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "waba-id",
      "time": 1608243053,
      "changes": [
        {
          "field": "phone_number_name_update",
          "value": {
            "display_phone_number": "16505551111",
            "decision": "APPROVED",
            "requested_verified_name": "WhatsApp",
            "rejection_reason": null
          }
        }
      ]
    }
  ]
}

ได้รับการอัพเดตคุณภาพแล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "waba-id",
      "time": 1608243062,
      "changes": [
        {
          "field": "phone_number_quality_update",
          "value": {
            "display_phone_number": "16505551111",
            "event": "FLAGGED",
            "current_limit": "TIER_10K"
          }
        }
      ]
    }
  ]
}

การอัพเดต WABA

หมายเลขแซนด์บ็อกซ์ได้รับการอัพเกรดเป็นบัญชีที่ตรวจสอบยืนยันแล้ว

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

บัญชี WhatsApp Business ถูกระงับการใช้งาน

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "whatsapp-business-account-id",
      "time": 1604703058,
      "changes": [
        {
          "field": "account_update",
          "value": {
            "event": "DISABLED_UPDATE"
            "ban_info": {
              "waba_ban_state": ["SCHEDULE_FOR_DISABLE", "DISABLE", "REINSTATE"],
              "waba_ban_date": "January 31, 2021"
            }
          }
        }
      ]
    }
  ]
}

บัญชี WhatsApp Business ละเมิดนโยบาย

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": TIMESTAMP,
      "changes": [
        {
          "value": {
            "event": "ACCOUNT_VIOLATION",
            "violation_info": {
              "violation_type": "VIOLATION_TYPE"
            }
          },
          "field": "account_update"
        }
      ]
    }
  ]
}

บัญชี WhatsApp Business ถูกจำกัดหลังมีการละเมิดนโยบาย

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": TIMESTAMP,
      "changes": [
        {
          "value": {
            "event": "ACCOUNT_RESTRICTION",
            "restriction_info": [
               {"restriction_type": 
                 "RESTRICTED_BIZ_INITIATED_MESSAGING" | 
                 "RESTRICTION_ON_ADD_PHONE_NUMBER_ACTION" | 
                 "RESTRICTED_CUSTOMER_INITIATED_MESSAGING", 
                 "expiration": TIMESTAMP}
                 ]
            }
          },
          "field": "account_update"
        }
      ]
    }
  ]
}

บัญชี WhatsApp Business ถูกปิดใช้งานแล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": TIMESTAMP,
      "changes": [
        {
          "value": {
            "event": "DISABLED_UPDATE",
            "ban_info": {
              "waba_ban_state": 
               "SCHEDULE_FOR_DISABLE" | 
               "DISABLE" | 
               "REINSTATE",
               "waba_ban_date": TIMESTAMP
            }
          },
          "field": "account_update"
        }
      ]
    }
  ]
}

การตรวจสอบบัญชี WhatsApp Business เสร็จเรียบร้อยแล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "whatsapp-business-account-id",
      "time": 1604703141,
      "changes": [
        {
          "field": "account_review_update",
          "value": {
            "decision": "APPROVED"
          }
        }
      ]
    }
  ]
}

บัญชี WhatsApp Business ถูกจำกัดเนื่องจากมีการละเมิดนโยบาย

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

บัญชี WhatsApp Business ถูกลบแล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": TIMESTAMP,
      "changes": [
        {
          "value": {
              "phone_number": "15551...",
              "event": "ACCOUNT_DELETED",
           },
          "field": "account_update"
        }
      ]
    }
  ]
}

บัญชี WhatsApp Business ถูกลบออกจากพาร์ทเนอร์แล้ว

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": TIMESTAMP,
      "changes": [
        {
          "value": {
              "phone_number": "15551...",
              "event": "PARTNER_REMOVED",
           },
          "field": "account_update"
        }
      ]
    }
  ]
}

การอัพเดตความสามารถของธุรกิจ

{
    "object": "whatsapp_business_account",
    "entry": [
      {
        "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
        "time": TIMESTAMP,
        "changes": [
          {
            "field": "business_capability_update",
            "value": {
              "max_daily_conversation_per_phone": NUMBER,
              "max_phone_numbers_per_business": NUMBER
            }
          }
        ]
      }
    ]
  }

การแจ้งเตือนบัญชี

การเพิ่มขีดจำกัดการส่งข้อความถูกปฏิเสธ

{
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "time": <UNIX_TIMESTAMP>,
      "changes": [
        {
          "value": {
            "entity_type": "BUSINESS",
            "entity_id": "<BUSINESS_ID>",
            "alert_severity": "CRITICAL",
            "alert_status": "ACTIVE",
            "alert_type": "INCREASED_CAPABILITIES_ELIGIBILITY_FAILED",
            "alert_description": "Based on your activity, limits cannot be increased for your business <BUSINES_NAME>. Contact support for more information."
          },
          "field": "account_alerts"
        }
      ]
    }
  ],
  "object": "whatsapp_business_account"
}

การเพิ่มขีดจำกัดการส่งข้อความถูกปฏิเสธ จำเป็นต้องมีการใช้งานเพิ่มเติม

{
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "time": <UNIX_TIMESTAMP>,
      "changes": [
        {
          "value": {
            "entity_type": "BUSINESS",
            "entity_id": "<BUSINESS_ID>",
            "alert_severity": "WARNING",
            "alert_status": "ACTIVE",
            "alert_type": "INCREASED_CAPABILITIES_ELIGIBILITY_DEFERRED",
            "alert_description": "Limits cannot be increased for your business <BUSINES_NAME>. Use WhatsApp Business platform actively for several days and follow our messaging policies."
          },
          "field": "account_alerts"
        }
      ]
    }
  ],
  "object": "whatsapp_business_account"
}

การเพิ่มขีดจำกัดการส่งข้อความถูกปฏิเสธ จำเป็นต้องมีข้อมูลเพิ่มเติม

{
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "time": <UNIX_TIMESTAMP>,
      "changes": [
        {
          "value": {
            "entity_type": "BUSINESS",
            "entity_id": "<BUSINESS_ID>",
            "alert_severity": "WARNING",
            "alert_status": "ACTIVE",
            "alert_type": "INCREASED_CAPABILITIES_ELIGIBILITY_NEED_MORE_INFO",
            "alert_description": "Additional verification is required for your business <BUSINESS_NAME>. Go to Security Center in Meta for Business to complete identity verification. To continue without completing additional verification, your business can use WhatsApp Business platform actively for several days and follow our messaging policies."
          },
          "field": "account_alerts"
        }
      ]
    }
  ],
  "object": "whatsapp_business_account"
}