Pengenalan Fitur Blast WhatsApp #
Blast WhatsApp adalah fitur pengiriman undangan massal otomatis berbasis antrean background di sisi server. Fitur ini memungkinkan pelanggan mengirimkan pesan undangan personal kepada puluhan hingga ribuan kontak tanpa harus mengklik kirim satu demi satu secara manual.
Sistem Paket & Kuota Blast #
- Produk Paket Blast: Dikelola melalui menu Produk dengan tipe
blast_whatsapp. - Kapasitas Blast: Jumlah kuota penerima yang didapatkan pelanggan saat membeli paket (contoh: 500 penerima).
- Masa Berlaku: Masa aktif kuota sejak tanggal pembelian (contoh: 30 hari atau 365 hari). Jika masa berlaku habis, sisa kuota tidak dapat digunakan.
- Penetapan Lot Berdasarkan Kadaluwarsa Terdekat: Jika pelanggan memiliki lebih dari satu paket blast, sistem secara otomatis mengonsumsi kuota dari paket yang akan kadaluwarsa lebih dulu.
Alur Pengiriman Blast #
- Pelanggan membuka menu Kirim Undangan di Customer Area (
/dashboard/kirim-undangan/). - Pelanggan mencentang tamu-tamu yang ingin dikirimi pesan, atau mencentang Pilih Semua.
- Pelanggan mengklik tombol Kirim Blast.
- Sistem memeriksa ketersediaan kuota aktif pelanggan:
- Jika kuota mencukupi, sistem membuat job pengiriman di database dan melakukan reservasi kuota (
quota_reserved). - Penerima yang dipilih masuk ke antrean berstatus Menunggu dikirim (
queued).
- Jika kuota mencukupi, sistem membuat job pengiriman di database dan melakukan reservasi kuota (
Mekanisme Antrean & Pengiriman di Background #
Folkthemes menjalankan pekerja antrean otomatis melalui WordPress Cron:
- Interval Eksekusi: Jadwal cron kustom
folkthemes_every_minuteyang dieksekusi setiap 60 detik. - Pencegahan Tabrakan Antrean (Worker Lock): Sistem mengunci proses pengiriman agar dua pekerja tidak memproses pesan yang sama secara bersamaan. Stale job yang menggantung akibat crash server otomatis dipulihkan.
- Pengiriman ke Provider: Pesan diproses menjadi status
sendingdan dikirimkan melalui provider WhatsApp aktif di sistem (StarSender, OneSender, atau Fonnte).
Status Pengiriman & Settlement Kuota #
| Status Pengiriman | Status Sistem | Pengaruh terhadap Kuota Pelanggan |
|---|---|---|
| Menunggu dikirim | queued |
Kuota direservasi sementara (belum terpotong permanen). |
| Sedang dikirim | sending |
Pesan sedang ditransmisikan ke server provider WhatsApp. |
| Berhasil | sent |
Kuota resmi dipotong permanen (quota consumed). |
| Gagal dikirim | failed |
Kuota dilepaskan kembali (quota released) ke saldo pelanggan secara otomatis. Pelanggan tidak dirugikan atas pesan yang gagal terkirim. |