Package Information
Available Nodes
Documentation generating…
Documentation
WA AI Suite n8n nodes v2.2.0
Paket ini menyediakan WA AI Suite Trigger, WA AI Suite Message, WA AI Suite Label, dan WA AI Suite Group. Trigger lama tetap kompatibel: v1 memiliki satu output dan v2 memiliki enam output. Trigger tetap tanpa credential; tiga node aksi menggunakan credential WA AI Suite API.
Instalasi
Perbarui backend Rest-WA bersamaan dengan paket node ini. Build/restart backend, lalu pasang paket sebagai pengguna n8n:
cd ~/.n8n/nodes
npm install /path/to/n8n-nodes-wa-ai-suite-2.2.0.tgz
Restart n8n dan refresh browser. Docker memerlukan volume persisten /home/node/.n8n/nodes. Paket hasil build lokal tersedia sebagai .tgz; perubahan ini tidak memublikasikannya ke npm.
Trigger dan nomor WhatsApp
Salin Test URL / Production URL ke WA AI Suite → n8n untuk slot yang dipilih. Gunakan Test URL saat Listen for test event aktif; gunakan Production URL setelah workflow diaktifkan/publish.
| Field | Isi |
|---|---|
json.phoneNumber |
Nomor pengirim dalam format internasional tanpa +, misalnya 628123456789 |
json.contact.phone |
Nomor pengirim yang sama |
json.phoneNumberResolved |
true bila nomor berhasil ditemukan |
json.chatId |
ID chat asli, termasuk @lid; gunakan untuk membalas |
json.slot |
Slot koneksi WhatsApp akun, bukan nomor telepon |
json.message.text |
Teks pesan |
binary.attachment |
Foto, video, atau audio yang diterima |
Backend memetakan @lid menggunakan sesi WhatsApp aktif sebelum mengirim event. Jika WhatsApp belum menyediakan pemetaan, nomor tetap kosong dan phoneNumberResolved=false; angka LID tidak dianggap sebagai nomor telepon. Update backend diperlukan untuk memperbaiki event LID dari versi lama.
Output v2: message.any, message.text, message.image, message.video, message.audio, connection.test. Pilih output umum atau khusus agar workflow tidak memproses pesan yang sama dua kali.
Credential untuk node aksi
- Sebagai pemilik workspace, buka WA AI Suite → n8n dan pilih nomor WhatsApp.
- Klik Buat / ganti API key, lalu salin key yang ditampilkan satu kali.
- Di n8n buat credential WA AI Suite API: isi Base URL aplikasi (contoh
https://wa.example.com, tanpa/api) dan API Key. - Gunakan credential tersebut di node Message dan Label. Setiap key terikat ke workspace dan slotnya; buat credential terpisah untuk nomor lain.
Penggantian/pencabutan key langsung membatalkan key lama. Hash key disimpan di backend. Akses paket/slot diperiksa setiap request. Gunakan HTTPS di luar lingkungan lokal.
WA AI Suite Message
| Operation | Perilaku |
|---|---|
| Read | Menandai chat sebagai sudah dibaca |
| Start Typing | Menampilkan status mengetik |
| Stop Typing | Menghentikan status mengetik |
| Send Text | Mengirim teks (maksimal 12000 karakter) |
| Send Image | Mengirim binary gambar JPEG, PNG, WebP, atau GIF |
| Send Video | Mengirim binary video MP4, WebM, 3GPP, atau QuickTime |
Chat ID / WhatsApp Number default ={{ $json.chatId }}. Nomor internasional juga diterima; gunakan chatId trigger untuk chat LID. Operasi tersedia untuk chat pribadi. Read berarti tanda sudah dibaca, bukan mengambil riwayat.
Send Image/Video memakai Input Binary Field (default attachment) dan caption opsional (maksimal 2000 karakter). Untuk file dari URL, unduh dahulu lewat HTTP Request n8n dengan respons File, lalu gunakan nama field binary tersebut. Media maksimal 15 MiB. Start Typing mengikuti masa berlaku status dari WhatsApp; gunakan kembali jika proses panjang dan Stop Typing setelahnya.
Contoh alur: Trigger → Read → Start Typing → proses balasan → Send Text → Stop Typing. Tiap hasil operasi mengembalikan chatId agar bisa diteruskan. Setiap input diproses dan dipasangkan dengan outputnya; Continue On Fail menghasilkan field error per item. Pengiriman tidak dicoba ulang secara otomatis oleh node; periksa chat jika respons pengiriman terputus sebelum menjalankan ulang.
WA AI Suite Label
Label yang dikelola adalah label kontak WA AI Suite, sesuai halaman Label aplikasi.
- Get Label: kosongkan Chat ID untuk semua label workspace, atau isi Chat ID untuk label pada chat tersebut. Respons memiliki array
labelsberisi ID, nama, warna, danstopsAi. - Save Label for the Chat: pasang satu Label ID pada chat, mempertahankan label lainnya. Pengulangan tidak menggandakan label.
- Delete Label for the Chat: lepas satu Label ID dari chat. Definisi label dan label chat lain tetap ada.
Buat definisi label di aplikasi, ambil ID lewat Get Label, lalu gunakan chatId trigger untuk memasangnya. Chat harus sudah tersimpan di kontak workspace. Maksimal 30 label per chat.
Pengembangan dan pemeriksaan
npm ci
npm test
npm pack
Lampiran trigger dan pengiriman maksimal 15 MiB. Atur batas request reverse proxy minimal 32 MiB untuk overhead base64. Backend API menerima JSON hingga 22 MiB setelah autentikasi. Gunakan eventId sebagai unique key downstream untuk deduplikasi lintas worker.
Perbaikan Read/Typing v2.1.5
Read dan Typing sekarang langsung memakai Chat ID tanpa serialisasi getChatById. Typing menunggu hasil operasi WhatsApp agar kegagalan tidak dilaporkan sukses. Node menampilkan pesan backend beserta HTTP status; WA_NOT_CONNECTED menunjukkan slot belum online, sedangkan WA_CHAT_ACTION_NOT_CONFIRMED atau WA_CHAT_ACTION_FAILED menunjukkan operasi chat belum berhasil.
Perbarui dan restart backend Rest-WA serta node n8n. Memperbarui paket n8n saja hanya memperjelas pesan error; perbaikan operasi Read ada pada backend. URL ngrok yang meneruskan ke aplikasi tetap dapat dipakai sebagai Base URL tanpa /api.
Grup WhatsApp (v2.2.0)
Perbarui backend Rest-WA dan paket node, lalu restart keduanya. Gunakan WA AI Suite Trigger versi 3 (buat trigger baru atau upgrade versi node yang lama) untuk output ketujuh message.group. Enam output sebelumnya tetap untuk pesan pribadi dan event uji; versi trigger 1/2 tidak meneruskan event grup.
Pesan grup dari anggota lain terdeteksi, termasuk teks/foto/video/audio. Pesan yang dikirim oleh akun sendiri diabaikan agar balasan workflow tidak memicu loop. Deteksi grup tidak menjalankan AI auto-reply atau label customer pribadi.
Field output grup:
json.isGroup:true;json.chatType:group.json.chatIddanjson.groupId: ID grup lengkap, contoh120363123456789@g.us.json.group.name: nama grup bila tersedia dari cache WhatsApp, bisa kosong.json.sender.id,.name,.phone: anggota pengirim;json.phoneNumberadalah nomor anggota, bukan nomor grup. LID yang belum terpetakan tetap menghasilkan nomor kosong.json.message.textdanbinary.attachment: isi pesan/lampiran.
Tambahkan node WA AI Suite Group, pilih credential dari slot WhatsApp yang menjadi anggota grup tersebut:
- Get Groups menampilkan daftar grup yang tersedia pada sesi WhatsApp slot tersebut, dengan
groups[].iddangroups[].name. - Send Text, Send Image, dan Send Video mengirim ke Group ID berakhiran
@g.us. ID lama dengan tanda hubung juga didukung. - Group ID default
={{ $json.chatId }}sehingga bisa langsung disambungkan dari outputmessage.group. Media menggunakan binaryattachmentdan caption opsional, dengan batas yang sama seperti node Message.
Contoh: Trigger v3 → message.group → Group / Send Text. WhatsApp harus online, akun masih anggota grup, dan memiliki izin mengirim jika grup dibatasi untuk admin. Tidak ada pengiriman ulang otomatis.
Hasil pengiriman belum terkonfirmasi
Operasi Send Text/Image/Video dapat menghasilkan status: "uncertain", ok: false, sent: null, dan requiresManualCheck: true ketika backend menyatakan hasil pengiriman belum pasti. Node mengeluarkan item tersebut tanpa melempar error, sehingga Retry On Fail tidak mengirim ulang pesan ini. Status ini bukan bukti pesan berhasil terkirim. Gunakan node IF untuk memisahkan status === "uncertain" dan hentikan langkah yang membutuhkan pengiriman sukses sampai chat diperiksa. Error autentikasi, slot offline, dan error server lain tetap dilaporkan sebagai error.



