Skip to content

Unggah Media

Kirim gambar, dokumen, atau audio tanpa perlu menyediakan hosting sendiri. Unggah berkasnya ke WAQ, dapatkan URL publik, lalu pakai URL itu di image_url / document_url / audio_url.

Mengunggah

Permintaan multipart/form-data dengan satu field bernama file:

bash
curl -X POST https://waq.karyawah.id/v1/media \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@promo.jpg"
json
{
  "url": "https://waq.karyawah.id/media/5f11802ed4e91525e39eebd7e28a4730.jpg",
  "filename": "5f11802ed4e91525e39eebd7e28a4730.jpg",
  "original_name": "promo.jpg",
  "mime": "image/png",
  "size": 84213
}

API key juga berlaku di endpoint ini:

bash
curl -X POST https://waq.karyawah.id/v1/media \
  -H "X-API-Key: $API_KEY" -F "file=@invoice.pdf"

Memakainya

bash
curl -X POST https://waq.karyawah.id/v1/messages/send \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{
    "device_id": "<device_id>",
    "to": "6281234567890",
    "type": "image",
    "image_url": "https://waq.karyawah.id/media/5f11802ed4e91525e39eebd7e28a4730.jpg",
    "caption": "Promo bulan ini"
  }'

Jenis berkas yang diterima

KategoriTipe
GambarJPEG, PNG, WebP, GIF
DokumenPDF, DOC, DOCX, XLS, XLSX
AudioMP3, OGG, M4A

Ukuran maksimal 16 MB per berkas. Tipe di luar daftar ditolak dengan 400 unsupported_type.

Catatan keamanan

  • Nama berkas selalu diganti dengan 32 karakter acak; ekstensinya diturunkan dari tipe berkas yang terdeteksi, bukan dari nama yang kamu kirim. Berkas berbahaya tak bisa menyelinap lewat penamaan.
  • URL hasil unggah bersifat publik tapi tidak bisa ditebak — WhatsApp perlu mengambilnya dari luar, jadi tidak bisa dikunci di balik login. Jangan mengunggah dokumen rahasia yang tak boleh dilihat siapa pun yang memegang URL-nya.
  • Berkas tersimpan permanen sampai dihapus manual oleh admin.