Media
Cara mengambil file gambar, audio, video, atau dokumen dari pesan WhatsApp yang masuk lewat API Chatera.
Ketika pelanggan mengirim media (gambar bukti pembayaran, voice note,
video, dokumen), webhook message.inbound tidak menyertakan file
atau URL-nya secara langsung — hanya sebuah referensi media berupa
id. Endpoint ini menukar id tersebut menjadi URL yang bisa langsung
di-download, misalnya untuk diteruskan ke sistem OCR atau AI vision.
Semua path di halaman ini relatif terhadap base URL https://api.chatera.id/v1.
Ambil URL media
GET /v1/media/{id}Scope yang dibutuhkan: whatsapp:read atau whatsapp:send
Path parameter
| Parameter | Tipe | Keterangan |
|---|---|---|
id | string (UUID) | Nilai content.image.id / content.audio.id / content.video.id / content.document.id dari payload webhook. Nilainya sama dengan messageId pesan tersebut. |
Contoh request
curl "https://api.chatera.id/v1/media/9f1c2a3b-4d5e-6f70-8190-a1b2c3d4e5f6" \
-H "Authorization: Bearer chatera_sk_xxxxx"Contoh response
{
"url": "https://cdn.chatera.id/whatsapp/9b8c1234-e5f6-4789-90ab-cdef01234567/2026/08/16/1234567890.jpg",
"mime_type": "image/jpeg"
}Response tanpa envelope
Berbeda dari endpoint lain, response sukses endpoint ini tidak
dibungkus { "success": true, "data": ... } — field url dan
mime_type ada langsung di root JSON.
Download file-nya
url yang dikembalikan bisa langsung di-GET tanpa header
Authorization untuk mendapatkan binary file:
curl -o bukti-pembayaran.jpg \
"https://cdn.chatera.id/whatsapp/.../1234567890.jpg"Error
| Status | Kode | Penyebab |
|---|---|---|
404 | RESOURCE_NOT_FOUND | id tidak ditemukan di workspace kamu, pesan tersebut bukan pesan media, atau media belum tersedia (misalnya gagal diunduh dari WhatsApp). |
403 | AUTH_INSUFFICIENT_SCOPE | API key tidak punya scope whatsapp:read / whatsapp:send. |
Media bisa saja belum tersedia
Dalam kasus jarang, Chatera gagal mengunduh media dari server
WhatsApp saat pesan masuk. Webhook tetap terkirim, tetapi endpoint
ini akan merespon 404. Tangani kasus ini di sisi kamu (retry
beberapa saat kemudian, atau fallback tanpa media).
Contoh: teruskan gambar ke AI vision di n8n
Alur yang umum untuk memproses bukti pembayaran dari pelanggan:
Webhook Trigger — terima event message.inbound dari Chatera.
Filter node berikutnya dengan kondisi data.contentType == "image".
HTTP Request (resolve) — GET https://api.chatera.id/v1/media/{{ $json.data.content.image.id }}
dengan header Authorization: Bearer chatera_sk_xxxxx. Response
berisi url dan mime_type.
HTTP Request (download) — GET ke url dari langkah
sebelumnya, dengan Response Format = File. Tidak perlu header
Authorization.
AI Vision — kirim binary file tersebut ke node AI vision (OpenAI, Gemini, dll) untuk dianalisis, misalnya membaca nominal transfer di bukti pembayaran.
Halaman terkait
- Webhook — format payload
message.inbounduntuk pesan media. - Autentikasi — cara membuat API key dan daftar scope.