Panduan Pengguna
Pelajari cara menggunakan WADUH mulai dari registrasi hingga pengiriman pesan massal.
Daftar & Login
Untuk mulai menggunakan WADUH, Anda perlu membuat akun terlebih dahulu.
- Buka halaman Daftar dan isi nama, email, serta password (minimal 8 karakter). Nomor WhatsApp bersifat opsional.
- Setelah mendaftar, akun otomatis mendapat Plan Free yang langsung aktif.
- Login menggunakan email dan password yang sudah didaftarkan.
- Setelah login, Anda akan diarahkan ke Dashboard.
- Update profil (nama & nomor WA) kapan saja dari menu Pengaturan → Profil.
Menghubungkan Sesi WhatsApp
Sesi WhatsApp adalah koneksi antara server dan nomor WhatsApp Anda. Satu sesi = satu nomor.
- Buka menu Sesi WhatsApp di sidebar dashboard.
- Klik Tambah Sesi dan beri nama identifikasi (misal:
mainataucs-team). - Klik tombol QR Code pada sesi yang baru dibuat.
- Buka WhatsApp di HP → menu Perangkat Tertaut → Tautkan Perangkat.
- Scan QR code yang muncul. Status sesi akan berubah menjadi CONNECTED.
Alternatif: Tautkan dengan Kode (tanpa scan QR)
- Pada sesi yang menunggu QR, klik Tautkan dengan kode (atau Tidak bisa scan? Tautkan dengan kode di bawah QR).
- Masukkan nomor WhatsApp yang akan ditautkan (format
628xxxatau08xxx), klik Minta Kode. - Di HP: WhatsApp → Perangkat tertaut → Tautkan perangkat → Tautkan dengan nomor telepon saja, lalu masukkan kode 8 karakter yang tampil.
- Cocok bila HP dan layar yang sama (tidak bisa memindai QR). Kode baru bisa diminta setiap 60 detik.
Mengirim Pesan
Buka menu Kirim Pesan. Pilih sesi WhatsApp aktif, lalu pilih tipe pesan:
Teks
Pesan teks biasa atau emoji.
Gambar
Kirim foto dari file atau URL. Bisa ditambah caption.
Dokumen
Kirim PDF, Word, Excel, ZIP, dll.
Audio
Kirim file audio atau voice note (PTT).
Video
Kirim file video dengan caption.
Lokasi
Kirim koordinat GPS dengan nama tempat.
Vcard
Kirim kartu kontak (nama + nomor HP).
Broadcast
Kirim teks ke banyak nomor sekaligus dengan delay acak.
Pilih Tujuan Pesan
- Manual — ketik nomor langsung (format: 628xxx tanpa +)
- Phonebook — pilih dari daftar kontak yang tersimpan
- Grup Kontak — kirim ke semua kontak dalam grup tertentu
- Grup WA — kirim ke grup WhatsApp (khusus tipe Teks)
Pratinjau Link (Thumbnail Website)
- Pesan berisi URL (
https://…atauwww.…) otomatis dikirim dengan judul, deskripsi, dan thumbnail situsnya — seperti saat link ditempel manual di WhatsApp. - Aktif di tab Teks dan Broadcast, di Blast Aman, pesan terjadwal, serta undangan Event & RSVP. Matikan lewat checkbox Tampilkan pratinjau link.
- Hanya URL pertama di pesan yang dipratinjau. Data diambil dari meta Open Graph situs (
og:title,og:description,og:image). - Bila situs tidak menyediakan judul atau lambat merespons (±10 detik), pesan tetap terkirim sebagai teks biasa.
Phonebook
Simpan dan kelola kontak WhatsApp Anda agar mudah dipilih saat mengirim pesan.
- Kontak — tambah, edit, atau hapus kontak individual (nama + nomor).
- Grup Kontak — buat grup (misal: “Pelanggan VIP”) dan tambahkan kontak ke dalamnya.
- Grup WhatsApp — sinkronkan daftar grup WA dari sesi yang terhubung. Klik Sinkronkan untuk memperbarui.
Pesan Terjadwal
Anda bisa menjadwalkan pengiriman pesan di masa depan, termasuk pesan media (gambar, dokumen, audio, video).
Pesan Teks Terjadwal
- Di form kirim pesan, centang Jadwalkan Pengiriman.
- Pilih waktu pengiriman (minimal 1 menit dari sekarang).
- Klik Jadwalkan. Pesan masuk ke antrian.
- Pantau status di menu Riwayat Pesan → Pesan Terjadwal.
Pesan Media Terjadwal (Gambar/Dokumen/Audio/Video)
Untuk media terjadwal, file harus tersimpan di cloud agar bisa diakses saat jadwal tiba. Ada dua cara:
Upload dari Komputer (via dashboard)
- Pilih file dari komputer Anda di form kirim.
- Centang Jadwalkan Pengiriman.
- Klik Upload ke Cloud — file diunggah ke storage, URL tersimpan otomatis.
- Klik Jadwalkan.
Gunakan URL Langsung (via API/CDN)
Jika file sudah ada di CDN atau server sendiri, cukup masukkan URL-nya langsung ke field URL. Tidak perlu upload ulang.
localhost atau path lokal).Riwayat & Statistik
Buka menu Riwayat Pesan untuk melihat:
- Statistik — total pesan per bulan, breakdown per tipe, dan histori harian.
- Log Pesan — detail setiap pesan yang dikirim: waktu, nomor tujuan, status (terkirim/gagal).
- Pesan Terjadwal — daftar pesan yang menunggu dikirim, dengan opsi batalkan atau hapus.
Langganan
Kelola paket berlangganan Anda dari menu Langganan.
- Upgrade — pilih paket yang lebih tinggi. Paket lama tetap aktif sampai pembayaran baru dikonfirmasi.
- Downgrade — batalkan paket aktif terlebih dahulu, lalu pilih paket yang lebih rendah.
- Pembayaran — untuk paket berbayar via Transfer Manual, upload bukti transfer di menu Pembayaran. Admin akan memverifikasi dan mengaktifkan paket.
Pilihan Durasi & Diskon
Saat berlangganan atau upgrade, Anda bisa memilih durasi 1, 3, 6, atau 12 bulan. Durasi lebih panjang mendapat diskon otomatis yang dikonfigurasi admin.
Webhook
Webhook memungkinkan WADUH mengirimkan notifikasi HTTP POST ke server Anda setiap kali ada pesan masuk atau perubahan status sesi.
Setup via Dashboard
- Buka menu Webhook di sidebar dashboard.
- Klik Tambah Webhook.
- Isi Nama dan URL endpoint server Anda.
- (Opsional) Isi Secret — jika diisi, setiap request menyertakan header
X-WADUH-Signatureuntuk verifikasi. - (Opsional) Pilih Session ID — kosongkan untuk menangkap event dari semua sesi.
- Pilih events yang ingin diterima, lalu klik Simpan.
- Klik tombol Test untuk memverifikasi koneksi ke URL Anda.
Verifikasi Signature
<?php
$secret = 'secret_anda';
$rawBody = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_WADUH_SIGNATURE'] ?? '';
$expected = 'sha256=' . hash_hmac('sha256', $rawBody, $secret);
if (!hash_equals($expected, $sig)) {
http_response_code(403);
exit;
}
$payload = json_decode($rawBody, true);
echo $payload['event']; // message.incoming
echo $payload['data']['fromNumber'];Integrasi Spreadsheet
WADUH bisa mencatat setiap pesan masuk dan keluar langsung ke Google Sheets — tanpa API key Google, cukup menggunakan Google Apps Script Web App.
Setup Google Apps Script
- Buka Google Sheet yang ingin digunakan.
- Klik Extensions → Apps Script.
- Hapus kode default, paste kode berikut:
function doPost(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
if (sheet.getLastRow() === 0) {
sheet.appendRow(['Waktu', 'Arah', 'Sesi', 'Nomor', 'Tipe', 'Pesan']);
sheet.getRange(1, 1, 1, 6).setFontWeight('bold');
}
var data = JSON.parse(e.postData.contents);
var waktu = new Date(data.timestamp);
sheet.appendRow([
Utilities.formatDate(waktu, 'Asia/Jakarta', 'dd/MM/yyyy HH:mm:ss'),
data.direction, data.session, data.phone, data.type, data.content
]);
return ContentService.createTextOutput('OK');
}- Klik Deploy → New Deployment → Web App.
- Set Who has access ke Anyone.
- Copy URL deployment (format:
https://script.google.com/macros/s/XXXX/exec). - Buka menu Spreadsheet di dashboard WADUH dan paste URL tersebut.
Fitur Lanjutan
Selain pengiriman pesan dasar, WADUH menyediakan fitur lanjutan untuk customer service, otomasi, dan engagement. Ketersediaan fitur mengikuti paket langganan Anda.
Shared Inbox & Agent
Kelola semua percakapan masuk dalam satu kotak masuk bersama. Chat otomatis ter-routing ke agent dengan beban terendah (round robin) dan tetap menempel ke agent yang sama selama 24 jam (sticky agent).
- Buka menu Inbox & Agent → tab Agent untuk menambah agent/CS beserta batas beban kerja (max workload).
- Tab Percakapan menampilkan semua chat masuk; satu nomor = satu percakapan walau Anda punya beberapa sesi.
- Klik percakapan untuk membuka detail, lalu ketik balasan langsung di kotak balasan (Enter untuk kirim) — balasan langsung terkirim via sesi terkait dan tampil di timeline.
- Assign manual agent lewat dropdown, tutup percakapan bila selesai, atau buka kembali bila perlu.
- Tab Monitor menampilkan beban kerja tiap agent secara real-time.
AI Chatbot, Sentimen & Handover
Aktifkan AI Chatbot untuk membalas chat pelanggan secara otomatis menggunakan knowledge base Anda. Setiap pesan juga dianalisis sentimennya.
- Atur di menu AI Chatbot: aktifkan, isi system prompt + knowledge base, dan pilih sesi default untuk membalas.
- AI menjawab kontekstual dengan riwayat percakapan; jawaban tampil di Riwayat Chat dan terkirim ke pelanggan.
- Sentimen negatif di atas ambang akan otomatis eskalasi ke CS manusia (handover) lengkap dengan ringkasan kasus.
- Setelah ditangani, selesaikan handover agar AI aktif kembali (human takeover).
- AI tidak menabrak Workflow: bila ada keyword/alur aktif, alur tersebut diprioritaskan.
Polling & Event/RSVP
Kumpulkan suara via polling WhatsApp native dan kelola undangan acara dengan konfirmasi kehadiran otomatis.
- Polling: buat pertanyaan + pilihan, kirim ke nomor manual, kontak, grup kontak, atau grup WA; hasil suara direkap real-time.
- Event & RSVP: kirim undangan, penerima membalas HADIR/TIDAK/RAGU dan rekap kehadiran terisi otomatis.
- Pengingat acara terkirim otomatis H-1 dan H-0 ke peserta yang hadir/belum menjawab.
- Link acara (opsional): undangan digital, Google Maps, atau Zoom — tampil dengan thumbnail di pesan undangan & pengingat. Pakai {{nama}} di link agar tiap tamu mendapat link personal, mis. https://undangan.com/acara/?to={{nama}}.
Pesan Interaktif & Template
Buat template pesan tombol (buttons) atau list dan kirim ulang kapan saja dari halaman Kirim Pesan.
- Kelola template di menu Template Pesan (tombol balasan cepat maks 3, atau list menu pilihan).
- Di halaman Kirim Pesan pilih tab Template, pilih template, lalu kirim ke nomor atau grup WA.
- Grup WA kini tersedia sebagai tujuan untuk semua jenis pesan (teks, media, lokasi, vcard, template).
- Catatan: tampilan tombol/list interaktif mengikuti dukungan WhatsApp yang terbatas untuk akun non-official.
Otomasi: Workflow, Blast Aman, E-Commerce & Warm-Up
Otomatiskan percakapan dan kampanye dengan tetap menjaga keamanan nomor.
- Workflow Builder: rancang alur balasan no-code dengan pemicu keyword, percabangan kondisi, dan auto follow-up.
- Blast Aman: distribusi pesan multi-sesi round-robin dengan jeda acak menyerupai manusia + kontrol pause/resume/cancel. Link di pesan tampil dengan thumbnail (bisa dimatikan per blast).
- Notifikasi E-Commerce: kirim notifikasi order, pembayaran, dan abandoned cart via trigger publik ber-token.
- Warm-Up: pertukaran pesan otomatis antar sesi Anda untuk menghangatkan nomor baru (anti-banned).
Analytics & SLA
Pantau performa layanan pelanggan dan kampanye lewat dashboard analitik.
- Dashboard menampilkan volume pesan, percakapan, produktivitas agent, performa kampanye, dan distribusi sentimen.
- SLA Monitoring: rata-rata waktu respon pertama, persentase kepatuhan, dan percakapan yang masih menunggu balasan.
- Ringkasan chat harian per percakapan dibuat otomatis oleh AI.
- Export data analitik ke CSV (PDF sementara via cetak browser).
Keamanan Akun: OAuth, MFA & SSO
Amankan akses akun dengan opsi login modern.
- Login dengan Google (OAuth 2.0) — akun otomatis ter-link via email.
- Multi Factor Authentication (MFA/TOTP) — aktifkan di Pengaturan, scan QR dengan aplikasi authenticator.
- Single Sign-On (SSO) via OIDC (Keycloak/Auth0/Azure AD) untuk kebutuhan enterprise.
- Login OTP via WhatsApp juga tersedia sebagai alternatif.
REST API
Integrasikan WADUH ke aplikasi Anda menggunakan REST API. Semua endpoint mengembalikan JSON.
https://api.waduh.fun/apiAutentikasi
Semua endpoint API (kecuali /auth/login dan /auth/register) membutuhkan autentikasi via API Key atau Bearer Token JWT.
/api/auth/registerDaftar akun baru/api/auth/loginLogin dan dapatkan token JWT + API Key/api/auth/meAmbil profil user yang sedang login/api/auth/profileUpdate profil (name, phone)/api/auth/change-passwordGanti password/api/auth/regenerate-keyGenerate ulang API KeyParameter — Register
namestringYaNama lengkapemailstringYaAlamat email (unik)passwordstringYaPassword minimal 8 karakterphonestringTidakNomor WhatsApp format internasional (628xxx)Parameter — Login
emailstringYaEmail akun yang terdaftarpasswordstringYaPassword akunContoh: Login
curl -X POST https://api.waduh.fun/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "password123"
}'Cara Autentikasi Request
# Metode 1 — API Key (header x-api-key)
curl https://api.waduh.fun/api/session/list \
-H "x-api-key: YOUR_API_KEY"
# Metode 2 — Bearer Token (JWT)
curl https://api.waduh.fun/api/session/list \
-H "Authorization: Bearer YOUR_JWT_TOKEN"Session API
/api/session/listDaftar semua sesi WhatsApp milik pengguna/api/session/createBuat sesi baru/api/session/:id/statusStatus koneksi sesi tertentu/api/session/:id/qrAmbil QR code untuk scan (base64 PNG)/api/session/:id/reconnectReconnect sesi yang terputus/api/session/:id/logoutLogout sesi (hapus dari WA)/api/session/:idHapus sesi dari sistemParameter — Buat Sesi
sessionIdstringYaID unik sesi: huruf kecil, angka, dash, underscore. Maks 30 karakter. Tidak boleh "random".Contoh: Buat Sesi & Ambil QR
# 1. Buat sesi
curl -X POST https://api.waduh.fun/api/session/create \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sessionId": "main"}'
# 2. Ambil QR (setelah sesi dibuat)
curl https://api.waduh.fun/api/session/main/qr \
-H "x-api-key: YOUR_API_KEY"
# Response: { "data": { "qr": "data:image/png;base64,..." } }Kirim Pesan
/api/send/textKirim pesan teks/api/send/imageKirim gambar (multipart/form-data atau JSON + URL)/api/send/documentKirim dokumen/api/send/audioKirim audio / voice note/api/send/videoKirim video/api/send/locationKirim lokasi GPS/api/send/contactKirim kartu kontak (vCard)/api/send/groupKirim teks ke grup WhatsApp/api/send/broadcastBroadcast teks ke banyak nomorParameter — Kirim Teks
sessionIdstringYaID sesi WhatsApp yang sedang CONNECTEDphonestringYaNomor tujuan format internasional tanpa + (628xxx)messagestringYaIsi pesan tekslinkPreviewbooleanTidakTampilkan pratinjau (judul + thumbnail) URL pertama di pesan (default: true). false = teks biasadelayMinintegerTidakDelay minimum sebelum kirim (milidetik, default: 0)delayMaxintegerTidakDelay maksimum sebelum kirim (milidetik, default: 0)message otomatis dikirim dengan judul & thumbnail situsnya (berlaku juga untuk /send/group dan /send/broadcast). Kirim "linkPreview": false untuk teks biasa. URL ke jaringan internal/privat tidak pernah diambil server.Contoh: Kirim Teks
curl -X POST https://api.waduh.fun/api/send/text \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "main",
"phone": "6281234567890",
"message": "Halo! Ini pesan dari WADUH.",
"delayMin": 0,
"delayMax": 0
}'Parameter — Kirim Gambar
sessionIdstringYaID sesi WhatsAppphonestringYaNomor tujuan (628xxx)urlstringTidakURL gambar yang dapat diakses publik — wajib jika tidak upload filefilefileTidakFile gambar (multipart/form-data) — wajib jika tidak pakai URLcaptionstringTidakTeks caption di bawah gambardelayMinintegerTidakDelay minimum (milidetik)delayMaxintegerTidakDelay maksimum (milidetik)Contoh: Kirim Gambar via URL
curl -X POST https://api.waduh.fun/api/send/image \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "main",
"phone": "6281234567890",
"url": "https://example.com/promo.jpg",
"caption": "Promo spesial hari ini!"
}'Contoh: Kirim Gambar via Upload File
curl -X POST https://api.waduh.fun/api/send/image \
-H "x-api-key: YOUR_API_KEY" \
-F "sessionId=main" \
-F "phone=6281234567890" \
-F "caption=Promo spesial!" \
-F "file=@/path/to/image.jpg"Parameter — Kirim Dokumen
sessionIdstringYaID sesi WhatsAppphonestringYaNomor tujuan (628xxx)urlstringTidakURL file dokumen publik — wajib jika tidak upload filefilefileTidakFile dokumen (multipart) — wajib jika tidak pakai URLfilenamestringTidakNama file yang ditampilkan di WhatsAppcaptionstringTidakTeks captiondelayMinintegerTidakDelay minimum (milidetik)delayMaxintegerTidakDelay maksimum (milidetik)Parameter — Kirim Audio
sessionIdstringYaID sesi WhatsAppphonestringYaNomor tujuan (628xxx)urlstringTidakURL file audio publik — wajib jika tidak uploadfilefileTidakFile audio (multipart) — wajib jika tidak pakai URLpttbooleanTidaktrue = voice note (diputar sekali), false = audio biasa (default: false)Parameter — Kirim Lokasi
sessionIdstringYaID sesi WhatsAppphonestringYaNomor tujuan (628xxx)latitudenumberYaKoordinat lintang (contoh: -6.2088)longitudenumberYaKoordinat bujur (contoh: 106.8456)namestringTidakNama tempat / lokasiaddressstringTidakAlamat lengkapParameter — Kirim Kontak (vCard)
sessionIdstringYaID sesi WhatsAppphonestringYaNomor tujuan (628xxx)contactNamestringYaNama kontak yang akan dikirimcontactPhonestringYaNomor HP kontak yang akan dikirim (628xxx)Parameter — Kirim ke Grup WhatsApp
sessionIdstringYaID sesi WhatsAppmessagestringYaPesan tekslinkPreviewbooleanTidakTampilkan pratinjau (judul + thumbnail) URL pertama di pesan (default: true). false = teks biasaParameter — Broadcast
sessionIdstringYaID sesi WhatsAppphonesarrayYaArray nomor tujuan (628xxx), maksimum 100 nomor per requestmessagestringYaIsi pesan tekslinkPreviewbooleanTidakTampilkan pratinjau (judul + thumbnail) URL pertama di pesan (default: true). false = teks biasadelayMinintegerTidakDelay minimum antar pesan (milidetik, rekomendasi: 1000)delayMaxintegerTidakDelay maksimum antar pesan (milidetik, rekomendasi: 5000)Contoh: Broadcast ke Banyak Nomor
curl -X POST https://api.waduh.fun/api/send/broadcast \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "main",
"phones": ["6281234567890", "6289876543210", "628111222333"],
"message": "Halo! Promo kami berlaku hari ini.",
"delayMin": 1000,
"delayMax": 3000
}'delayMin dan delayMax (dalam milidetik) saat broadcast ke banyak nomor untuk menghindari pemblokiran WhatsApp. Rekomendasi: 1000–5000 ms.Pesan Terjadwal
/api/scheduled/uploadUpload file ke cloud storage, kembalikan URL publik/api/scheduledBuat pesan terjadwal baru/api/scheduledDaftar pesan terjadwal (paginasi & filter status)/api/scheduled/:idDetail pesan terjadwal/api/scheduled/:id/cancelBatalkan pesan terjadwal (hanya status pending)/api/scheduled/:idHapus pesan terjadwal (selesai/gagal/dibatalkan)Parameter — Buat Pesan Terjadwal
sessionIdstringYaID sesi WhatsApp aktifmsgTypestringYaTipe pesan: text | image | document | audio | videopayloadobjectYaIsi pesan (tergantung msgType, lihat contoh di bawah)phonesarrayYaArray nomor tujuan (628xxx)scheduledAtstringYaWaktu kirim ISO 8601 dengan timezone (misal: 2026-06-01T09:00:00+07:00)delayMinintegerTidakDelay minimum antar penerima (milidetik, default: 0)delayMaxintegerTidakDelay maksimum antar penerima (milidetik, default: 0)Struktur payload per msgType
text{ "message": "..." }image{ "url": "https://...", "caption": "..." } atau gunakan upload terlebih dahuludocument{ "url": "https://...", "filename": "report.pdf", "caption": "..." }audio{ "url": "https://...", "ptt": false }video{ "url": "https://...", "caption": "..." }Contoh: Jadwalkan Pesan Teks
curl -X POST https://api.waduh.fun/api/scheduled \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "main",
"msgType": "text",
"payload": { "message": "Pengingat meeting jam 9 pagi!" },
"phones": ["6281234567890"],
"scheduledAt": "2026-06-01T09:00:00+07:00",
"delayMin": 0,
"delayMax": 0
}'Contoh: Jadwalkan Pesan Gambar via URL
curl -X POST https://api.waduh.fun/api/scheduled \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "main",
"msgType": "image",
"payload": {
"url": "https://cdn-anda.com/promo-juni.jpg",
"caption": "Promo spesial bulan Juni!"
},
"phones": ["6281234567890", "6289876543210"],
"scheduledAt": "2026-06-01T08:00:00+07:00"
}'/api/scheduled/upload mendukung file hingga 25 MB. Format: gambar (JPG/PNG/GIF/WEBP), dokumen (PDF/DOCX/XLSX/ZIP), audio (MP3/OGG), video (MP4).Phonebook API
/api/phonebook/contactsDaftar kontak (pagination, search)/api/phonebook/contactsTambah kontak baru/api/phonebook/contacts/:idEdit kontak/api/phonebook/contacts/:idHapus kontak/api/phonebook/groupsDaftar grup kontak/api/phonebook/groupsBuat grup kontak baru/api/phonebook/wa-groupsDaftar grup WhatsApp (tersinkronisasi)/api/phonebook/wa-groups/sync/:sessionIdSinkronkan grup WA dari sesi tertentuParameter — Tambah Kontak
namestringYaNama kontakphonestringYaNomor WhatsApp (628xxx tanpa + atau spasi)groupIdintegerTidakID grup kontak tujuan (dari GET /api/phonebook/groups)notesstringTidakCatatan tambahan untuk kontakParameter — Buat Grup Kontak
namestringYaNama grup kontakdescriptionstringTidakDeskripsi grupContoh: Tambah Kontak
curl -X POST https://api.waduh.fun/api/phonebook/contacts \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Budi Santoso",
"phone": "6281234567890",
"groupId": 1,
"notes": "Pelanggan setia"
}'Webhook API
/api/webhookDaftar semua konfigurasi webhook/api/webhookTambah webhook baru/api/webhook/:idUpdate webhook (url, name, secret, isActive, events)/api/webhook/:idHapus webhook/api/webhook/:id/testKirim payload dummy ke URL webhook untuk uji koneksi/api/webhook/messagesInbox pesan masuk (paginasi, filter sessionId)Parameter — Buat / Update Webhook
namestringYaNama identifikasi webhookurlstringYaURL endpoint yang menerima HTTP POSTsessionIdstringTidaknull = tangkap semua sesi; isi session ID untuk sesi tertentusecretstringTidakJika diisi, setiap request menyertakan header X-WADUH-Signature (HMAC-SHA256)eventsarrayTidakDefault: semua event. Pilihan: message.incoming, session.connected, session.disconnectedisActivebooleanTidaktrue (default) = webhook aktifContoh: Buat Webhook
curl -X POST https://api.waduh.fun/api/webhook \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Notif Pesan Masuk",
"url": "https://yourapp.com/wa-hook",
"sessionId": null,
"secret": "rahasia123",
"events": ["message.incoming", "session.connected"]
}'Format Payload Masuk ke Server Anda
{
"event": "message.incoming",
"timestamp": "2026-01-15T10:30:00.000Z",
"data": {
"sessionId": "main",
"fromNumber": "6281234567890",
"fromName": "Budi Santoso",
"isGroup": false,
"groupJid": null,
"messageId": "XXXXXXXXXXXXXXXX",
"type": "text",
"content": "Halo, saya butuh informasi produk.",
"timestamp": "2026-01-15T10:30:00.000Z"
}
}Spreadsheet API
/api/spreadsheetDaftar semua konfigurasi spreadsheet/api/spreadsheetTambah konfigurasi baru/api/spreadsheet/:idUpdate konfigurasi/api/spreadsheet/:idHapus konfigurasi/api/spreadsheet/:id/testKirim baris dummy ke sheet untuk uji koneksiParameter — Tambah Spreadsheet
namestringYaNama identifikasi konfigurasiappsScriptUrlstringYaURL deployment Google Apps Script (https://script.google.com/macros/s/.../exec)sessionIdstringTidaknull = catat semua sesi; isi session ID untuk sesi tertentulogIncomingbooleanTidakCatat pesan masuk (default: true)logOutgoingbooleanTidakCatat pesan keluar (default: true)isActivebooleanTidaktrue (default) = aktifContoh: Tambah Spreadsheet
curl -X POST https://api.waduh.fun/api/spreadsheet \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Log WA Sales",
"appsScriptUrl": "https://script.google.com/macros/s/XXXX/exec",
"sessionId": null,
"logIncoming": true,
"logOutgoing": true
}'Format Respons
Semua endpoint mengembalikan format JSON yang konsisten:
// Sukses
{
"code": 200,
"status": "success",
"message": "Data berhasil diambil.",
"data": { ... }
}
// Error
{
"code": 400,
"status": "error",
"message": "sessionId wajib diisi.",
"data": null
}HTTP Status Code
FAQ
Pertanyaan yang sering ditanyakan seputar WADUH.
Umum
Teknis
Billing & Quota
Masih punya pertanyaan?
Hubungi tim kami atau coba langsung dengan mendaftar akun gratis.
Coba Gratis Sekarang