เทมเพลตสื่อ

เทมเพลตสื่อทำให้คุณสามารถส่งรูปภาพ, GIF และวิดีโอเป็นข้อความแบบโครงสร้างได้ด้วยปุ่มที่เพิ่มเข้ามา วิดีโอและ GIF แบบภาพเคลื่อนไหวที่ส่งด้วยเทมเพลตสื่อจะเล่นได้ในการสนทนา

เทมเพลตสื่อสามารถส่งได้ทาง Send API และจากมุมมองเว็บ Messenger โดยใช้ฟังก์ชั่น beginShareFlow() ของ Messenger Extension SDK

รูปภาพและวิดีโอเท่านั้น

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

เนื้อหา

การส่งสื่อด้วย ID ไฟล์แนบ

ในการส่งรูปภาพ ให้ส่งคำขอ POST ไปให้ Send API โดยมีคุณสมบัติ payload ต่อไปนี้ในเนื้อหาคำขอ โดยที่ attachment_id คือ ID ที่สร้างจาก Attachment Upload API สำหรับคำขอที่ใช้คุณสมบัติ attachment_id จะสามารถรองรับรูปภาพและวิดีโอ

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

การใช้สื่อซ้ำจาก Facebook URL

สื่อจาก Facebook URL ไม่รองรับ ID ไฟล์แนบ ไฟล์เหล่านี้ได้รับการแคชอยู่แล้ว และควรแนบเข้ากับเทมเพลตสื่อด้วย Facebook URL ของไฟล์

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<PSID>"
  },
  "message":{
    "attachment": {
      "type": "template",
      "payload": {
         "template_type": "media",
         "elements": [
            {
               "media_type": "<image|video>",
               "attachment_id": "<ATTACHMENT_ID>"
            }
         ]
      }
    }    
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

การส่งสื่อด้วย Facebook URL

เทมเพลตสื่อทำให้คุณสามารถส่งวิดีโอและรูปภาพที่อัพโหลดไปยัง Facebook ได้ด้วยการส่งคำขอ POST ไปยังปลายทาง /messages โดยมี Facebook URL อยู่ในคุณสมบัติ url ของคำขอ:

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

Facebook URL เท่านั้น

เทมเพลตสื่อไม่อนุญาตให้ใช้ URL ภายนอกใดๆ โดยอนุญาตเฉพาะ URL บน Facebook เท่านั้น หากต้องการส่งรูปภาพหรือวิดีโอด้วย URL ภายนอก ให้อัพโหลดไฟล์โดยใช้ Attachment Upload API แล้วรับ attachment_id

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<PSID>"
  },
  "message":{
    "attachment": {
      "type": "template",
      "payload": {
         "template_type": "media",
         "elements": [
            {
               "media_type": "<image|video>",
               "url": "<FACEBOOK_URL>"
            }
         ]
      }
    }    
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

การรับ Facebook URL

ดำเนินการดังนี้เพื่อรับ Facebook URL ของรูปภาพหรือวิดีโอ:

  1. คลิกภาพขนาดย่อของรูปภาพหรือวิดีโอเพื่อเปิดมุมมองขนาดเต็ม
  2. คัดลอก URL จากแถบที่อยู่ในเบราว์เซอร์ของคุณ

Facebook URL ควรอยู่ในรูปแบบฐานต่อไปนี้:

ประเภทสื่อที่มาสื่อรูปแบบ URL

วิดีโอ

เพจ Facebook

https://business.facebook.com/<PAGE_NAME>/videos/<NUMERIC_ID>

วิดีโอ

บัญชีผู้ใช้ Facebook

https://www.facebook.com/<USERNAME>/videos/<NUMERIC_ID>/

รูปภาพ

เพจ Facebook

https://business.facebook.com/<PAGE_NAME>/photos/<NUMERIC_ID>

รูปภาพ

บัญชีผู้ใช้ Facebook

https://www.facebook.com/photo.php?fbid=<NUMERIC_ID>

การเพิ่มปุ่ม

คุณสามารถแนบปุ่มไปกับเทมเพลตสื่อได้ด้วย จำนวนและประเภทปุ่มที่รองรับจะแตกต่างกันไป ขึ้นอยู่กับว่าคุณใช้เทมเพลตสื่อกับ beginShareFlow() ของ Messenger Extensions SDK หรือส่งด้วย Send API:

  • Send API: สามารถแนบปุ่มประเภทใดก็ได้สูงสุด 3 ปุ่ม
  • beginShareFlow(): สามารถแนบเฉพาะปุ่มประเภท URL ได้ 1 ปุ่ม

ในการเพิ่มปุ่มลงในเทมเพลตสื่อ ให้เพิ่มอาร์เรย์ buttons ลงในการประกาศเทมเพลตในส่วนเนื้อหาคำขอ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปุ่มที่ใช้ได้ โปรดดู “ปุ่ม

"elements": [
   {
      "media_type": "image",
      "url": "<MEDIA_URL>",
      "buttons": [
         {
            "type": "web_url",
            "url": "<WEB_URL>",
            "title": "View Website",
         }
      ]
   }
]

การตอบสนอง API

ถ้าสำเร็จ แพลตฟอร์ม Messenger จะตอบสนองด้วย recipient_id และ message_id ของข้อความที่ส่ง:

{
  "recipient_id": "1254477777772919",
  "message_id": "AG5Hz2Uq7tuwNEhXfYYKj8mJEM_QPpz5jdCK48PnKAjSdjfipqxqMvK8ma6AC8fplwlqLP_5cgXIbu7I3rBN0P"
}