Webhooks ของ Meta

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

Webhooks สำหรับการชำระเงินและ Webhooks สำหรับ Messenger มีขั้นตอนการกำหนดค่าที่ต่างกันเล็กน้อย หากคุณกำลังตั้งค่า Webhook สำหรับผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่งจากรายการเหล่านี้ โปรดอ่านคำแนะนำในการตั้งค่าในเอกสารที่เกี่ยวข้อง

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

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

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

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

{
  "entry": [
    {
      "time": 1520383571,
      "changes": [
        {
          "field": "photos",
          "value": {
            "verb": "update",
            "object_id": "10211885744794461"
          }
        }
      ],
      "id": "10210299214172187",
      "uid": "10210299214172187"
    }
  ],
  "object": "user"
}

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

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

การตรวจสอบแอพ

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

สิทธิ์การอนุญาต

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

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

  • แอพของคุณได้รับการอนุมัติสำหรับสิทธิ์การอนุญาตที่เกี่ยวข้องกับข้อมูลประเภทนั้นๆ แล้ว และ
  • อ็อบเจ็กต์ที่เป็นเจ้าของข้อมูลได้ให้สิทธิ์การอนุญาตในการเข้าถึงข้อมูลดังกล่าวแก่แอพของคุณ (เช่น ผู้ใช้อนุญาตให้แอพของคุณเข้าถึงฟีดของตน)

โหมดการพัฒนา

แอพที่อยู่ในโหมดการพัฒนาจะทำได้เพียงรับการแจ้งเตือนทดสอบที่แดชบอร์ดของแอพได้เริ่มขึ้น หรือการแจ้งเตือนที่ผู้ที่มีบทบาทในแอพได้เริ่มขึ้น

โปรดทราบว่าลักษณะการทำงานของโหมดการพัฒนาจะแตกต่างกันไปสำหรับเหตุการณ์ Webhooks ของ Messenger แบบต่างๆ โปรดดูรายละเอียดต่างๆ ที่เอกสารประกอบเกี่ยวกับ Webhooks สำหรับ Messenger

การตั้งค่า

หากต้องการใช้ Webhooks คุณจะต้องตั้งค่าตำแหน่งข้อมูลบนเซิร์ฟเวอร์ (HTTPS) ที่ปลอดภัย จากนั้นให้เพิ่มและกำหนดค่าผลิตภัณฑ์ Webhooks ในแดชบอร์ดของแอพของคุณ ส่วนที่เหลือของเอกสารเหล่านี้จะอธิบายวิธีดำเนินขั้นตอนทั้ง 2 นี้ให้เสร็จสมบูรณ์

พร้อมหรือยัง มาเริ่มกันเลย!

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