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" }
ระบบจะส่ง Webhooks โดยใช้ HTTPS ดังนั้นเซิร์ฟเวอร์ของคุณจึงต้องสามารถรับและประมวลผลคำขอ HTTPS ได้ และต้องมีใบรับรอง TLS/SSL ที่ถูกต้องติดตั้งไว้ โดยระบบจะไม่รองรับใบรับรองที่ลงนามเอง
Webhooks ไม่จำเป็นต้องมีการตรวจสอบแอพ อย่างไรก็ตาม หากต้องการรับการแจ้งเตือน Webhooks ถึงการเปลี่ยนแปลงที่เกิดขึ้นกับอ็อบเจ็กต์เมื่อแอพของคุณอยู่ในโหมดเผยแพร่ แอพของคุณจะต้องได้รับสิทธิ์การอนุญาตที่เกี่ยวข้องกันเพื่อเข้าถึงอ็อบเจ็กต์เหล่านั้น โปรดดูสิทธิ์การอนุญาตที่ด้านล่าง
ก่อนที่จะเปิดให้ใช้งานแอพแบบสาธารณะ แอพดังกล่าวมักจะต้องผ่านการตรวจสอบแอพเสียก่อน ในระหว่างการตรวจสอบ แอพสามารถส่งคำขอรับการอนุมัติสำหรับสิทธิ์การอนุญาตที่เฉพาะเจาะจงได้ ซึ่งจะควบคุมประเภทของข้อมูลที่แอพเข้าถึงได้เมื่อใช้ API กราฟ
แม้ว่าผลิตภัณฑ์ Webhooks จะไม่ต้องรับการตรวจสอบแอพ แต่ก็ต้องคำนึงถึงสิทธิ์การอนุญาต ซึ่งหมายความว่า แม้คุณจะตั้งค่า Webhook และสมัครรับข้อมูลช่องที่เฉพาะเจาะจงเกี่ยวกับประเภทอ็อบเจ็กต์ คุณก็จะไม่ได้รับการแจ้งเตือนถึงการเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับอ็อบเจ็กต์ประเภทนั้น เว้นแต่ในกรณีดังต่อไปนี้
แอพที่อยู่ในโหมดการพัฒนาจะทำได้เพียงรับการแจ้งเตือนทดสอบที่แดชบอร์ดของแอพได้เริ่มขึ้น หรือการแจ้งเตือนที่ผู้ที่มีบทบาทในแอพได้เริ่มขึ้น
โปรดทราบว่าลักษณะการทำงานของโหมดการพัฒนาจะแตกต่างกันไปสำหรับเหตุการณ์ Webhooks ของ Messenger แบบต่างๆ โปรดดูรายละเอียดต่างๆ ที่เอกสารประกอบเกี่ยวกับ Webhooks สำหรับ Messenger
หากต้องการใช้ Webhooks คุณจะต้องตั้งค่าตำแหน่งข้อมูลบนเซิร์ฟเวอร์ (HTTPS) ที่ปลอดภัย จากนั้นให้เพิ่มและกำหนดค่าผลิตภัณฑ์ Webhooks ในแดชบอร์ดของแอพของคุณ ส่วนที่เหลือของเอกสารเหล่านี้จะอธิบายวิธีดำเนินขั้นตอนทั้ง 2 นี้ให้เสร็จสมบูรณ์
พร้อมหรือยัง มาเริ่มกันเลย!