Project ini adalah WhatsApp Gateway API berbasis Node.js menggunakan library @whiskeysockets/baileys. Mendukung multi-device, pengiriman pesan massal (bulk blast) dengan rotasi pengirim acak, serta pencatatan log pesan menggunakan SQLite.
//logs-view/docsnpm install
.env (opsional, jika tidak ada akan menggunakan default):PORT=10000
DEFAULT_API_KEY=wagw-secret-key
node app.js
pm2 start app.js --name wagw
docker build -t wagw .
docker run -d -p 10000:10000 --name wagw-container -v $(pwd)/sessions:/usr/src/app/sessions -v $(pwd)/.env:/usr/src/app/.env wagw
Note: Volume -v digunakan agar sesi login tidak hilang saat container di-restart dan konfigurasi .env terbaca.Konfigurasi server dilakukan melalui file .env.
| Variable | Default | Deskripsi |
|---|---|---|
PORT |
10000 |
Port aplikasi berjalan |
DEFAULT_API_KEY |
wagw-secret-key |
API Key default yang dibuat saat inisialisasi database |
Semua endpoint API (/wagateway/*) dilindungi oleh API Key.
Anda harus menyertakan API Key di Header atau Query Parameter pada setiap request.
x-api-key: [API_KEY_ANDA]?api_key=[API_KEY_ANDA]API Key Default: Lihat konfigurasi DEFAULT_API_KEY di .env (default: wagw-secret-key)
PENTING: API Key ini disimpan di database SQLite (
wagw.db) dalam tabelapi_keys. Anda disarankan untuk mengubahnya atau menambahkan key baru langsung melalui database.
Akses http://localhost:10000/ (sesuaikan port) di browser.
Endpoint: POST /wagateway/kirimpesan
Header:
x-api-key: wagw-secret-key
Content-Type: application/json
Body (JSON):
{
"sender": "admin1",
"number": "6281234567890",
"message": "Halo, ini pesan test"
}
Fitur ini akan mengirim pesan ke banyak nomor dengan menggunakan semua device yang terhubung secara acak.
Endpoint: POST /wagateway/blast
Header:
x-api-key: wagw-secret-key
Content-Type: application/json
Body (JSON):
{
"numbers": [
"6281234567890",
"6289876543210",
"08123456789"
],
"messages": [
"Halo, ini pesan variasi A",
"Hi, apa kabar? ini variasi B",
"Selamat siang, penawaran khusus C"
],
"type": "text"
}
Catatan: type bisa diisi text, image, atau document (jika image/document, tambahkan parameter url).
Akses http://localhost:10000/logs-view untuk melihat riwayat pesan.
Anda akan diminta memasukkan API Key untuk melihat data log demi keamanan.
File database: wagw.db
message_logsid: ID uniksender: ID Pengirimrecipient: Nomor Tujuanmessage: Isi Pesan (JSON stringified)status: 'success' atau 'failed: [error message]'timestamp: Waktu pengirimanapi_keysid: ID unikkey: Kunci APIdescription: Deskripsi pemilik kuncicreated_at: Waktu pembuatan