Autentikasi & API Key
API NgirimWA memungkinkan Anda mengintegrasikan layanan WhatsApp ke dalam aplikasi Anda.
API NgirimWA memungkinkan Anda mengintegrasikan layanan WhatsApp ke dalam aplikasi Anda.
Base URL
https://dash.ngirimwa.com/api/v1Semua permintaan API harus menyertakan header x-api-key:
http
x-api-key: API_KEY_ANDACara Mendapatkan API Key
Login ke Dashboard NgirimWA
Buka menu Perangkat>>Kunci API
Klik Buat API Key
Input Nama API Key (bebas)
Pilih perangkat WhatsApp yang akan digunakan
Masukkan URL Formulir/Website
Salin API Key yang dihasilkan
⚠️ Penting: API Key hanya ditampilkan sekali! Simpan dengan aman.
Konsep 1 API Key = 1 Perangkat (1 perangkat bisa buat lebih dari 1 API key)
- Setiap API Key terhubung ke satu perangkat WhatsApp tertentu
- Anda tidak perlu mengirim
device_iddi setiap request - Sistem otomatis mengenali perangkat dari API Key
Quick Start
Kirim pesan WhatsApp pertama Anda dengan mudah menggunakan API NgirimWA. Pastikan perangkat WhatsApp Anda sudah terhubungdi dashboard.
Kirim Pesan
curl -X POST https://dash.ngirimwa.com/api/v1/messages/send \
-H "x-api-key: API_KEY_ANDA" \
-H "Content-Type: application/json" \
-d '{"to": "628123456789", "message": "Halo dari NgirimWA!"}'Selesai! Pesan Anda berhasil terkirim.
Rate Limiting
| Jenis | Batas |
|---|---|
| Request HTTP per jam | 200 per IP |
| Pesan WhatsApp per bulan | Sesuai paket langganan |
Jika melebihi batas Anda menerima response 429 Too Many Requests. Rate limit dihitung per IP server pemanggil — bila Anda memanggil dari banyak server berbeda, masing-masing IP mendapat kuota 200/jam.
Idempotency-Key
Untuk mencegah pesan terkirim ganda akibat retry HTTP, sertakan header Idempotency-Key pada semua request POST:
Idempotency-Key: <uuid-atau-string-unik-per-request>- Pakai UUID v4, atau gabungan
<order-id>-<timestamp>yang unik per request. - Bila request yang sama (key sama, body sama) dikirim ulang dalam 24 jam, NgirimWA mengembalikan response sukses tanpa eksekusi ganda.
- Header opsional tapi sangat disarankan untuk integrasi production.
Format Respon
Semua respon API menggunakan format JSON standar:
Respon Sukses
{
"success": true,
"message": "Operasi berhasil",
"data": { ... }
}Respon Error
{
"success": false,
"message": "Deskripsi error"
}Kode Status HTTP
| Kode | Deskripsi |
|---|---|
| 200 | Sukses |
| 400 | Request tidak valid |
| 401/403 | API Key tidak valid |
| 404 | Resource tidak ditemukan |
| 429 | Rate limit terlampaui |
| 500 | Server error |
Keamanan API Key
Lakukan
- Simpan API Key di environment variable
- Gunakan HTTPS untuk semua request
- Rotasi API Key secara berkala
Hindari
- Jangan taruh API Key di kode frontend/JavaScript browser
- Jangan commit API Key ke repository publik
- Jangan share API Key dengan pihak tidak berwenang