Broadcast

Broadcast memakai endpoint yang sama dengan single send. Tambahkan header dan ganti to menjadi recipients.

Membuat campaign

curl -X POST https://api.nalasend.id/meta/v20.0/109384756201/messages \
  -H "Authorization: Bearer nala_live_..." \
  -H "X-Nala-Broadcast: true" \
  -H "X-Nala-Broadcast-Name: Promo Lebaran" \
  -H "Idempotency-Key: promo-lebaran-2026" \
  -H "Content-Type: application/json" \
  -d '{
    "messaging_product": "whatsapp",
    "recipients": ["+628123456789", "+628133456789"],
    "type": "template",
    "template": { "name": "promo_lebaran", "language": { "code": "id" } }
  }'

Response sukses adalah 202 Accepted dengan campaign id di body dan header X-Nala-Broadcast-Id. Broadcast berjalan lewat queue.

Status broadcast

StatusArti
queuedCampaign dibuat, job belum diproses.
processingWorker sedang mengirim.
completedSemua job selesai.
partial_failedSebagian job gagal; hanya yang gagal bisa dikirim ulang.
cancelledCampaign dibatalkan; sisa reservasi dikembalikan.

Progres dan kontrol

  • GET /v1/broadcasts/{id} — detail dan counter.
  • GET /v1/broadcasts/{id}/stream — progres SSE.
  • POST /v1/broadcasts/{id}/cancel — idempotent; job yang sudah terkirim tidak ditarik.
  • POST /v1/broadcasts/{id}/resend-failed — hanya job gagal.

Test key tidak bisa membuat campaign. Gunakan live key untuk broadcast.