Skip to content

Repository files navigation

WhatsApp Bot Dashboard

WhatsApp bot berbasis whatsapp-web.js dengan dashboard React untuk mengelola koneksi, settings, pesan manual, API key, dan multi-session WhatsApp.

Dashboard memakai login berbasis API key sebelum Anda masuk ke area utama dan playground API.

Fitur

  • Login WhatsApp lewat QR code
  • Login dashboard menggunakan API key
  • Dashboard React dengan komponen gaya shadcn UI
  • Edit konfigurasi bot dari UI
  • Kelola beberapa session WhatsApp dari dashboard
  • Kirim pesan manual dari dashboard
  • API key untuk integrasi eksternal
  • API playground untuk menguji endpoint
  • Endpoint publik POST /api/public/send-message

Menjalankan project

npm install
npm run dev

Frontend berjalan di Vite, backend berjalan di port 3010.

Sebelum menjalankan server, pastikan file .env sudah ada di root project.

Build produksi

npm run build
npm start

Migrasi database

Jalankan command berikut untuk inisialisasi database dan migrasi data:

npm run db:migrate
npm run db:migrate:data

Atau jalankan sekaligus:

npm run db:migrate:all

Konfigurasi

  • Config, sesi, log, dan pesan disimpan di MySQL lewat variabel env MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASSWORD, dan MYSQL_DATABASE.
  • File .env dimuat otomatis saat server start.
  • Session WhatsApp tetap memakai folder data/session/ karena disimpan oleh whatsapp-web.js LocalAuth.
  • Setiap request session memakai field sessionId di body, misalnya default, session-2, atau nama lain yang Anda pilih
  • API key dipakai untuk login dashboard dan bisa dilihat atau diregenerate dari tab API Key
  • Endpoint kirim pesan mendukung text dan image lewat mediaUrl, mediaBase64, mediaDataUrl, atau mediaPath
  • Jika media dikirim, field message atau caption dipakai sebagai caption gambar

Contoh isi .env:

MYSQL_HOST=127.0.0.1
MYSQL_PORT=8889
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=wwebjs_bot

Endpoint utama

  • GET /api/status
  • GET /api/status?sessionId=default
  • GET /api/sessions
  • PUT /api/settings
  • POST /api/bot/connect
  • POST /api/bot/disconnect
  • POST /api/send-message
  • POST /api/public/send-message

Untuk endpoint POST yang berhubungan dengan session, kirim body seperti berikut:

{
	"sessionId": "session-2",
	"recipient": "6281234567890",
	"message": "Halo"
}

About

Whatsapp Bot send your message using API

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages