WhatsApp Channels — checklist per cabang
Menu admin WhatsApp Channels (/whatsapp-channels) dipakai untuk mengelola satu atau banyak nomor WhatsApp Cloud API resmi per perusahaan dan cabang. Setiap channel punya credential Meta sendiri; pesan masuk diarahkan otomatis berdasarkan Phone Number ID.
Istilah
Site / cabang di Ide AI = kombinasi Company + Branch (bukan domain website terpisah). Channel WABA = satu nomor WhatsApp Business di Meta.
Siapa yang boleh mengatur
- Super Agent— semua company & cabang
- Owner — channel di company-nya
- Head Branch — channel di cabangnya (+ channel company-wide)
Role Agent tidak mengelola credential; mereka hanya melihat channel yang di-assign (atau semua channel cabang jika belum ada assignment).
Prasyarat (sekali untuk environment)
- Database migration sudah dijalankan (
npx prisma migrate deploydi server backend). WABA_SECRET_ENCRYPTION_KEYsudah diisi di.envbackend (generate:openssl rand -hex 32).- Company & cabang sudah dibuat di Company & cabang.
- Meta App WhatsApp Cloud sudah aktif (Business Verification sesuai kebutuhan Meta).
Checklist — satu channel per cabang
Ulangi blok ini untuk setiap cabang yang punya nomor WA sendiri (misalnya Jakarta, Surabaya, Medan).
1. Siapkan credential di Meta
- ☐ Access Token (permanent / system user token)
- ☐ Phone Number ID (unik per nomor)
- ☐ WhatsApp Business Account ID (WABA ID)
- ☐ Webhook Verify Token (string rahasia pilihan Anda)
2. Tambah channel di Ide AI
- ☐ Buka WhatsApp Channels → Tambah Channel
- ☐ Pilih Company (Super Agent) atau otomatis untuk Owner/Head Branch
- ☐ Pilih Cabang — kosongkan hanya jika channel dipakai seluruh company (company-wide)
- ☐ Isi label, Phone Number ID, Business Account ID, Access Token
- ☐ Centang Default channel bila ini nomor utama cabang tersebut
- ☐ Simpan — status channel Aktif
3. Webhook Meta (satu URL untuk semua nomor dalam App yang sama)
- ☐ Callback URL:
https://<domain-backend>/api/whatsapp/webhook - ☐ Verify token = sama dengan
WHATSAPP_CLOUD_WEBHOOK_VERIFY_TOKENdi env atau token yang Anda set saat create channel - ☐ Subscribe field: messages (dan status jika perlu)
4. AI & operasional cabang
- ☐ AI Agent untuk company/cabang yang sama sudah dikonfigurasi (General, Knowledge, dll.)
- ☐ Akun Human Agent di cabang tersebut sudah dibuat dengan company/branch yang benar
- ☐ (Opsional) Assign channel ke Agent tertentu lewat fitur access di admin WABA — jika Agent hanya boleh handle satu nomor
5. Broadcast & template
- ☐ Sync template Meta per channel (Broadcast → pilih channel → sync)
- ☐ Buat kampanye dengan channel WABA yang sesuai; template harus dari channel yang sama
6. Verifikasi go-live
- ☐ Kirim pesan WA ke nomor cabang → muncul di Chat dengan cabang benar
- ☐ Balas dari dashboard → terkirim dari nomor yang sama
- ☐ Login Head Branch cabang lain → tidak melihat session cabang ini
- ☐ Panel Reliability / WhatsApp Channels menunjukkan metrik channel
Skenario multi-channel
| Channel | Cabang di UI | Siapa chat masuk |
|---|---|---|
| WA Jakarta | Cabang Jakarta | Customer ke nomor Jakarta → session cabang Jakarta |
| WA Surabaya | Cabang Surabaya | Customer ke nomor Surabaya → session cabang Surabaya |
| WA Pusat | (kosong / company-wide) | Semua cabang bisa lihat; fallback default outbound |
Penting
Menambah channel tidak mematikan channel lama. Setiap nomor tetap jalan selama credential valid dan channel aktif. Routing inbound ditentukan oleh nomor yang dihubungi customer, bukan oleh URL website.
Filter data per cabang (ringkas)
- Chat & session — filter company/cabang di sidebar + filter WABA untuk Agent
- Kontak — per company (bukan per nomor WABA)
- Broadcast — pilih channel WABA eksplisit
- Dashboard analitik — per company/cabang (belum per WABA di semua grafik)
Troubleshooting singkat
- Pesan tidak masuk — cek webhook Meta, URL publik, dan Phone Number ID cocok dengan record di WhatsApp Channels
- Session cabang salah — pastikan channel dibuat dengan cabang yang benar; customer harus chat ke nomor channel itu
- Broadcast gagal — pastikan kampanye memakai channel dan template yang sama (wabaId match)
- Decrypt error di log —
WABA_SECRET_ENCRYPTION_KEYberubah setelah token disimpan; rotate token di UI channel
Lihat juga: Company & cabang, Broadcast, Chat, Peran & hak akses.
