Tài liệu này đã được cập nhật.
Bản dịch sang Tiếng Việt chưa hoàn tất.
Cập nhật bằng tiếng Anh: 11 tháng 9, 2023

Tài liệu tham khảo về API Tải lên file đính kèm

API Tải lên file đính kèm cho phép bạn tải lên tài sản có thể gửi trong tin nhắn sau đó. Nhờ vậy, bạn không phải tải lên nhiều lần các file thường dùng. 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.

Bạn cũng có thể dùng API Gửi để gửi đồng thời tin nhắn có file đính kèm và lưu file đính kèm đó để sử dụng sau. Để biết thêm thông tin, hãy xem Tài liệu tham khảo về API Gửi.

Tải file đính kèm lên

Để tải file đính kèm lên, hãy gửi yêu cầu POST đến điểm cuối /Your-page-id/message_attachment, kèm theo message.attachmenttypepayload. Để có thể sử dụng tài sản này trong nhiều tin nhắn, hãy đặt payload.is_reusabletrue.

Yêu cầu mẫu cho trường hợp tải lên từ URL

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_access_token bằng các giá trị của bạn.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image", 
               "payload":{
                 "url":"https.your-url.com/image.jp",
                 "is_reusable": true
               }
             }
           }
         }'

Yêu cầu mẫu cho trường hợp tải lên từ file

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_access_token bằng các giá trị của bạn.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image"
             }
           },
           "filedata":"@/path-to-your-file/image.png";"type":"image/png"
         }'

Khi thành công, ứng dụng của bạn sẽ nhận được một đối tượng JSON có attachment_id được đặt là ID của file đính kèm mà bạn sẽ dùng trong tin nhắn.

{"attachment_id": "Your-attachment-ID"}

Gửi tin nhắn có chứa tài sản đã tải lên

Để gửi tin nhắn có chứa tài sản mà bạn đã tải lên trước đó với message.attachment.payload.is_reusable được đặt là true, hãy gửi yêu cầu POST đến điểm cuối /Your-page-id/messages kèm theo recipient.id cùng đối tượng message.attachmenttypepayload.attachment_id.

Yêu cầu mẫu cho trường hợp tải lên từ file

Được định dạng để dễ đọc. Thay thế các giá trị in đậm, in nghiêng như page_access_token bằng các giá trị của bạn.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/messages" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image",
               "payload":{
                 "attachment_id":"Your-attachment-ID"
               }
             }
           }
         }'

Khi thành công, ứng dụng của bạn sẽ nhận được một đối tượng JSON có success được đặt là true.

{"success": "true"}

Thuộc tính

Đối với file đính kèm từ URL, hãy cung cấp các thuộc tính sau trong phần nội dung của yêu cầu dưới dạng đối tượng JSON. Đối với file đính kèm từ file, hãy gửi thuộc tính dưới dạng dữ liệu mẫu.

message

Description of the message to be sent.
Property Type Description

message.attachment

Object

An object describing attachments to the message.

message.attachment

Thuộc tính Loại Mô tả

type

Chuỗi

Loại file đính kèm. Phải thuộc một trong các loại sau:

  • hình ảnh
  • video
  • âm thanh
  • file

payload

Đối tượng

Đối tượng payload mô tả file đính kèm.

message.attachment.payload

Thuộc tính Loại Mô tả

url

Chuỗi

Không bắt buộc. URL của file sẽ tải lên. Kích thước file tối đa là 8MB đối với hình ảnh và 25MB đối với mọi loại file khác (sau khi mã hóa). Thời gian chờ được đặt là 75 giây đối với video và 10 giây đối với mọi loại file khác.

is_reusable

Boolean

Không bắt buộc. Đặt thành true để có thể gửi tài sản đã lưu cho người nhận tin nhắn khác. Giá trị mặc định là false.

Mã lỗi

Mã lỗiMã phụThông báo

100

2018074

ID có thể không hợp lệ hoặc bạn không sở hữu file đính kèm.

100

2018008

Không thể tìm nạp file từ url. Kiểm tra để đảm bảo rằng URL hợp lệ, cùng với chứng chỉ SSL hợp lệ, kích thước file hợp lệ và máy chủ phản hồi đủ nhanh để không bị hết thời gian chờ.

100

2018294

Quá trình tải video lên đã hết thời gian chờ hoặc video bị hỏng. Lưu ý rằng nếu bạn không thể tìm nạp video trong vòng 75 giây, quá trình tìm nạp sẽ hết thời gian chờ

100

2018047

Không thể tải file đính kèm lên. Cách phổ biến để kích hoạt lỗi này là loại file phương tiện đã cung cấp không khớp với loại file được cung cấp trong URL