Webhooks สำหรับแพลตฟอร์ม WhatsApp Business

Webhooks ช่วยให้คุณได้รับการแจ้งเตือน HTTP แบบเรียลไทม์เมื่อมีการเปลี่ยนแปลงเกิดขึ้นกับอ็อบเจ็กต์ที่เฉพาะเจาะจง ตัวอย่างเช่น เราอาจส่งการแจ้งเตือนให้คุณเมื่อผู้ใช้ส่งข้อความถึงคุณหรือเมื่อเทมเพลตข้อความมีสถานะเปลี่ยนแปลงไป ซึ่งช่วยให้คุณไม่ต้องสืบค้น API เพื่อดูการเปลี่ยนแปลงต่ออ็อบเจ็กต์ต่างๆ ที่อาจเกิดขึ้นแล้วหรือไม่ก็ได้ ทั้งยังช่วยให้คุณหลีกเลี่ยงการใช้งานจนถึงขีดจำกัดอัตราอีกด้วย

เอกสารนี้จะให้ภาพรวมเกี่ยวกับ Webhooks และใช้ได้กับ API การจัดการ WhatsApp Business, Cloud API ของแพลตฟอร์ม WhatsApp Business และ On-Premises API ของแพลตฟอร์ม WhatsApp Business

อ็อบเจ็กต์ ช่อง และค่า

API แต่ละรายการอาจมีอ็อบเจ็กต์อยู่หลายประเภท ดังนั้น เมื่อใดก็ตามที่คุณกำหนดค่า Webhook คุณจะต้องเลือกประเภทของอ็อบเจ็กต์เสียก่อน เนื่องจากอ็อบเจ็กต์ที่ต่างกันก็จะมีช่องต่างกัน คุณจึงต้องสมัครรับข้อมูลจากช่องที่เฉพาะเจาะจงสำหรับประเภทอ็อบเจ็กต์นั้นๆ เมื่อช่องอ็อบเจ็กต์ใดๆ ที่คุณสมัครรับข้อมูลไว้มีการเปลี่ยนแปลงค่า คุณก็จะได้รับการแจ้งเตือน

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

Webhooks ที่สามารถใช้งานได้

ตารางต่อไปนี้จะแสดงข้อมูลที่คุณสามารถรับจาก Webhooks ได้

APIอ็อบเจ็กต์

Cloud API

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

On-Premises API

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

API การจัดการ WhatsApp Business

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

ตัวอย่างการแจ้งเตือนข้อความ SMS

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

Cloud API

ในกรณีที่เป็น Cloud API อ็อบเจ็กต์จะเป็น whatsapp_business_account อยู่เสมอ แต่ field จะเป็นตัวระบุถึงประเภทของข้อมูลที่ส่ง

{
  "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
        },
        "contacts": [{
          "profile": {
            "name": "NAME"
          },
          "wa_id": PHONE_NUMBER
        }],
        "messages": [{
          "from": PHONE_NUMBER,
          "id": "wamid.ID",
          "timestamp": TIMESTAMP,
          "text": {
            "body": "MESSAGE_BODY"
          },
          "type": "text"
        }]
      },
      "field": "messages"
    }]
  }]
}

On-Premises API

ในกรณีที่เป็น On-Premises API อ็อบเจ็กต์จะเป็น contacts และ messages, errors หรือ statuses และ pricing เนื่องจากลูกค้าของคุณจะเป็นผู้ส่ง Webhook แทนที่จะเป็น Meta

{
  "contacts": [{
    "profile": {
      "name": "NAME"
    },
    "wa_id": "WHATSAPP_BUSINESS_ACCOUNT_ID"
  }],
  "messages":[{
    "from": "PHONE_NUMBER",
    "id": "wamid.ID",
    "timestamp": "TIMESTAMP",
    "text": {
      "body": "MESSAGE_BODY"
    },
    "type": "text"
  }]
} 

เซิร์ฟเวอร์ HTTPS

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

เรียนรู้เพิ่มเติม

เรียนรู้เพิ่มเติมเกี่ยวกับ Webhooks สำหรับ API ที่เฉพาะเจาะจง

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