API Unggah Lampiran memungkinkan Anda untuk mengunggah aset yang dapat dikirim dalam pesan nantinya. Hal ini memungkinkan Anda agar tidak perlu mengunggah file yang umum digunakan berkali-kali. API mendukung menyimpan aset dari URL dan dari sistem file lokal Anda.
Anda juga dapat menggunakan Send API untuk mengirim pesan secara bersamaan dengan lampiran dan menyimpan lampiran untuk digunakan nanti. Untuk informasi selengkapnya, lihat Referensi Send API.
Untuk mengunggah lampiran, kirim permintaan POST
ke endpoint /
Your-page-id
/message_attachment
dengan message.attachment
dengan type
dan payload
. Agar dapat menggunakan aset di beberapa pesan, atur payload.is_reusable
ke true
.
Diformat agar mudah dibaca. Ganti nilai cetak tebal, cetak miring, seperti page_access_token, dengan nilai Anda.
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
}
}
}
}'
Diformat agar mudah dibaca. Ganti nilai cetak tebal, cetak miring, seperti page_access_token, dengan nilai Anda.
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"
}'
Jika berhasil, aplikasi Anda akan menerima objek JSON dengan attachment_id
disetel ke ID lampiran Anda untuk digunakan dalam pesan Anda.
{"attachment_id": "Your-attachment-ID"}
Untuk mengirim pesan dengan aset yang telah Anda unggah sebelumnya, unggah dengan message.attachment.payload.is_reusable
diatur ke true
, kirim permintaan POST
ke endpoint /
Your-page-id
/messages
dengan recipient.id
, dan objek message.attachment
dengan type
dan payload.attachment_id
.
Diformat agar mudah dibaca. Ganti nilai cetak tebal, cetak miring, seperti page_access_token, dengan nilai Anda.
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"
}
}
}
}'
Setelah berhasil, aplikasi Anda akan menerima objek JSON dengan success
diatur ke true
.
{"success": "true"}
Untuk lampiran dari URL, sediakan properti berikut di isi permintaan sebagai objek JSON. Untuk lampiran dari file, kirim properti sebagai data formulir.
message
Property | Type | Description |
---|---|---|
| Object | An object describing attachments to the message. |
message.attachment
Properti | Jenis | Deskripsi |
---|---|---|
| String | Jenis lampiran. Harus berupa salah satu dari berikut:
|
| Objek | objek |
message.attachment.payload
Properti | Jenis | Deskripsi |
---|---|---|
| String | Opsional. URL file yang akan diunggah. Ukuran file maksimum adalah 8MB untuk gambar dan 25MB untuk semua jenis file lainnya (setelah enkode). Waktu habis diatur menjadi 75 detik untuk video dan 10 detik untuk semua jenis file lainnya. |
| Boolean | Opsional. Atur ke |
Kode kesalahan | Subkode | Pesan |
---|---|---|
100 | 2018074 | Kemungkinan ID tidak valid atau Anda tidak memiliki lampiran. |
100 | 2018008 | Gagal mengambil file dari URL. Periksa apakah URL tersebut valid, dengan sertifikat SSL yang valid, ukuran file valid, dan server menanggapi dengan cukup cepat agar terhindar dari waktu habis. |
100 | 2018294 | Waktu unggah video habis atau video rusak. Perhatikan bahwa jika video tidak dapat diambil dalam 75 detik, waktunya akan habis |
100 | 2018047 | Gagal mengunggah lampiran. Cara umum untuk memicu kesalahan ini adalah bahwa jenis media yang disediakan tidak sesuai dengan jenis file yang disediakan di URL |