Tren durasi proses antrean hingga
konfirmasi server WhatsApp (dalam detik) dari tabel
api_logs
api_logs.
| ID Sesi | Nomor | Pesan | Status | Waktu |
|---|---|---|---|---|
| Memuat... | ||||
| Waktu | Sesi | Pengirim (JID) | Nomor HP | Isi Pesan | Aksi |
|---|---|---|---|---|---|
| Belum ada pesan masuk. | |||||
Menampilkan 0 - 0 dari 0 data
| ID Sesi | Nomor | Pesan | Retry | Durasi | Status | Timeline Pengiriman | Waktu | Aksi |
|---|
Menampilkan 0 - 0 dari 0 data
| Waktu Antrean | Sesi | Tipe | Target / Pengirim | Ringkasan Pesan | Retry | Durasi | Status / Event | Timeline Pengiriman | Aksi |
|---|---|---|---|---|---|---|---|---|---|
| Belum ada data log. | |||||||||
Menampilkan 0 - 0 dari 0 data
Pilih dan jalankan pengujian unit (unit testing) Jest secara terpisah langsung dari dashboard untuk memverifikasi kesehatan kode Anda secara real-time.
Gunakan API berikut untuk berintegrasi dengan sistem WA
Gateway.
Endpoint publik seperti pengiriman pesan memerlukan header
x-api-key.
/api/send-message
Kirim pesan WhatsApp
Mengirimkan pesan ke nomor tujuan menggunakan sesi WhatsApp tertentu.
x-api-key: [GLOBAL_API_KEY] Content-Type: application/json
{
"sessionId": "CS_01",
"number": "628123456789",
"message": "Halo, ini pesan percobaan dari WA Gateway!"
}
{
"status": true,
"msg": "Pesan berhasil dikirim"
}
/api/logs
Ambil log aktivitas
pesan
Mengambil riwayat data log pengiriman pesan beserta statusnya.
page: Nomor halaman (default: 1) limit: Jumlah data per halaman (default: 10)
/api/sessions
Daftar semua sesi
Mengambil status koneksi dan deskripsi seluruh sesi WhatsApp.
/api/create-session
Inisiasi sesi baru (Generate
QR)
{
"sessionId": "CS_01"
}
/api/delete-session
Hapus & logout sesi
{
"sessionId": "CS_01"
}
/api/session-qr
Ambil QR Code Sesi
Mengambil base64 data URL dari QR Code untuk sesi yang sedang diinisiasi.
sessionId: ID sesi WhatsApp (Wajib)
{
"status": true,
"sessionId": "CS_01",
"qr": "data:image/png;base64,iVBORw0..."
}
/api/system-status
Metrik performa RAM, CPU, dan
Disk
/api/save-settings
Simpan pengaturan
global
{
"message_delay": "1",
"always_online": "1",
"default_wa_number": "628...",
"telegram_token": "",
"telegram_chat_id": "",
"webhook_url": "",
"webhook_secret": ""
}
/api/run-tests
Jalankan unit testing
Jest
{
"testSuite": "all" | "auth" | "webhook" | "session"
}
Sistem WA Gateway akan mengirimkan HTTP POST request ke Webhook URL yang didaftarkan setiap kali ada event berikut terjadi.
Content-Type: application/json X-LinkWA-Signature: [HMAC_SHA256_HEX_SIGNATURE] (Jika Webhook Secret dikonfigurasi)
qr.receivedDikirim saat QR Code baru siap dipindai.
{
"event": "qr.received",
"timestamp": "2026-06-18T14:14:00.000Z",
"data": {
"sessionId": "CS_01",
"qr": "data:image/png;base64,iVBORw0..."
}
}
session.statusDikirim saat status sesi berubah (`connected` | `logged_out` | `deleted`).
{
"event": "session.status",
"timestamp": "2026-06-18T14:14:00.000Z",
"data": {
"sessionId": "CS_01",
"status": "connected"
}
}
message.sentDikirim saat pesan sukses dikirimkan ke nomor tujuan.
{
"event": "message.sent",
"timestamp": "2026-06-18T14:14:00.000Z",
"data": {
"sessionId": "CS_01",
"targetNumber": "628123456789",
"message": "Halo!"
}
}
message.failedDikirim saat pesan gagal dikirimkan ke nomor tujuan.
{
"event": "message.failed",
"timestamp": "2026-06-18T14:14:00.000Z",
"data": {
"sessionId": "CS_01",
"targetNumber": "628123456789",
"message": "Halo!",
"reason": "not_registered"
}
5. Event: message.received
Dikirim setiap kali ada pesan WhatsApp masuk dari pengguna lain (bukan dari kita sendiri).
{
"event": "message.received",
"timestamp": "2026-06-18T14:14:00.000Z",
"data": {
"sessionId": "CS_01",
"senderNumber": "628123456789",
"message": "Halo, bot! Tolong balas otomatis.",
"messageRaw": {
"key": {
"remoteJid": "628123456789@s.whatsapp.net",
"fromMe": false,
"id": "A1B2C3D4E5"
},
"message": {
"conversation": "Halo, bot! Tolong balas otomatis."
}
}
}
}
Response Server Webhook Anda
Server penangkap webhook Anda wajib
mengembalikan status HTTP code
200 OK (atau response kode
sukses
2xx) secara cepat untuk menandakan event
berhasil
diterima.
| ID | Username | Aksi |
|---|---|---|
| Memuat data pengguna... | ||
| PID | Peran | Aktif | Status |
|---|
Fitur ini memungkinkan Anda mengunduh database dalam format SQLite bawaan, JSON agnostik, atau Script SQL PostgreSQL untuk persiapan migrasi.
database.sqlite
.sqlite atau .json) yang Anda unggah.
Berikut adalah daftar nomor telepon tujuan yang telah disimpan di database beserta nama alami konsistennya. Nama ini akan selalu dipakai setiap kali Anda mengirim pesan ke nomor tersebut.
| Nomor WhatsApp | Nama Tersimpan | Tgl Disimpan | Aksi |
|---|---|---|---|
| Memuat kontak... | |||
| No | Nomor WhatsApp | Nama Alami Tersimpan | Terakhir Diperbarui | Aksi |
|---|---|---|---|---|
| Memuat daftar kontak... | ||||