Lewati ke konten utama

Kampanye dan Template Pesan

Kampanye dipakai untuk menyusun pesan massal ke daftar kontak, menjadwalkannya, dan melacak status pengiriman. Template pesan menyimpan konten yang bisa dipakai ulang dengan variabel.

Tujuan

  • Membuat dan mengelola template pesan (nama, subjek, badan, variabel).
  • Membuat kampanye, menetapkan inbox, jadwal, jendela pengiriman, dan batas laju.
  • Menambahkan penerima dari kontak dan melihat status tiap penerima.
  • Menjalankan simulasi (dry-run) untuk memperkirakan berapa pesan yang akan terkirim.
  • Mengelola status kampanye (draf, terjadwal, berjalan, jeda, selesai, dibatalkan).

Untuk siapa

  • Operations/agent: melihat template dan kampanye (view_campaigns — agent memilikinya).
  • Owner/admin: membuat, mengubah, menghapus kampanye dan template, menambah penerima, dan mengubah status (manage_campaigns).
  • Supervisor: memantau progres kampanye melalui daftar dan penghitungan pengiriman.

Prasyarat

  • Izin view_campaigns untuk melihat (dimiliki semua peran); manage_campaigns untuk membuat/mengubah (owner/admin).
  • Inbox tujuan sudah dikonfigurasi.
  • Kontak penerima sudah ada di buku alamat.
  • Bila kampanye memakai mode wajib izin (opt-in), kebijakan izin pengiriman dikelola pemilik manage_consents.

Alur kerja

1. Membuat template pesan

  1. Buka tab Campaigns → Templates.
  2. Buat template baru.
  3. Isi nama, subjek (opsional), badan, dan daftar variabel yang akan diganti saat pengiriman.
  4. Pilih kanal (channel) tujuan, lalu simpan.

2. Membuat kampanye

  1. Buka tab Campaigns.
  2. Buat kampanye baru dan isi:
    • nama dan inbox tujuan;
    • template pesan;
    • scheduled_at (waktu jadwal, harus di masa depan);
    • jendela pengiriman send_window (0–23; mis. 20–8 berarti lewat tengah malam);
    • rate_limit_per_sec (1–1000);
    • mode wajib izin (opt-in) bila yang didukung.
  3. Simpan sebagai draf, lalu tambahkan penerima dari kontak.
  4. Jadwalkan untuk memindahkan status menjadi terjadwal.
  5. Status berjalan hingga selesai; boleh di-jeda dan dilanjutkan.

Transisi status yang sah: draft → scheduled, running ⇄ paused, running → completed/cancelled, paused → running/cancelled, draft → cancelled.

3. Menambahkan penerima dan mengawasi status

  1. Buka detail kampanye.
  2. Tambahkan penerima dari kontak (secara manual; tidak ada impor massal berkas).
  3. Pantau status per penerima: pending, sent, delivered, failed, opted_out, skipped.
  4. Lihat ringkasan agregat pada daftar kampanye: jumlah penerima, terkirim, dan gagal.

4. Menjalankan simulasi (dry-run)

  1. Gunakan aksi simulasi pada kampanye (lewat API; tidak ada tombol dry-run di antarmuka web).
  2. Sistem menghitung per penerima: di dalam/luar jendela pengiriman, lolos/diblokir izin, akan terkirim/dilewati berikut alasannya (mis. eligible, opt_in_required, outside_send_window, no_phone).
  3. Simulasi tidak menyimpan apa pun — hanya perkiraan deterministik.

5. Memantau pengiriman

  1. Pekerja penjadwal berjalan tiap menit dan memindahkan penerima yang memenuhi syarat dari pending ke sent, lalu mencatat peristiwa pengiriman.
  2. Penerima yang tidak lolos kualifikasi (di luar jendela, wajib izin tanpa izin eksplisit, tanpa nomor) ditandai skipped dengan alasan.
  3. Lihat agregat sent/delivered/failed pada daftar kampanye.

Catatan tentang pengiriman nyata: prosesor kampanye memindahkan status penerima ke sent dan mencatat peristiwa pengiriman sebagai pencatatan antrean. Saluran transmisi ke penyedia pesan belum terpasang, jadi angka delivered mencerminkan penandaan antrean, bukan konfirmasi keberhasilan dari penyedia. Lihat Batasan.

Tanda berhasil

  • Template dan kampanye tersimpan dan muncul pada daftar masing-masing.
  • Status kampanye berpindah sesuai transisi sah; penerima menampilkan status terkini.
  • Simulasi mengembalikan perkiraan jumlah akan terkirim beserta alasan lewatnya.
  • Pekerja penjadwal memindahkan penerima pending → sent dan agregat daftar memperbarui.

Jika terjadi masalah

GejalaPenyebabPemulihan
403 saat membuat/mengubah kampanyeTidak memiliki manage_campaigns (hanya owner/admin)Hubungi owner workspace
403 saat melihat kampanyeTidak memiliki view_campaigns; izin baru perlu sinkronisasiMasuk ulang setelah migrasi izin berjalan
Penjadwalan ditolakscheduled_at bukan waktu masa depanPilih waktu di masa depan
Penerima ditandai skipped (outside_send_window/opt_in_required)Di luar jendela pengiriman atau tanpa izin eksplisitPeriksa send_window dan izin kontak
rate_limit_per_sec ditolakNilai di luar 1–1000Perbaiki batas laju
Status tidak dapat berubahTransisi tidak sah untuk status saat iniGunakan transisi yang diizinkan

Batasan

  • Pembuatan/ubah/status kampanye = manage_campaigns (owner/admin); melihat dan simulasi = view_campaigns (semua peran termasuk agent).
  • Tidak ada tombol simulasi (dry-run) di antarmuka web — simulasi hanya lewat API (view_campaigns), deterministik, tanpa penyimpanan.
  • Pengiriman nyata belum terpasang: pencatat pengiriman memindahkan penerima ke sent dan mencatat peristiwanya; angka sent/delivered mencerminkan penandaan antrean, bukan transmisi berhasil ke penyedia pesan. Jangan mengandalkan angka tersebut sebagai bukti bahwa pesan terkirim ke pelanggan.
  • Penerima ditambahkan secara manual satu per satu; tidak ada impor massal berkas.
  • Kampanye wajib-izin (opt-in) hanya mengirim ke kontak dengan izin granted eksplisit yang tidak ditarik sesudahnya; izin ditolak bila tanpa catatan izin.
  • Perubahan send_window dan batas laju divalidasi; nilai di luar rentang ditolak.
  • Kontrak permintaan lengkap ada di Referensi API.

Tugas terkait