📚 Dokumentasi API Wahnotif
Wahnotif menyediakan REST API modern yang memudahkan Anda untuk mengintegrasikan pengiriman pesan WhatsApp, Chatbot AI otomatis, dan Manajemen CRM ke dalam aplikasi Anda (Node.js, PHP, Python, dll).
API kami didesain agar mudah digunakan oleh developer dengan standar respons JSON dan penggunaan autentikasi berbasis Header.
Autentikasi
Semua request ke API Wahnotif memerlukan API Key rahasia untuk memastikan keamanan data Anda. Anda bisa membuat dan mencabut API Key kapan saja dari halaman Dasbor Klien Anda.
Sertakan API Key tersebut di dalam HTTP Header dengan kunci x-api-key.
// Menggunakan Fetch (JavaScript)
fetch('https://api.wahnotif.com/api/send-message', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'KODE_RAHASIA_ANDA'
}
});
Kirim Pesan (Teks & Media)
Mengirim pesan teks biasa atau pesan disertai gambar ke satu nomor WhatsApp.
| Parameter | Tipe | Keterangan |
|---|---|---|
| number | String | Nomor tujuan (format angka, misal 628...). Wajib. |
| message | String | Isi pesan teks (atau *caption* jika gambar). Wajib. |
| imageUrl | String | (Opsional) URL gambar publik untuk dikirim. |
| image | File | (Opsional) Jika menggunakan FormData, upload file gambar langsung. |
curl -X POST https://api.wahnotif.com/api/send-message \
-H "Content-Type: application/json" \
-H "x-api-key: KODE_RAHASIA_ANDA" \
-d '{
"number": "628123456789",
"message": "Halo! Ini adalah notifikasi pesanan."
}'
Response (JSON)
{
"success": true,
"message": "Pesan berhasil dikirim",
"id": "MSG_12345XYZ"
}
Kirim Broadcast Massal
Kirim pesan massal dengan aman (menggunakan jeda antrean acak untuk menghindari blokir). Fitur ini mendukung Spintax dan targeting tag CRM.
| Parameter | Keterangan |
|---|---|
| messageTemplate | Pesan utama. Mendukung Spintax: {Halo|Hai}. |
| useContacts | Boolean. Jika true, ambil data dari CRM Wahnotif. |
| targetTag | (Opsional) Kirim hanya ke tag tertentu (misal: VIP). |
| csv | (Opsional) File CSV (FormData) jika useContacts = false. |
{
"messageTemplate": "{Halo|Hai} [nama], promo khusus untuk kamu!",
"useContacts": true,
"targetTag": "PelangganLama"
}
Manajemen Kontak (CRM)
Mengambil, menambah, dan memperbarui buku kontak pelanggan Anda. Ganti {deviceId} dengan ID perangkat Anda.
| Parameter POST | Keterangan |
|---|---|
| name | Nama pelanggan. |
| phone | Nomor WhatsApp pelanggan. |
| (Opsional) Email pelanggan. | |
| tags | (Opsional) Tag (dipisahkan koma), misal: VIP,Baru. |
POST /api/device/DVC-1234/contacts
{
"name": "Budi Santoso",
"phone": "62899998888",
"tags": "VIP, Priority"
}
Webhook Pesanan Masuk
Jika URL Webhook diatur di Dasbor, Wahnotif akan menembakkan HTTP POST ke server Anda setiap kali ada pesan masuk.
Ini sangat berguna untuk membangun sistem Auto-Responder Anda sendiri tanpa harus terkoneksi langsung ke server WhatsApp.
{
"deviceId": "xxx-yyy",
"from": "628123456789@s.whatsapp.net",
"message": "Halo, saya mau pesan barang",
"timestamp": 1718000000
}
AI Tool Schema Discovery
Jika Anda memiliki sistem backend sendiri dan ingin AI Wahnotif mengeksekusi Action/Fungsi tertentu dari API Anda, buat satu Endpoint GET (misal: /api/tools_schema) yang mengembalikan OpenAI Tool Schema JSON.
AI akan otomatis memahami fungsi apa yang tersedia (seperti Cek Resi, Cek Stok) berdasarkan name dan description, lalu menembak webhookUrl ketika pelanggan bertanya.
Injeksi Otomatis
Saat AI menembak webhookUrl Anda, ia juga menyertakan variabel otomatis: _wahnotif_deviceId, _wahnotif_jid, _wa_role, _wa_user untuk memudahkan identifikasi session.
{
"status": "success",
"wahnotif_tools": [
{
"name": "cek_ongkir",
"description": "Dipanggil ketika pelanggan minta cek ongkir",
"parameters": {
"type": "object",
"properties": {
"kecamatan": { "type": "string" }
},
"required": ["kecamatan"]
},
"webhookUrl": "https://api.domain.com/hook/ongkir"
}
]
}
Membalas Webhook dgn File PDF
// Jika server Anda merespons dgn ini,
// AI akan mem-PDF-kan HTML ini.
{
"generate_pdf": true,
"filename": "invoice.pdf",
"html_content": "<h1>Invoice 01</h1>"
}