Lewati ke konten

Pesan interaktif

POST /messages/interactive
Content-Type: multipart/form-data

Body dikirim sebagai multipart/form-data dengan dua field:

  • payload — string JSON berisi pesan (wajib).
  • file — media header (opsional, hanya untuk quick-reply dan template yang memakai headerMedia).
Field Tipe Untuk Keterangan
deviceId string semua ID akun pengirim.
phoneNumber string semua Nomor tujuan.
kind string semua url-button, quick-reply, list, copy-code, atau template.
body string semua Teks utama. Maks 1.024 karakter (4.096 untuk list).
header string semua Judul di atas body, maks 60 karakter.
footer string semua Teks kecil di bawah, maks 60 karakter.
buttonLabel string url-button, list, copy-code Label tombol, maks 20 karakter.
url string url-button Wajib https://.
copyCode string copy-code Teks yang disalin, maks 15 karakter.
buttons array quick-reply 1–3 tombol { id, label }; label maks 20 karakter.
sections array list 1–10 bagian { title, rows: [{ id, title, description? }] }; total maks 10 baris.
templateButtons array template 1–10 tombol { type, label, value }. Lihat aturan di bawah.
headerMedia string quick-reply, template image, video, atau document. Wajib disertai file.
replyToId string semua ID pesan yang dibalas.
Terminal window
curl -X POST "$NUSAWAP_URL/messages/interactive" \
-H "X-API-Key: $NUSAWAP_KEY" \
-F 'payload={
"deviceId": "<id akun>",
"phoneNumber": "6281234567890",
"kind": "quick-reply",
"body": "Pesanan #2381 siap dikirim. Konfirmasi alamat?",
"buttons": [
{ "id": "alamat_ok", "label": "Alamat benar" },
{ "id": "alamat_ubah", "label": "Ubah alamat" }
]
}'

Setiap tombol berbentuk { "type": "url" | "copy" | "phone" | "reply", "label": "...", "value": "..." }. Label maks 25 karakter.

type value berisi
url URL tujuan
copy Kode yang disalin (maks 15 karakter)
phone Nomor telepon
reply ID tombol
  • Maksimal 10 tombol: paling banyak 2 url, 1 phone, dan 1 copy.
  • Tombol reply harus berurutan dalam satu kelompok, tidak boleh diselingi tombol lain.