Appearance
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.