Status Koneksi WhatsApp
Kirim Pesan Tunggal
Broadcast Pesan
Riwayat Campaign
| Nama | Total | Terkirim | Gagal | Status | Dibuat |
|---|
Jadwalkan Pesan
Daftar Jadwal
| Nomor | Pesan | Waktu | Status |
|---|
Log Pengiriman Pesan
| Nomor | Pesan | Status | Waktu |
|---|
Setting Webhook
URL ini akan dipanggil (POST) setiap ada pesan masuk ke nomor bot.
AI Auto-Reply (Claude)
Aktifkan supaya bot otomatis membalas chat masuk menggunakan Claude AI. Kode verifikasi (KQ-XXXXXX) tidak akan dibalas AI.
Belum ada API key tersimpan.
Daftar layanan/produk beserta info penting (harga, cara order, dll) supaya AI paham apa yang dijual.
Satu tanya-jawab per blok, format bebas. Dipakai AI sebagai referensi jawaban baku.
Batasan tegas yang wajib dipatuhi AI (larangan janji, topik sensitif, dsb).
Handover ke CS Manusia
Atur kapan AI berhenti membalas dan menyerahkan percakapan ke admin. Hitungan balasan otomatis reset kalau kontak tidak chat lagi selama beberapa jam (sesi baru).
Kalau pelanggan mengetik salah satu kata ini, AI langsung berhenti dan percakapan diserahkan ke admin. Pisahkan dengan koma atau baris baru.
Hemat Token
Kelola Percakapan (Handover)
Daftar kontak yang pernah dibalas AI. "Dijeda" berarti AI tidak membalas kontak itu (karena limit, kata kunci, atau admin mengambil alih — baik dari dashboard maupun balas langsung dari aplikasi WhatsApp). Klik "Ambil Alih" untuk pause manual, atau "Kembalikan ke AI" untuk aktifkan lagi.
| Nomor | Status | Jml Balasan | Aktivitas Terakhir |
|---|
Cache Jawaban AI
Pertanyaan yang sudah pernah dijawab AI dan disimpan supaya tidak perlu panggil Claude lagi untuk pertanyaan persis sama (hemat token). Hapus baris ini kalau ada jawaban yang salah/usang.
| Pertanyaan | Jawaban | Dipakai |
|---|
Riwayat Percakapan AI
Bot mengingat percakapan per kontak agar balasan AI nyambung dengan konteks sebelumnya. Kosongkan filter nomor untuk lihat semua kontak.
| Nomor | Peran | Isi Pesan | Waktu |
|---|
Dokumentasi API
Semua endpoint /api/* di bawah ini butuh header X-API-Key (buat lewat node src/scripts/createApiKey.js <nama> di server). Base URL: https://wa.bigdream.id
1. Verifikasi Pendaftaran (pengganti OTP)
Dipakai saat user menyelesaikan pendaftaran / klik tombol Daftar. Sistem Anda minta kode + link WA, tampilkan sebagai tombol, bot otomatis verifikasi saat user kirim pesannya.
POST /api/verify/request
{
"phone": "08123456789",
"reference": "id-unik-dari-sistem-anda",
"callbackUrl": "https://sistem-anda.com/webhook/wa-verified", // opsional
"ttlMinutes": 15 // opsional, default 15
}
Respons (201):
{
"code": "KQ-XXXXXX",
"phone": "62812xxxxxxxx",
"expiresAt": "2026-08-07T12:00:00.000Z",
"waLink": "https://wa.me/62852xxxxxxxx?text=KQ-XXXXXX"
}
Tampilkan waLink sebagai tombol "Verifikasi via WhatsApp". User tinggal tap kirim (pesan sudah terisi otomatis).
GET /api/verify/:code
Cek status berdasarkan kode.
GET /api/verify?reference=id-unik-anda
Cek status berdasarkan reference yang Anda kirim saat request (berguna kalau tidak menyimpan kode sendiri). Contoh respons kedua endpoint di atas:
{
"code": "KQ-XXXXXX",
"phone": "62812xxxxxxxx",
"reference": "id-unik-dari-sistem-anda",
"status": "pending", // pending | verified | expired
"createdAt": "...",
"expiresAt": "...",
"verifiedAt": null
}
Callback otomatis (kalau callbackUrl diisi, atau fallback ke Setting Webhook)
Begitu user mengirim kode dari nomor yang sesuai, server Anda akan menerima POST:
{
"event": "verification.verified",
"code": "KQ-XXXXXX",
"phone": "62812xxxxxxxx",
"reference": "id-unik-dari-sistem-anda",
"verifiedAt": "2026-08-07T12:03:11.000Z"
}
Keamanan: kode hanya valid kalau dikirim dari nomor HP yang sama dengan yang didaftarkan saat request dibuat — kode yang bocor ke orang lain tidak bisa dipakai untuk verifikasi nomor tersebut.
2. Kirim Pesan Tunggal
POST /api/send
{ "phone": "08123456789", "message": "Isi pesan" }
3. Broadcast
POST /api/broadcast
{
"name": "Nama campaign",
"recipients": ["08123456789", "08987654321"],
"message": "Isi pesan"
}
Respons 202 berisi campaignId. Cek progres via:
GET /api/broadcast/:campaignId
4. Webhook Pesan Masuk (semua chat, bukan cuma verifikasi)
Kalau URL diisi di tab Setting Webhook, setiap pesan masuk ke bot (termasuk chat biasa) akan di-POST ke sana:
{
"event": "message.received",
"from": "6281234567890@c.us",
"body": "isi pesan",
"timestamp": 1786090000,
"type": "chat"
}