การตั้งค่า Webhooks

สมัครรับข้อมูล Webhooks เพื่อรับการแจ้งเตือนเกี่ยวกับข้อความที่ธุรกิจของคุณได้รับและรับการอัพเดตโปรไฟล์ลูกค้า

สร้างตำแหน่งข้อมูล

ก่อนที่คุณจะเริ่มรับการแจ้งเตือนได้ คุณจะต้องสร้างตำแหน่งข้อมูลบนเซิร์ฟเวอร์ของคุณเพื่อรับการแจ้งเตือนเสียก่อน

ตำแหน่งข้อมูลของคุณต้องสามารถประมวลคำขอ HTTPS ได้ 2 ประเภท ได้แก่ คำขอให้ตรวจสอบยืนยันและการแจ้งเตือนเหตุการณ์ เนื่องจากคำขอทั้ง 2 ประเภทนี้ใช้ HTTP เซิร์ฟเวอร์ของคุณจึงต้องมีการกำหนดค่าและติดตั้งใบรับรอง TLS หรือ SSL ที่ใช้งานได้ไว้อย่างถูกต้อง โดยระบบจะไม่รองรับใบรับรองที่ลงนามเอง

โปรดเรียนรู้เพิ่มเติมเกี่ยวกับคำขอให้ตรวจสอบยืนยันและการแจ้งเตือนเหตุการณ์

การตั้งค่า Webhooks จะไม่ส่งผลกระทบต่อหมายเลขโทรศัพท์ในแอพ WhatsApp Business ของคุณ คุณจะใช้หมายเลขโทรศัพท์ดังกล่าวในแอพ WhatsApp Business ไม่ได้อีกต่อไปก็ต่อเมื่อคุณได้ย้ายหมายเลขนั้นไปยังแพลตฟอร์ม WhatsApp Business แล้ว

สมัครรับข้อมูล Webhooks

ในการสมัครรับข้อมูล Webhooks คุณจะต้องได้รับ ID ของแอพ Meta และสิทธิ์การอนุญาตต่างๆ โดยให้ไปที่แดชบอร์ดของแอพ Meta ซึ่งคุณจะต้องดำเนินการดังต่อไปนี้

  1. สร้างแอพประเภทธุรกิจในแดชบอร์ดของแอพ Meta
  2. เพิ่มผลิตภัณฑ์ Webhooks ไปยังแอพ Meta ของคุณในแดชบอร์ดของแอพ

    ไม่ว่าในเวลาใดก็ตาม แอพ Meta แต่ละแอพจะมีตำแหน่งข้อมูลที่กำหนดค่าไว้ได้เพียงตำแหน่งเดียวเท่านั้น หากคุณจำเป็นต้องส่งการอัพเดต Webhook ไปยังหลายตำแหน่งข้อมูล คุณจะต้องมีแอพ Meta หลายแอพ

หากคุณเป็นผู้ให้บริการโซลูชั่นทางธุรกิจ (BSP) คุณอาจต้องดำเนินการดังต่อไปนี้

  1. เพิ่มสิทธิ์การอนุญาต whatsapp_business_messaging ในแดชบอร์ดของแอพ
  2. ดำเนินการตรวจสอบแอพ Meta ให้เสร็จเรียบร้อย โดยขั้นตอนนี้จะใช้เวลาสักพักหนึ่ง แต่คุณสามารถทดสอบต่อไปได้ตลอดกระบวนการตรวจสอบ

การทำความเข้าใจเกี่ยวกับ Webhooks

เมื่อใดก็ตามที่เกิดเหตุการณ์ที่กำหนดไว้ขึ้น แพลตฟอร์ม WhatsApp Business จะพบเหตุการณ์ดังกล่าว จากนั้นจะส่งการแจ้งเตือนไปยัง URL ของ Webhook ที่คุณระบุไว้ก่อนหน้านี้ คุณจะได้รับการแจ้งเตือน 2 ประเภท ได้แก่

  • ข่อความที่ได้รับ: การแจ้งเตือนนี้จะแจ้งให้คุณทราบเมื่อคุณได้รับข้อความ หรือเรียกอีกอย่างว่า "การแจ้งเตือนขาเข้า" ในทั้งเอกสารฉบับนี้
  • สถานะข้อความและการแจ้งเตือนการกำหนดราคา: การแจ้งเตือนนี้จะแจ้งให้คุณทราบเมื่อสถานะข้อความเปลี่ยนไป เช่น ข้อความได้รับการส่งถึงผู้รับแล้วหรือมีผู้อ่านข้อความแล้ว หรือเรียกอีกอย่างว่า "การแจ้งเตือนขาออก" ในทั้งเอกสารฉบับนี้

Webhooks ทั้งหมดมีรูปแบบทั่วไปดังต่อไปนี้

{
  "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"
              },
              # specific Webhooks payload            
          },
          "field": "messages"
        }]
    }]
}

โปรดดูข้อมูลสำหรับแต่ละช่องที่องค์ประกอบ

หากคุณได้รับข้อความที่ API ระบบคลาวด์ไม่รองรับ คุณจะได้รับ Webhook ข้อความที่ไม่รู้จัก

ขนาดเพย์โหลด

เพย์โหลด Webhooks ต้องมีขนาดไม่เกิน 3 MB

ตำแหน่งข้อมูลของแอพตัวอย่าง

สร้างตำแหน่งข้อมูลของแอพตัวอย่างเพื่อทดสอบ Webhooks ของคุณ

ความล้มเหลวในการส่ง Webhook

หากเราส่งคำขอ Webhook ไปยังตำแหน่งข้อมูลของคุณ แล้วเซิร์ฟเวอร์ของคุณส่งรหัสสถานะ HTTP ที่นอกเหนือจาก 200 กลับมา หรือหากเราไม่สามารถส่ง Webhook ได้ด้วยเหตุผลอื่น เราจะพยายามส่งต่อไปโดยลดความถี่ลงจนกว่าจะส่งคำขอสำเร็จเป็นระยะเวลาสูงสุด 7 วัน

โปรดทราบว่าเราจะส่งคำขอใหม่ไปยังแอพทั้งหมดที่ได้สมัครรับข้อมูล Webhooks (และช่องที่เหมาะสม) สำหรับบัญชี WhatsApp Business ซึ่งการดำเนินการนี้อาจส่งผลให้มีการแจ้งเตือน Webhook ซ้ำ

ที่อยู่ IP

คุณสามารถรับที่อยู่ IP ของเซิร์ฟเวอร์ Webhook ของเราได้โดยเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ

whois -h whois.radb.net — '-i origin AS32934' | grep ^route | awk '{print $2}' | sort

เราจะเปลี่ยนที่อยู่ IP เหล่านี้เป็นระยะ ดังนั้นหากคุณเพิ่มเซิร์ฟเวอร์ของเราลงในรายการที่อนุญาต คุณอาจจะต้องสร้างรายการนี้ขึ้นมาใหม่และอัพเดตรายการที่อนุญาตของคุณให้สอดคล้องกันเป็นครั้งคราว

ขั้นตอนถัดไป

เรียนรู้เพิ่มเติมเกี่ยวกับข้อมูลที่คุณอาจได้รับในการแจ้งเตือน Webhooks