API การสนทนาสำหรับแพลตฟอร์ม Messenger

เอกสารนี้จะอธิบายถึงวิธีเรียกดูข้อมูลต่างๆ เกี่ยวกับการสนทนาผ่านการส่งข้อความบน Instagram และ Messenger คุณจะสามารถเรียกดูข้อมูลต่อไปนี้ได้

  • รายการการสนทนาสำหรับเพจ Facebook หรือบัญชีมืออาชีพบน Instagram ของคุณ
  • รายการข้อความภายในการสนทนาแต่ละรายการ
  • รายละเอียดเกี่ยวกับข้อความแต่ละรายการ ซึ่งรวมถึงเวลาที่ส่งข้อความและผู้ที่ส่ง

ก่อนเริ่มต้น

บทแนะนำการใช้งานนี้จะถือว่าคุณได้อ่านภาพรวมของแพลตฟอร์ม Messenger และภาพรวมของการส่งข้อความบน Instagram และใช้องค์ประกอบต่างๆ ที่จำเป็นแล้ว

คุณจะต้องดำเนินการดังต่อไปนี้

  • ID สำหรับเพจ Facebook สำหรับธุรกิจของคุณหรือเพจ Facebook ที่ลิงก์กับบัญชีมืออาชีพบน Instagram ของคุณ
  • โทเค็นการเข้าถึงเพจที่ขอจากบุคคลที่สามารถดำเนินงาน MESSAGING หรือ MODERATE บนเพจได้
  • คุณจำเป็นต้องมีสิทธิ์การเข้าถึงระดับสูงเพื่อเข้าถึงการสนทนาต่างๆ ระหว่างธุรกิจของคุณกับผู้คนที่ไม่มีบทบาทในแอพส่งข้อความ, บัญชีมืออาชีพบน Instagram, เพจ Facebook หรือธุรกิจของคุณ

แอพของคุณจำเป็นต้องมีสิ่งต่อไปนี้สำหรับการสนทนาใน Messenger ระหว่างผู้คนกับเพจของคุณ

แอพของคุณจำเป็นต้องมีสิ่งต่อไปนี้สำหรับการสนทนาผ่านการส่งข้อความบน Instagram ระหว่างผู้คนกับบัญชีมืออาชีพบน Instagram ของคุณ

  • โทเค็นการเข้าถึงเพจที่ขอโดยผู้ที่สามารถดำเนินงาน MESSAGING บนเพจที่ลิงก์กับบัญชีธุรกิจบน Instagram ของคุณได้
  • สิทธิ์การอนุญาต instagram_basic, instagram_manage_messages และ pages_manage_metadata
  • แอพของคุณต้องเป็นของธุรกิจที่ตรวจสอบยืนยันแล้ว

ข้อจำกัด

  • ข้อมูลที่ส่งคืนมาในการเรียกใช้ API หรือในการแจ้งเตือน Webhooks จะมีเพียง URL ของรูปภาพหรือวิดีโอสำหรับเนื้อหาที่แชร์
  • หากบัญชีของคุณได้รับการลิงก์โดยใช้คีย์ส่วนตัว เช่น อีเมลหรือหมายเลขโทรศัพท์ คุณจะไม่สามารถเรียกดูการสนทนาระหว่างบัญชีเหล่านี้ได้ การสนทนาที่ใช้ได้จะมีเพียงการสนทนาระหว่างผู้ใช้ Facebook จำนวน 1 รายกับบัญชี Instagram จำนวน 1 บัญชีเท่านั้น ปัญหานี้จะหมดไปเมื่อแอพของคุณได้รับการอนุมัติให้ใช้ Advanced Access หากคุณมีการลิงก์หลายบัญชีในศูนย์บัญชีบนแอพ Instagram คุณจะสามารถเรียกดูการสนทนาระหว่างบัญชีที่ลิงก์ทั้งหมดได้
  • ระบบจะไม่ส่งคืนการสนทนาที่อยู่ในโฟลเดอร์ "คำขอ" ซึ่งไม่ได้ใช้งานมาเป็นเวลา 30 วันในการเรียกใช้ API

หากคุณเพิ่งเชื่อมต่อบัญชีธุรกิจบน Instagram กับแอพของคุณ คุณก็สามารถใช้ API นี้เพื่อซิงค์กล่องข้อความของการสนทนาที่ผ่านมาได้

เรียกดูรายการการสนทนา

หากต้องการเรียกดูรายการการสนทนา ให้ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /PAGE-ID/conversations และใส่พารามิเตอร์ platform โดยตั้งค่าเป็น instagram หรือ messenger

