BiZETO v1.0.0-004: Sinkronisasi Real-Time Inbox WhatsApp dan Normalisasi Whitelist Fleksibel
Pembaruan modul percakapan BiZETO: pelepasan filter query inbox untuk visibilitas chat menyeluruh, batas cutoff 11:00 WIB, dan parsing nomor whitelist fleksibel.
2mnt baca
Setelah perangkat WhatsApp berhasil dipasangkan (paired) ke sistem BiZETO, pesan masuk yang diterima server belum muncul pada tampilan Inbox Chat Web (/conversations/whatsapp) dan respons AI Sales Agent belum terpicu optimal. Investigasi mendalam menemukan:
- Filter Query Inbox Terlalu Ketat:
- Endpoint
GET /api/chatspadachat_handler.gomenerapkan klausulEXISTS (SELECT 1 FROM whitelist w ...)di tingkat database. - Akibatnya, seluruh pesan percakapan dari nomor yang belum terdaftar di whitelist disembunyikan dari Inbox Web UI.
- Endpoint
- Parsing Whitelist Belum Fleksibel:
- Masukan nomor telepon dipisahkan menggunakan koma (
,) atau spasi, namun sebelumnya hanya di-split berdasarkan baris baru (\n), sehingga tersimpan sebagai string tunggal yang tidak cocok dengan JID pengirim.
- Masukan nomor telepon dipisahkan menggunakan koma (
- Filter Batas Waktu Sinkronisasi (Cutoff):
- Dibutuhkan batas waktu sinkronisasi agar hanya pesan aktif mulai 5 Oktober 2026 pukul 11:00:00 WIB (
1791172800) yang diproses dan ditampilkan di Inbox CRM.
- Dibutuhkan batas waktu sinkronisasi agar hanya pesan aktif mulai 5 Oktober 2026 pukul 11:00:00 WIB (
- Visibilitas Lengkap: Query
GetChatsdanGetMessageskini menampilkan seluruh riwayat pesan masuk dan keluar untuk tenant terkait tanpa dibatasi oleh whitelist. - Cutoff Filter Timestamp: Menambahkan klausul
AND m.timestamp >= 1791172800padaGetChatsdanGetMessagesuntuk membatasi pesan yang ditarik hanya mulai 5 Oktober 2026 jam 11:00 WIB.
- Multi-Delimiter Parser:
UpdateWhitelistkini memisahkan input nomor telepon berdasarkan baris baru (\n), koma (,), titik koma (;), spasi (), dan tab (\t). - Auto-Generation Variasi Nomor: Menyimpan nomor asli, nomor bersih tanpa format, format
08..., format628..., dan JID WhatsApp@s.whatsapp.netsecara otomatis ke tabelwhitelist.
- Pada event listener WhatsMeow
handleMessage, pesan lawas dari riwayat sinkronisasi dengan timestamp sebelum cutoff 11:00 WIB langsung diabaikan sebelum disimpan ke database atau dikirim ke engine AI.
- Binary backend telah di-cross compile ke target Linux AMD64 dan dideploy ke server VPS.
- Container
bizeto_backenddanbizeto_frontendberhasil direstart dan berjalan normal. - Percakapan masuk telah tersinkronisasi dan tampil pada halaman Inbox Chat BiZETO.