PERHATIAN: ID Lampiran akan kedaluwarsa setelah 90 hari. Setelah ID lampiran kedaluwarsa, Anda harus mengunggah ulang media Anda untuk mendapatkan ID lampiran baru.
Meskipun lampiran yang dapat digunakan kembali akan kedaluwarsa setelah 90 hari dan tidak dapat dikirim ulang, lampiran dalam utas pesan tidak akan pernah kedaluwarsa dan akan terlihat hingga pengguna menghapus pesan dari utas pesan. Jika kasus penggunaan Anda memungkinkan, Anda dapat menggabungkan langkah-langkah pengunggahan dan pengiriman seperti yang disebutkan di bawah untuk menghindari masalah TTL ini.
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 bagian Unggah dan kirim di bawah.
Untuk mengunggah lampiran, kirim POST
permintaan ke endpoint /
Your-page-id
/message_attachments
menggunakan 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/v21.0
/Your-page-id/message_attachments" \
-H "Content-Type: application/json" \
-d '{
"access_token":"Your_page_access_token",
"message":{
"attachment":{
"type":"image",
"payload":{
"url":"https://your-url.com/image.jpg",
"is_reusable": true
}
}
}
}'
Diformat agar mudah dibaca. Ganti nilai cetak tebal, cetak miring, seperti page_access_token, dengan nilai Anda.
curl -X POST -H "Content-Type: application/json" -d '{
"message": {
"attachment": {
"type": "image"
}
},
"filedata": "@/path-to-your-file/image.jpg",
"type": "image/png"
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/message_attachments?access_token={PAGE_ACCESS_TOKEN}"
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 -H "Content-Type: application/json" -d '{
"recipient": {
"id": "{PSID}"
},
"message": {
"attachment": {
"type": "image",
"payload": {
"attachment_id": "Your-attachment-ID"
}
}
}
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/messages?access_token={PAGE_ACCESS_TOKEN}"
Setelah berhasil, aplikasi Anda akan menerima objek JSON dengan success
diatur ke true
.
{"success": "true"}
Anda juga dapat mengunggah media dan mengirimkannya dalam satu permintaan API.
PERHATIAN:Jangan mengatur is_public=true
di dalam payload untuk kasus ini. Lampiran di utas pesan pengguna selalu pribadi.
Diformat agar mudah dibaca. Ganti nilai cetak tebal, cetak miring, seperti page_access_token, dengan nilai Anda.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
"id": "{PSID}"
},
"message": {
"attachment": {
"type": "image",
"payload": {
"url": "https://your-url.com/image.jpg"
}
}
}
}' "https://graph.facebook.com/v21.0
/{PAGE_ID}/messages?access_token={PAGE_ACCESS_TOKEN}"
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, setelan default ke palsu.Jangan mengatur ke Atur ke benar hanya ketika Anda mengunggah dan mengirim dalam langkah terpisah. ID lampiran kedaluwarsa setelah 90 hari. Unggah ulang media Anda untuk mendapatkan ID lampiran baru setelah 90 hari. Meskipun lampiran yang dapat digunakan kembali akan kedaluwarsa setelah 90 hari dan tidak dapat dikirim ulang, lampiran dalam utas pesan tidak akan pernah kedaluwarsa dan akan terlihat hingga pengguna menghapus pesan dari utas pesan. |
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 |