WhatsApp API Gateway adalah solusi multi-login berbasis website yang memungkinkan Anda mengelola banyak sesi WhatsApp dan mengirim pesan (teks & media) melalui REST API.
Cocok untuk notifikasi sistem, chatbot, broadcast, hingga kebutuhan bisnis lainnya!
- Multi-Session: Kelola banyak akun WhatsApp sekaligus
- Login QR Code: Scan QR seperti WhatsApp Web
- Kirim Pesan & Media: Kirim teks, gambar, dokumen via API
- Broadcast Delay: Atur jeda antar pesan broadcast (custom detik)
- Dashboard Web: Antarmuka visual untuk manajemen sesi
- RESTful API: Mudah diintegrasikan ke sistem Anda
git clone https://github.com/yan043/whatsapp-api.git
cd whatsapp-api
npm install
npm start
Aplikasi akan berjalan di port 6969 secara default.
Buka browser dan akses: http://localhost:6969
Catatan:
- Untuk port/host custom, gunakan environment variable
PORT
danHOST
.- Kompatibel untuk Windows & Linux.
Akses http://localhost:6969
Buat sesi baru dengan ID unik, lalu scan QR menggunakan WhatsApp Anda.
Akses menu Broadcast di http://localhost:6969/broadcast
- Masukkan ID Sender (sesi WhatsApp)
- Masukkan daftar nomor (pisahkan dengan koma)
- Isi pesan
- (Opsional) Upload media
- Atur Delay (jeda antar pesan, misal: 2 detik/pesan)
- Klik Kirim Broadcast
Setiap pesan akan dikirim satu per satu sesuai delay yang Anda tentukan.
POST /send-message
Content-Type: application/json
{
"sender": "id_session",
"number": "6281234567890",
"message": "Halo dari API!"
}
POST /send-media
Content-Type: application/json
{
"sender": "id_session",
"number": "6281234567890",
"caption": "Ini gambar",
"file": "http://localhost:6969/assets/uploads/namafile.jpg"
}
POST /broadcast
Content-Type: application/json
{
"sender": "id_session",
"numbers": "6281234567890,6289876543210",
"message": "Promo spesial hari ini!",
"file": "http://localhost:6969/assets/uploads/namafile.jpg", // opsional
"delay": 3 // delay antar pesan dalam detik
}
POST /upload
Content-Type: multipart/form-data
file: [pilih file]
Response:
{ "status": true, "url": "http://localhost:6969/assets/uploads/namafile.jpg" }
whatsapp-api/
├── index.js # Entry point utama aplikasi
├── helpers/
│ └── formatter.js # Format nomor WhatsApp
├── assets/
│ └── uploads/ # Folder upload media
├── views/
│ ├── index.html # Dashboard multi-session
│ └── broadcast.html # Halaman broadcast pesan (dengan delay)
├── sessions/ # Penyimpanan sesi login WhatsApp
└── README.md # Dokumentasi proyek ini
- Nomor WhatsApp harus format internasional, contoh:
6281234567890
(tanpa+
). - Folder
sessions/
menyimpan sesi agar tidak perlu scan QR ulang saat restart. - Folder
assets/uploads/
otomatis dibuat untuk upload file. - Bisa dijalankan di Windows maupun Linux tanpa perlu ubah kode.
- Fitur delay broadcast sangat berguna untuk menghindari spam/blocking dari WhatsApp.
Kontribusi sangat terbuka!
- Fork repositori ini
- Buat branch fitur/perbaikan
- Kirim pull request untuk direview
Proyek ini dirilis di bawah MIT License.
Dibuat oleh yan043
Powered by Node.js & whatsapp-web.js