Skip to content
S SiPesan Docs
ID EN

API CST ACS (Dial WABA)

Endpoint kirim template WhatsApp yang kompatibel Dial WABA v1.6. Berbeda dari API Sandeza (H2H & CGW): di sini tidak ada HMAC, tidak ada webhook secret, dan webhook statusnya polos.

Autentikasi

Header Authorization berisi SECRET RAW Anda (diawali sk_), tanpa awalan "Bearer" dan bukan HMAC. Body memuat public key Anda (diawali pk_) pada field key. Tidak ada webhook secret dan tidak ada signature — jangan menambahkan keduanya.

Contoh request

curl -X POST https://chat.diginov.co.id/waba/v2/message \
  -H 'Authorization: sk_SEKRET_ANDA' \
  -H 'Content-Type: application/json' \
  -d '{
  "clientSid": "PHONE_NUMBER_ID",
  "refId"    : "INV-2026-0001",
  "key"      : "pk_PUBLIC_KEY_ANDA",
  "to"       : "628123456789",
  "template" : {
    "name"     : "order_update",
    "language" : "id",
    "body"     : { "{{1}}": "Eko" }
  }
}'

Kode balasan (rc)

rc dikirim sebagai STRING. HTTP status selalu 200 untuk semua amplop; 4xx akan membuat klien HTTP (mis. Guzzle) melempar sebelum membaca rc.

rc Arti Kapan
1 Diterima Pesan diantrekan lewat channel yang Anda pilih. Bukan berarti sudah terkirim — hasil sebenarnya datang lewat webhook status.
2 Kesalahan internal Kegagalan tak terduga di sisi kami. Aman untuk dicoba ulang dengan refId yang sama.
3 refId berulang refId ini sudah diterima sebelumnya. Tidak ada kiriman kedua, jadi aman untuk mengulang request yang sama persis.
4 Permintaan tidak sah Kredensial, channel, template, atau payload tidak sah. Jawabannya sengaja generik supaya tidak membocorkan mana yang salah.
5 Kegagalan gateway Kegagalan hilir yang sebenarnya. Tidak pernah dipakai untuk kesalahan input.

Webhook status

Dikirim saat status pesan berubah. Body-nya empat kunci, dan status memakai skala 1..6 di bawah.

{"status":"2","refId":"INV-2026-0001","media":"whatsapp","timestamp":"1788300000"}
status Arti
1 Terkirim
2 Sampai di perangkat
3 Dibaca
4 Dihapus
5 Gagal
6 Tidak diketahui

Webhook status ACS dikirim polos: tanpa webhook-id, webhook-timestamp, webhook-sequence, maupun webhook-signature. Balas dengan HTTP 2xx APA PUN untuk mengakui penerimaan.

CIDR egress

Webhook status ACS tidak memakai HMAC atau webhook secret. Minta daftar CIDR egress SIPESAN yang dipublikasikan ke tim onboarding, lalu izinkan di firewall Anda. SIPESAN tidak menampilkan alamat IP di layar karena nilainya dapat berubah.