Lưu tài sản

Để tối ưu hóa việc gửi tài sản, bạn có thể yêu cầu Nền tảng Messenger lưu tài sản khi tài sản được gửi nếu muốn. Thao tác này sẽ hữu ích nếu bạn định gửi cùng một file đính kèm nhiều lần, vì bạn sẽ không phải tải tài sản lên cho mỗi yêu cầu.

Nền tảng Messenger cung cấp 2 API giúp bạn lưu tài sản để sử dụng sau này: API GửiAPI Tải lên file đính kèm. Cả hai API này hỗ trợ lưu tài sản từ URL và từ hệ thống file cục bộ của bạn.

Nội dung

Loại tài sản được hỗ trợ

Nền tảng Messenger hỗ trợ lưu các loại tài sản sau đây, với kích thước lên đến 25MB:

  • hình ảnh
  • âm thanh - tiêu đề Content-Type phải sử dụng loại audio. Ví dụ: audio/mp3.
  • video
  • file

Lưu bằng API Gửi

API Gửi cho phép bạn lưu tài sản được gửi kèm theo tin nhắn, thay vì tải lên trước bằng API Tải lên file đính kèm. Để thực hiện việc này, hãy gửi yêu cầu POST với payload.is_reusable được đặt thành true đến điểm cuối /messages.

Lưu từ URL

Để lưu tài sản từ URL, hãy chỉ định URL nguồn trong thuộc tính payload.url của đối tượng attachment trong tin nhắn:

{
  "recipient":{
    "id":"

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

Lưu từ file

Để lưu tài sản từ hệ thống file cục bộ, hãy gửi tin nhắn đang chờ đến API Gửi dưới dạng dữ liệu trong mẫu và chỉ định vị trí file trong trường filedata của yêu cầu:

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.

Phản hồi API

Phản hồi sẽ chứa attachment_id có thể được dùng để đính kèm tài sản với các tin nhắn trong tương lai. Lưu ý rằng đây là ID riêng tư và chỉ trang gửi file đính kèm ban đầu mới có thể sử dụng lại ID này.

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

Lưu bằng API Tải lên file đính kèm

Với API Tải lên file đính kèm, bạn có thể tải tài sản lên trước. Việc này sẽ hữu ích nếu bạn biết trước rằng mình sẽ cần gửi các tài sản cụ thể nhiều lần. Để thực hiện việc này, hãy gửi yêu cầu POST đến điểm cuối /message_attachments.

Để có danh sách hoàn chỉnh các lệnh gọi API và thuộc tính yêu cầu, hãy xem Tài liệu tham khảo về API Tải lên file đính kèm.

Lưu từ URL

Để lưu tài sản từ URL, hãy chỉ định URL nguồn trong thuộc tính payload.url của đối tượng attachment trong tin nhắn:

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>"

Để có danh sách hoàn chỉnh các lệnh gọi API và thuộc tính yêu cầu, hãy xem Tài liệu tham khảo về API Tải lên file đính kèm.

Lưu từ file

Để lưu tài sản từ hệ thống file cục bộ, hãy gửi tin nhắn đang chờ đến API Tải lên file đính kèm dưới dạng dữ liệu trong mẫu và chỉ định vị trí file trong trường filedata của yêu cầu:

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>"  
  

Phản hồi API

Phản hồi sẽ chứa attachment_id có thể được dùng để đính kèm tài sản với các tin nhắn trong tương lai. Lưu ý rằng đây là ID riêng tư và chỉ trang gửi file đính kèm ban đầu mới có thể sử dụng lại ID này.

{
  "attachment_id":"1857777774821032"
}

Gửi tài sản đã lưu

Sau khi có attachment_id của tài sản đã lưu, bạn có thể sử dụng ID này để đính kèm tài sản với tin nhắn. Hãy xem phần Gửi tin nhắn - Đính kèm tài sản đã lưu để biết thêm thông tin.

Hỗ trợ nhà phát triển