Hubungkan KirimChat dengan n8n untuk membuat workflow automation yang powerful. Kirim pesan otomatis, sinkronisasi data, dan buat chatbot dengan visual workflow builder.
Instalasi
Install dari Community Nodes
- Buka n8n dashboard
- Pergi ke Settings > Community Nodes
- Klik Install
- Masukkan nama package:
Code
- Konfirmasi instalasi
Setup Credentials
- Di n8n, buka Credentials
- Klik Add Credential
- Cari KirimChat API
- Masukkan:
- API Key: Key dari dashboard KirimChat (format
kc_live_xxx) - API Base URL:
https://api-prod.kirim.chat/api/v1/public(default)
- API Key: Key dari dashboard KirimChat (format
- Klik Save
Buat API Key di Developers > API Keys pada dashboard KirimChat.
Operasi yang Tersedia
KirimChat node menyediakan 6 operasi utama:
| Operasi | Deskripsi |
|---|---|
| Send Message | Kirim pesan ke customer via WhatsApp, Instagram, atau Messenger |
| List Templates | Ambil daftar template WhatsApp |
| Get Template | Ambil detail template tertentu |
| Mark as Read | Tandai pesan sebagai sudah dibaca |
| Send Typing Indicator | Kirim indikator typing ke customer |
| Get Message Status | Cek status pengiriman pesan |
Send Message
Kirim pesan ke customer melalui berbagai channel dan tipe pesan.
Identifikasi Customer
Pilih salah satu metode untuk mengidentifikasi penerima:
| Metode | Contoh | Keterangan |
|---|---|---|
| Customer ID | cust_abc123 | ID unik customer dari KirimChat |
| Phone Number | 628123456789 | Nomor telepon (format internasional) |
| Instagram Username | johndoe | Username Instagram customer |
Channel & Tipe Pesan
| Tipe Pesan | Parameter | Keterangan |
|---|---|---|
| Text | content | Pesan teks biasa |
| Image | media_url, caption | Gambar (JPEG, PNG, max 5MB) |
| Document | media_url, filename, caption | Dokumen (PDF, DOC, max 100MB) |
| Audio | media_url | Audio (MP3, OGG, max 16MB) |
| Video | media_url, caption | Video (MP4, max 16MB) |
| Template | template | Template yang sudah di-approve Meta |
| Interactive | interactive | Tombol, list menu, atau CTA URL |
| Tipe Pesan | Parameter | Keterangan |
|---|---|---|
| Text | content | Pesan teks |
| Image | media_url | Gambar (JPEG, PNG) |
| Media Share | media_url | Share media |
Messenger
| Tipe Pesan | Parameter | Keterangan |
|---|---|---|
| Text | content | Pesan teks |
| Image | media_url | Gambar (JPEG, PNG, GIF) |
| Video | media_url | Video (MP4) |
| Audio | media_url | Audio (MP3, WAV) |
| File | media_url, filename | File apapun |
Template Message
Untuk mengirim template WhatsApp:
-
Mode Dropdown - Pilih template dari daftar yang sudah di-approve
- Template otomatis dimuat dari akun Anda
- Jumlah variable ditampilkan (contoh:
[2 var]) - Isi setiap variable (
{{1}},{{2}}, dst.)
-
Mode Manual - Masukkan nama dan bahasa template secara manual
- Template Name: Nama template (contoh:
order_confirmation) - Language: Kode bahasa (contoh:
id,en_US) - Components (opsional): JSON array untuk header media dan buttons
- Template Name: Nama template (contoh:
Code
Interactive Message (WhatsApp)
CTA URL Button
Kirim pesan dengan tombol yang mengarah ke URL.
| Parameter | Wajib | Batas | Keterangan |
|---|---|---|---|
| Body Text | Ya | 1024 karakter | Teks utama pesan |
| Button Text | Ya | 20 karakter | Teks pada tombol |
| Button URL | Ya | - | URL yang dibuka saat tombol diklik |
| Header Text | Tidak | 60 karakter | Teks header opsional |
| Footer Text | Tidak | 60 karakter | Teks footer opsional |
Reply Buttons
Kirim pesan dengan 1-3 tombol quick reply.
| Parameter | Wajib | Batas | Keterangan |
|---|---|---|---|
| Body Text | Ya | 1024 karakter | Teks utama pesan |
| Buttons | Ya | 1-3 tombol | Setiap tombol: id (max 256 char) + title (max 20 char) |
| Header Text | Tidak | 60 karakter | Teks header opsional |
| Footer Text | Tidak | 60 karakter | Teks footer opsional |
Mode Simple - Isi form per tombol
Mode Advanced (JSON):
Code
List Menu
Kirim pesan dengan menu list yang bisa dipilih customer.
| Parameter | Wajib | Batas | Keterangan |
|---|---|---|---|
| Body Text | Ya | 1024 karakter | Teks utama pesan |
| Button Text | Ya | 20 karakter | Teks tombol untuk membuka list |
| Sections | Ya | 1-10 section | Setiap section: 1-10 item |
| Header Text | Tidak | 60 karakter | Teks header opsional |
| Footer Text | Tidak | 60 karakter | Teks footer opsional |
Mode Simple - Isi form per item (1 section)
Mode Advanced (JSON) - Multiple sections:
Code
Multi-Account Support
Jika Anda memiliki beberapa akun Instagram atau Facebook Page:
- Instagram Account ID - Pilih akun Instagram yang akan digunakan (auto-detect jika hanya 1 akun)
- Facebook Page ID - Pilih Facebook Page yang akan digunakan (auto-detect jika hanya 1 page)
Jika customer memiliki percakapan dengan beberapa akun dan Anda tidak menentukan account ID, API akan mengembalikan error AmbiguousAccount.
List Templates
Ambil daftar template WhatsApp dari akun Anda.
| Parameter | Default | Keterangan |
|---|---|---|
| Status | All | Filter: APPROVED, PENDING, REJECTED |
| Category | All | Filter: MARKETING, UTILITY, AUTHENTICATION |
| Limit | 100 | Maksimal template yang dikembalikan (max 500) |
Get Template
Ambil detail template tertentu berdasarkan Template ID.
| Parameter | Wajib | Keterangan |
|---|---|---|
| Template ID | Ya | ID template (contoh: tpl_abc123) |
Mark as Read
Tandai pesan masuk sebagai sudah dibaca dan kirim read receipt ke customer.
| Parameter | Wajib | Keterangan |
|---|---|---|
| Message ID | Ya | ID pesan yang akan ditandai (contoh: msg_xyz789) |
Hanya pesan inbound (masuk) yang bisa ditandai sebagai dibaca. Channel yang didukung: WhatsApp dan Instagram.
Send Typing Indicator
Kirim indikator "sedang mengetik..." ke customer sebelum mengirim pesan.
| Parameter | Wajib | Keterangan |
|---|---|---|
| Customer | Ya | Customer ID, phone number, atau Instagram username |
| Channel | Tidak | auto-detect, whatsapp, instagram, atau messenger |
Rate limit: maksimal 1 request per 3 detik per customer.
Get Message Status
Cek status pengiriman pesan yang sudah dikirim.
| Parameter | Wajib | Keterangan |
|---|---|---|
| Message ID | Ya | ID pesan dari hasil operasi Send Message |
Status yang dikembalikan:
| Status | Keterangan |
|---|---|
sent | Pesan berhasil dikirim ke server |
delivered | Pesan sampai ke device penerima |
read | Pesan sudah dibaca |
failed | Pengiriman gagal |
Contoh Workflow
Auto-Reply dari Google Sheets
- Google Sheets Trigger - Mendeteksi baris baru
- KirimChat: Send Message - Kirim pesan template ke nomor dari spreadsheet
Notifikasi Order dari WooCommerce
- WooCommerce Trigger - Order baru dibuat
- KirimChat: Send Typing - Kirim typing indicator
- Wait - Tunggu 2 detik
- KirimChat: Send Message - Kirim template konfirmasi order
Webhook ke WhatsApp
- Webhook Trigger - Menerima data dari sistem eksternal
- IF - Cek kondisi (contoh: status pembayaran)
- KirimChat: Send Message - Kirim notifikasi ke customer
Status Tracking
- KirimChat: Send Message - Kirim pesan
- Wait - Tunggu 30 detik
- KirimChat: Get Message Status - Cek status pengiriman
- IF - Jika
failed, kirim ulang atau notifikasi admin
Tips & Best Practices
Error Handling
- Aktifkan Continue on Fail di node settings untuk menangani error tanpa menghentikan workflow
- Gunakan IF node setelah KirimChat untuk mengecek response status
- Log error ke Google Sheets atau database untuk monitoring
Rate Limiting
Perhatikan batas rate limit per channel:
| Channel | Batas | Window |
|---|---|---|
| 60 pesan | per menit | |
| 180 pesan | per jam | |
| Messenger | 180 pesan | per jam |
Gunakan Wait node di antara batch pengiriman untuk menghindari rate limiting.
24-Hour Messaging Window
- WhatsApp, Instagram, dan Messenger memiliki jendela 24 jam untuk pesan non-template
- Gunakan Template Message untuk mengirim pesan di luar jendela 24 jam (hanya WhatsApp)
- Cek status window sebelum mengirim pesan non-template
Performance
- Proses batch messages dengan Split In Batches node
- Tambahkan Wait node (1-2 detik) di antara batch untuk menghindari rate limit
- Gunakan Get Message Status untuk memverifikasi pengiriman penting