Setiap sesi berjalan independen. Anda dapat mengoperasikan banyak nomor WhatsApp pada gateway ini.
Uji pengiriman pesan secara interaktif ke nomor pengguna atau grup.
Daftar grup yang diikuti oleh akun WhatsApp aktif dan pengiriman pesan ke grup.
| Nama Grup | JID Grup | Jumlah Anggota | Pembuat | Aksi |
|---|---|---|---|---|
| Pilih sesi akun untuk melihat daftar grup. | ||||
Kirim status/story WhatsApp otomatis berupa teks atau foto/video promosi.
Daftar kontak yang berinteraksi dengan sesi akun Anda atau tergabung dalam grup yang sama.
| Nomor Telepon | JID Kontak | Sumber Deteksi | Aksi |
|---|---|---|---|
| Pilih sesi akun untuk melihat kontak. | |||
Rekaman seluruh pesan keluar dan pesan masuk tersimpan di basis data.
| Arah | Sesi | Kontak / JID | Format | Muatan | Status | Waktu |
|---|---|---|---|---|---|---|
| Memuat data... | ||||||
Buka menu Sesi Akun WA, buat sesi baru, lalu scan QR Code dengan aplikasi WhatsApp di ponsel Anda.
Buka menu Kunci Akses API untuk membuat token rahasia yang digunakan pada header x-api-key.
Panggil endpoint REST API dari Laravel, Express, Python, atau cron job Anda dengan payload JSON.
Parameter berikut terhubung langsung ke sesi dan kunci otentikasi riil pada gateway ini.
Seluruh endpoint menggunakan format JSON standar dan memerlukan header otentikasi kecuali yang bertanda Publik.
| Metode | Path Endpoint | Auth | Deskripsi & Parameter Utama |
|---|---|---|---|
| POST | /api/messages/send |
API Key | Universal Send: Kirim teks, media gambar, PDF/dokumen, lokasi, kontak vCard, atau polling. |
| POST | /api/messages/send-text |
API Key | Kirim pesan teks sederhana. Parameter: to, text, sessionId. |
| POST | /api/messages/send-media |
API Key | Kirim gambar, video, audio, atau PDF. Parameter: to, mediaUrl / base64, type, caption. |
| POST | /api/messages/check-number |
API Key | Verifikasi apakah nomor terdaftar di WhatsApp sebelum mengirim pesan. Parameter: phone. |
| GET | /api/sessions/:id |
API Key | Mengambil status sesi, nomor WhatsApp terhubung, QR code, dan pairing code. |
| POST | /api/sessions/:id/restart |
API Key | Merestart ulang socket koneksi WhatsApp sesi tertentu. |
| GET | /api/sessions |
API Key | Daftar seluruh sesi WhatsApp yang terpasang pada gateway beserta status koneksinya. |
| POST | /api/webhooks |
API Key | Daftarkan URL callback aplikasi Anda untuk menerima pesan masuk dan update status koneksi. |
Endpoint universal ini mendukung berbagai tipe pesan WhatsApp sesuai properti tipe yang dikirim.
{
"sessionId": "default",
"to": "081234567890",
"text": "Halo! Pesanan Anda telah kami konfirmasi."
}
{
"sessionId": "default",
"to": "081234567890",
"type": "document",
"mediaUrl": "https://domain.com/inv-102.pdf",
"fileName": "Invoice-102.pdf",
"caption": "Terlampir invoice pesanan Anda"
}
{
"sessionId": "default",
"to": "081234567890",
"type": "image",
"mediaUrl": "https://domain.com/foto-produk.jpg",
"caption": "Foto produk yang Anda tanyakan"
}
{
"sessionId": "default",
"to": "081234567890",
"type": "location",
"latitude": -7.983908,
"longitude": 112.621391,
"name": "Kantor Pelayanan",
"address": "Jl. Veteran No. 1, Kota Malang"
}
Ketika ada pengguna WhatsApp yang mengirim pesan atau membalas, gateway akan meneruskan HTTP POST ke endpoint Anda.
Format payload JSON yang dikirimkan gateway ke URL Webhook Anda (Event message.received):
{
"event": "message.received",
"sessionId": "default",
"timestamp": "2026-10-28T08:00:00.000Z",
"data": {
"messageId": "3EB0XXXXXX",
"sender": "6281234567890",
"remoteJid": "6281234567890@s.whatsapp.net",
"fromMe": false,
"type": "text",
"text": "Halo admin, saya ingin menanyakan syarat pengajuan...",
"pushName": "Budi Santoso",
"timestamp": 1729944000
}
}
Jika Anda mengisi Secret Token saat mendaftar webhook, periksa header X-Hub-Signature-256 pada server penerima:
// PHP Example:
$secret = "my_secret_token_123";
$payload = file_get_contents('php://input');
$signatureHeader = $_SERVER['HTTP_X_HUB_SIGNATURE_256'] ?? '';
$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);
if (!hash_equals($expected, $signatureHeader)) {
http_response_code(403);
exit('Invalid Signature');
}
Format respons error standar gateway memudahkan debugging integrasi.
| HTTP Code | Arti | Penyebab & Solusi Developer |
|---|---|---|
| 200 OK | Berhasil | Permintaan berhasil diproses. Objek data berisi id dan whatsappMessageId. |
| 400 Bad Request | Parameter Tidak Lengkap | Parameter wajib (misal phone, to, atau text) kosong atau format salah. |
| 401 Unauthorized | Autentikasi Gagal | Header x-api-key belum dikirim atau nilai token tidak cocok dengan database API Keys. |
| 403 Forbidden | Akses Sesi Ditolak | API Key yang digunakan tidak memiliki izin untuk mengoperasikan sessionId yang diminta. |
| 500 Server Error | Sesi WA Belum Konek | Socket WhatsApp pada sesi tersebut belum berstatus CONNECTED. Silakan scan QR ulang di dashboard. |
Cara menjalankan WhatsApp Gateway ini pada cPanel Shared Hosting maupun VPS.
18 atau 20. Konfigurasi Application startup file ke: app.js.
data/db.json) dengan mekanisme recovery otomatis.
dist/, public/, package.json, dan .htaccess. Salin .env.example menjadi .env.
Simpan kunci ini sekarang di tempat yang aman. Kunci ini hanya ditampilkan sekali untuk alasan keamanan.
Masukkan kode 8 digit ini pada aplikasi WhatsApp di ponsel Anda: