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, hãy gửi yêu cầu POST
đến điểm cuối /
Your-page-id
/message_attachment
, kèm theo message.attachment
có type
và payload
. Để có thể sử dụng tài sản này trong nhiều tin nhắn, hãy đặt payload.is_reusable
là true
.
Đượ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
}
}
}
}'
Đượ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 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.attachment
có type
và payload.attachment_id
.
Đượ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"}
Đố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
Property | Type | Description |
---|---|---|
| Object | An object describing attachments to the message. |
message.attachment
Thuộc tính | Loại | Mô tả |
---|---|---|
| Chuỗi | Loại file đính kèm. Phải thuộc một trong các loại sau:
|
| Đối tượng | Đối tượng |
message.attachment.payload
Thuộc tính | Loại | Mô tả |
---|---|---|
| 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. |
| Boolean | Không bắt buộc. Đặt thành |
Mã lỗi | Mã 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 |