OmniStream Docs
  • Panduan Pengguna
  • Developer
  • API Reference
Pengenalan
Memulai
Agent
Supervisor
    Dashboard SupervisorAnalytics & LaporanPemantauan SLACampaign WhatsAppKinerja Agent & Review CSAT
Admin
Integrasi
FAQ
Supervisor

Campaign WhatsApp

Campaign WhatsApp

Ringkasan

Modul Campaigns (/campaigns) memungkinkan supervisor merancang dan mengirim pesan broadcast WhatsApp berbasis template resmi yang sudah disetujui Meta. Berbeda dengan pesan percakapan biasa yang bebas bentuk, broadcast WhatsApp di luar jendela 24 jam layanan hanya boleh menggunakan template terdaftar — karena itu halaman ini terbagi jadi dua tab: Templates (sinkron dari Meta) dan Campaigns (perencanaan eksekusi).

Pengiriman sebenarnya dijalankan oleh scheduler backend yang mem-polling tabel campaigns setiap 30 detik untuk menemukan kampanye dengan status = 'scheduled' yang waktunya sudah tiba. Pesan keluar dihasilkan satu per satu, di-publish ke topik Kafka channel.outbound.job, lalu dikirim oleh message-sender (modul crates/message-sender/src/whatsapp.rs) ke Meta Graph API.

Hak akses: Kampanye hanya dapat dikelola oleh supervisor dan admin. Untuk mengirim kampanye, peran harus memiliki flag can_broadcast = true pada record agent-nya.

Alur kerja kampanye

Code
Template disetujui Meta ↓ Sinkronisasi ke OmniStream (tab Templates) ↓ Supervisor buat campaign (pilih template + nama) ↓ Tambah penerima (manual / dari kontak / dari tag / CSV) ↓ Review (opsional jadwalkan ke waktu tertentu) ↓ Send Now / Schedule ↓ Scheduler mengeksekusi → Kafka channel.outbound.job → message-sender → Meta ↓ Status per-recipient tercatat di campaign_recipients

Langkah-langkah: mengirim kampanye baru

1. Siapkan template

  1. Buka /campaigns, klik tab Templates.
  2. Klik tombol Sync from Meta untuk menarik semua template WhatsApp Business yang sudah disetujui Meta ke database OmniStream. Endpoint yang dipanggil: POST /api/wa-templates/sync (tag WA Templates).
  3. Pastikan template yang ingin dipakai berstatus APPROVED dan memiliki category (UTILITY, MARKETING, AUTHENTICATION).

Jangan gunakan template yang masih PENDING atau REJECTED — Meta akan mengembalikan error saat pengiriman dan seluruh kampanye bisa gagal.

2. Buat campaign

  1. Di tab Campaigns, klik + New Campaign.
  2. Isi form:
    • Name (wajib) — nama internal, mis. Promo Lebaran 2026 - WhatsApp VIP
    • Template — pilih template dari daftar hasil sync
  3. (Opsional) Aktifkan Schedule dan pilih tanggal + jam pengiriman. Tanpa jadwal, kampanye tetap berstatus draft hingga Anda klik Send Now.
  4. Klik Create. Campaign tercipta dengan status draft.

3. Tambah penerima

Ada 4 cara menambah penerima:

ModeCara kerja
ContactsPilih kontak yang sudah ada di database
TagsSemua kontak yang memiliki tag tertentu (mis. vip, newsletter)
ManualInput nomor telepon secara manual, satu per baris
CSVUpload file CSV dengan kolom phone + variabel template

Setiap mode akhirnya memanggil POST /api/campaigns/{id}/recipients dengan payload yang sesuai. Jika template mengandung variabel ({{1}}, {{2}}), Anda wajib memetakan nilai per kontak pada langkah ini.

4. Review dan kirim

  1. Klik tab Review di modal campaign.
  2. Periksa:
    • Jumlah total penerima
    • Preview WhatsApp lengkap dengan format (bold *text*, italic _text_, strikethrough ~text~)
    • Ringkasan jadwal (jika ada)
  3. Klik Send Now untuk pengiriman langsung, atau biarkan scheduler yang menanganinya pada waktu yang dijadwalkan.

Screenshot halaman campaigns

Memantau campaign yang sedang berjalan

  1. Di tab Campaigns, klik baris campaign untuk melihat detail.
  2. Panel detail menampilkan:
    • Status keseluruhan: draft, scheduled, sending, completed, failed, cancelled
    • Progress: X of Y sent (live update)
    • Recipients breakdown: queued / sent / delivered / read / failed
  3. Untuk menghentikan kampanye yang sedang berjalan, klik Cancel Campaign. Hanya penerima yang belum diproses yang akan di-skip; yang sudah terkirim tidak bisa ditarik.

Endpoint (tag Campaigns)

AksiEndpoint
List campaignGET /api/campaigns
Detail campaignGET /api/campaigns/{id}
Buat campaignPOST /api/campaigns
Update campaignPUT /api/campaigns/{id}
Cancel campaignPOST /api/campaigns/{id}/cancel
Kirim sekarangPOST /api/campaigns/{id}/send
Tambah penerimaPOST /api/campaigns/{id}/recipients
List penerimaGET /api/campaigns/{id}/recipients

Endpoint lengkap di API Reference — Campaigns dan API Reference — WA Templates.

Praktik terbaik

  • Test dengan 1 penerima dulu — kirim ke nomor internal sebelum blast ke ribuan kontak.
  • Gunakan kategori template yang tepat — jangan pakai MARKETING untuk pesan layanan; Meta akan menurunkan kualitas pengiriman.
  • Patuhi jam operasional — broadcast di luar jam biasanya berdampak negatif pada response rate dan meningkatkan opt-out.
  • Monitor failed recipients — nomor yang gagal berulang kali sebaiknya dihapus dari daftar kontak untuk melindungi sender score.
  • Cek metric di Analytics — lonjakan pesan harian biasanya mencerminkan kampanye baru.

Rute terkait

  • Dashboard Supervisor — pantau volume pesan saat kampanye aktif
  • Analytics — lihat tren pesan per hari
Last modified on June 8, 2026
Pemantauan SLAKinerja Agent & Review CSAT
On this page
  • Ringkasan
  • Alur kerja kampanye
  • Langkah-langkah: mengirim kampanye baru
    • 1. Siapkan template
    • 2. Buat campaign
    • 3. Tambah penerima
    • 4. Review dan kirim
  • Memantau campaign yang sedang berjalan
  • Endpoint (tag Campaigns)
  • Praktik terbaik
  • Rute terkait