การบันทึกองค์ประกอบ

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

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

เนื้อหา

ประเภทองค์ประกอบที่รองรับ

แพลตฟอร์ม Messenger รองรับการบันทึกองค์ประกอบประเภทต่างๆ ดังต่อไปนี้ โดยมีขนาดไม่เกิน 25 MB

  • รูปภาพ
  • เสียง - ส่วนหัว Content-Type ต้องใช้ประเภท audio เช่น audio/mp3
  • วิดีโอ
  • ไฟล์

การบันทึกด้วย API การส่ง

API การส่งช่วยให้คุณสามารถบันทึกองค์ประกอบที่ส่งไปพร้อมกับข้อความได้ ซึ่งเป็นอีกวิธีหนึ่งที่สามารถใช้แทนการอัพโหลดองค์ประกอบล่วงหน้าด้วย API การอัพโหลดไฟล์แนบได้ โดยให้ส่งคำขอ POST โดยตั้งค่า payload.is_reusable เป็น true ไปยังตำแหน่งข้อมูล /messages

การบันทึกจาก URL

หากต้องการบันทึกองค์ประกอบจาก URL ให้ระบุ URL ต้นทางในคุณสมบัติ payload.url ของอ็อบเจ็กต์ attachment ของข้อความดังนี้

{
  "recipient":{
    "id":"

For a complete list of API calls and request properties, see the Send API Reference.

การบันทึกจากไฟล์

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

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

For a complete list of API calls and request properties, see the Send API Reference.

การตอบกลับ API

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

{
  "recipient_id": "1254444444682919",
  "message_id": "mid.$cAAJsujCd2ORkHh27-ld7NhzuqrUK",
  "attachment_id": "687799999980546"
}

การบันทึกด้วย API การอัพโหลดไฟล์แนบ

API การอัพโหลดไฟล์แนบช่วยให้คุณสามารถอัพโหลดองค์ประกอบต่างๆ ล่วงหน้าได้ ซึ่งจะเป็นประโยชน์หากคุณทราบล่วงหน้าว่าคุณจะต้องส่งองค์ประกอบอย่างใดอย่างหนึ่งซ้ำๆ โดยให้ส่งคำขอ POST ไปยังตำแหน่งข้อมูล /message_attachments

หากต้องการดูรายการการเรียก API และคุณสมบัติการร้องขอทั้งหมด โปรดดูที่ข้อมูลอ้างอิง API การอัพโหลดไฟล์แนบ

การบันทึกจาก URL

หากต้องการบันทึกองค์ประกอบจาก URL ให้ระบุ URL ต้นทางในคุณสมบัติ payload.url ของอ็อบเจ็กต์ attachment ของข้อความดังนี้

curl -X POST -H "Content-Type: application/json" -d '{
  "message":{
    "attachment":{
      "type":"image", 
      "payload":{
        "is_reusable": true,
        "url":"http://www.messenger-rocks.com/image.jpg"
      }
    }
  }
}' "https://graph.facebook.com/v2.6/me/message_attachments?access_token=<PAGE_ACCESS_TOKEN>"

หากต้องการดูรายการการเรียก API และคุณสมบัติการร้องขอทั้งหมด โปรดดูที่ข้อมูลอ้างอิง API การอัพโหลดไฟล์แนบ

การบันทึกจากไฟล์

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

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

การตอบกลับ API

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

{
  "attachment_id":"1857777774821032"
}

การส่งองค์ประกอบที่บันทึกไว้

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

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