Skip to content

Getting Started

Panduan cepat dari nol sampai bisa kirim pesan pertama.

Prasyarat

  • Akun yang sudah terdaftar (hubungi admin untuk mendapatkan akses)
  • API key (format: wag_xxxxxxxxxxxx)
  • Nomor WhatsApp yang aktif untuk dipasangkan sebagai sesi

Langkah 1 — Pasangkan Nomor WhatsApp

Sebelum bisa kirim pesan, Anda perlu mendaftarkan nomor WhatsApp sebagai sesi. Proses ini dilakukan dengan memindai QR code dari WhatsApp di ponsel Anda.

Mulai proses pairing:

bash
curl -X POST https://api.example.com/v1/sessions/onboard \
  -H "Authorization: Bearer wag_xxxxxxxxxxxx"

Response:

json
{
  "onboard_id": "onb_9c1f...",
  "status": "pending"
}

Poll status dan ambil QR code:

bash
curl https://api.example.com/v1/sessions/onboard/onb_9c1f... \
  -H "Authorization: Bearer wag_xxxxxxxxxxxx"

Saat status berubah ke qr, field qr berisi string payload yang bisa dirender menjadi QR code. Pindai dengan WhatsApp di ponsel Anda (Perangkat Tertaut → Tautkan Perangkat).

Setelah berhasil, status berubah ke paired dan session_id tersedia:

json
{
  "status": "paired",
  "session_id": "6281200000000@s.whatsapp.net"
}

Simpan session_id ini — Anda akan membutuhkannya setiap kali kirim pesan.


Langkah 2 — Kirim Pesan Pertama

bash
curl -X POST https://api.example.com/v1/messages \
  -H "Authorization: Bearer wag_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: msg-001" \
  -d '{
    "session_id": "6281200000000@s.whatsapp.net",
    "to": "628111111111",
    "text": "Halo dari WhatsApp Gateway!"
  }'

Response:

json
{
  "message_id": "msg_7f3a...",
  "status": "accepted"
}

Pesan diantrekan dan akan dikirim dalam hitungan detik. Lihat panduan lengkap kirim pesan untuk detail idempotency, error handling, dan rate limit.


Langkah 3 — Terima Pesan Masuk (Webhook)

Untuk menerima notifikasi saat ada pesan masuk ke nomor Anda, daftarkan endpoint webhook. Lihat panduan webhook untuk setup lengkap termasuk verifikasi signature.


Autentikasi

Semua endpoint (kecuali /healthz) memerlukan header:

Authorization: Bearer <api_key>

API key bersifat rahasia — jangan expose di sisi client/browser. Gunakan hanya dari server Anda.

Dokumentasi WhatsApp Gateway