ตัวอย่างคำขอ

จัดรูปแบบเพื่อให้อ่านได้ง่าย
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations
    ?platform=PLATFORM
    &access_token=PAGE-ACCESS-TOKEN"

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

{
  "data": 
    {
      "id": "CONVERSATION-ID-1",  
      "updated_time": "UNIX-TIMESTAMP"
    },
    {
      "id": "CONVERSATION-ID-2",   
      "updated_time": "UNIX-TIMESTAMP"
    }
    ...
  ]
} 

ค้นหาการสนทนาด้วยผู้ใช้ที่เฉพาะเจาะจง

หากต้องการเรียกดูการสนทนาระหว่างบัญชีมืออาชีพบน Instagram หรือเพจ Facebook ของคุณกับบุคคลที่เฉพาะเจาะจง ให้ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /PAGE-ID/conversations โดยตั้งค่าพารามิเตอร์ platform และ user_id เป็น ID ใน Instagram หรือ ID ในเพจของบุคคลดังกล่าว

ตัวอย่างคำขอ

มีการจัดรูปแบบเพื่อให้อ่านได้ง่าย
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations
    ?platform=PLATFORM
    &user_id=INSTAGRAM-OR-PAGE-SCOPED-ID
    &access_token=PAGE-ACCESS-TOKEN"

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับ ID สำหรับการสนทนานั้น


{
  "data": [
      {
        "id": "CONVERSATION-ID"
      },
  ]
} 

เรียกดูรายการข้อความในการสนทนา

หากต้องการเรียกดูรายการข้อความในการสนทนา ให้ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /CONVERSATION-ID และใส่ช่อง messages เอาไว้ด้วย

curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/CONVERSATION-ID
    ?fields=messages
    &access_token=PAGE-ACCESS-TOKEN"

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

{
  "messages": {
    "data": [
      {
        "id": "Message ID-1",      
        "created_time": "UNIX-TIMESTAMP-MOST-RECENT-MESSAGE"  
      },
      {
        "id": "Message ID-2",
        "created_time": "UNIX-TIMESTAMP"
      },
      {
        "id": "Message ID-3",
        "created_time": "UNIX-TIMESTAMP"
      },
...
    ]
  },
  "id": "Conversation ID", 
}

เรียกดูข้อมูลเกี่ยวกับข้อความ

หากต้องการเรียกดูข้อมูลเกี่ยวกับข้อความ เช่น ผู้ส่ง ผู้รับ และเนื้อหาของข้อความ ให้ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /MESSAGE-ID พร้อมช่องต่างๆ ที่คุณสนใจ

ช่องเริ่มต้น ได้แก่ id และ created_time

หมายเหตุ: การสืบค้นตำแหน่งข้อมูล /CONVERSATION-ID จะส่งคืน ID ข้อความทั้งหมดในการสนทนา แต่คุณจะได้รับเฉพาะรายละเอียดเกี่ยวกับข้อความ 20 รายการล่าสุดในการสนทนาเท่านั้น หากคุณสืบค้นข้อความที่ไม่อยู่ใน 20 รายการล่าสุด คุณจะพบข้อผิดพลาดที่ระบุว่าข้อความดังกล่าวถูกลบไปแล้ว

curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/MESSAGE-ID
    ?fields=id,created_time,from,to,message
    &access_token=PAGE-ACCESS-TOKEN"

เมื่อดำเนินการสำเร็จ แอพของคุณจะได้รับการตอบกลับแบบ JSON ดังต่อไปนี้ โดยในตัวอย่างนี้ ลูกค้าได้ส่งข้อความที่เป็นตัวอักษรแบบธรรมดาไปยังบัญชีมืออาชีพบน Instagram ของคุณ

{
  "id": "aWdGGiblWZ...",
  "created_time": "2022-07-12T19:11:07+0000",
  "to": {
    "data": [
      {
        "username": "INSTAGRAM-PROFESSIONAL-ACCOUNT-USERNAME",
        "id": "INSTAGRAM-PROFESSIONAL-ACCOUNT-ID"
      }
    ]
  },
  "from": {
    "username": "INSTAGRAM-USERNAME",
    "id": "INSTAGRAM-SCOPED-ID"
  },
  "message": "Hi Kitty!"
}

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

โปรดดูข้อมูลอ้างอิงของเราเกี่ยวกับสิ่งต่อไปนี้

การสนับสนุนสำหรับผู้พัฒนา