ZSender adalah platform SaaS multi-channel customer messaging, chatbot AI berbasis RAG (Retrieval-Augmented Generation), penyiaran massal (broadcasting), serta otomasi alur kerja (visual workflow builder) yang dirancang untuk membantu bisnis berinteraksi dengan pelanggan secara otomatis dan personal di berbagai kanal komunikasi.
- 📬 Shared Team Inbox Terpadu: Kelola percakapan dari WhatsApp Cloud API, Instagram DM, Facebook Messenger, SMS, dan Email dalam satu dasbor terpadu. Lengkap dengan penugasan agen manusia, pelabelan chat, catatan internal, dan canned replies.
- 🤖 Chatbot AI & RAG (Knowledge Base): Integrasi LLM kelas dunia (OpenAI, Gemini, Anthropic) dengan dukungan Knowledge Base dokumen untuk memberikan jawaban cerdas berbasis konteks dokumen bisnis Anda.
- ⚡ Visual Workflow Builder (Otomatisasi): Otomatisasi alur kerja menggunakan editor berbasis node (React Flow). Buat percabangan kondisional, tunggu waktu/kondisi tertentu, kirim pesan multisaluran, tambahkan tag, dan panggil webhook eksternal.
- 📢 Kampanye & Broadcast: Kirim pesan siaran massal bertarget ke daftar kontak atau segmen tertentu menggunakan WhatsApp Templates, SMS, atau Email dengan analitik rasio buka, klik, dan berhenti berlangganan (unsubscribe).
- 🛒 Sinkronisasi E-commerce: Integrasi langsung dengan Shopify, WooCommerce, dan BigCommerce untuk memantau data pesanan dan produk secara real-time di dalam percakapan chat.
- 🔌 Embedded Signup & WhatsApp Widget: Memudahkan integrasi nomor WhatsApp bisnis pelanggan menggunakan alur Meta Embedded Signup serta widget kustom untuk website mereka.
Aplikasi ini menggunakan pendekatan arsitektur modular yang membagi kode berdasarkan ranah domain bisnis:
app/Modules/
├── AI/ # Manajemen chatbot, provider LLM, dan embedding Knowledge Base (RAG)
├── Automation/ # Engine otomatisasi alur kerja berbasis node (AutomationEngine)
├── Broadcasting/ # Manajemen pengiriman pesan siaran massal, pelacakan email, dan SMS status
├── Ecommerce/ # Integrasi webhook dan sinkronisasi store (Shopify, WooCommerce, BigCommerce)
├── Inbox/ # Logika shared inbox, penugasan percakapan, canned replies, dan label
├── Integrations/ # Driver pihak ketiga dan manajemen kredensial API eksternal
├── Leads/ # Pipeline penjualan (CRM) dan Kanban board
├── Shared/ # Model database bersama (Conversation, Message, Contact) dan migrasi inti
├── Social/ # Integrasi channel Meta (Instagram & Messenger)
└── Whatsapp/ # Logika WhatsApp Cloud API, Template Sync, Auto-Replies, dan Web Widget
Sebelum memulai instalasi, pastikan lingkungan server Anda telah memenuhi syarat berikut:
- PHP: v8.2 atau lebih tinggi (dengan ekstensi
pdo,mbstring,openssl,curl,json,zip,xml) - Composer: v2.x
- Node.js & NPM: v18.x atau v20.x
- Database: MySQL v8.0+, PostgreSQL, atau SQLite (untuk pengujian lokal)
- Redis: (Sangat direkomendasikan untuk antrean antarmuka/queue dan cache)
- Qdrant Vector Database: (Opsional, untuk pencarian kemiripan Knowledge Base berskala besar; jika tidak ada, sistem akan otomatis melakukan fallback ke MySQL JSON)
Ikuti langkah-langkah di bawah ini untuk menjalankan project di komputer lokal Anda:
git clone <repository-url> zsender
cd zsender
composer installnpm installSalin file .env.example menjadi .env:
copy .env.example .envBuka file .env dan konfigurasikan koneksi database Anda:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database_anda
DB_USERNAME=username_database
DB_PASSWORD=password_databasePastikan variabel APP_INSTALLED=false di .env Anda agar Anda dapat menggunakan Wizard Pemasangan Web (Web Setup Wizard) saat pertama kali membuka aplikasi.
php artisan key:generateJalankan migrasi database dasar beserta data awal bawaan:
php artisan migrate --seedphp artisan storage:linkGunakan perintah pintasan Composer untuk menjalankan server backend (Laravel serve, Reverb websocket, queue worker, dan Vite frontend) secara bersamaan:
composer devAtau jalankan secara terpisah di terminal yang berbeda:
- Laravel Web Server:
php artisan serve - Realtime Websocket (Reverb):
php artisan reverb:start - Queue Worker:
php artisan queue:listen --queue=default,whatsapp,automation - Vite Assets compiler:
npm run dev
Buka browser Anda dan akses http://localhost:8000. Jika APP_INSTALLED bernilai false, sistem akan mengarahkan Anda ke alur Web Installation Wizard di /install untuk mengonfigurasi admin platform, lisensi, dan SMTP dasar.
Untuk menerima pesan secara real-time dari Meta (WhatsApp Cloud API, Instagram, Messenger), aplikasi menggunakan webhook publik yang diakomodasi di:
- WhatsApp Webhook:
/webhooks/whatsapp/{token}(dan/webhooks/whatsapp/globaluntuk embedded signup) - Instagram/Messenger Webhook:
/webhooks/meta/{token}
Karena Meta membutuhkan URL HTTPS publik untuk mengirim data webhook, Anda perlu menggunakan alat tunneling seperti Ngrok or Expose:
ngrok http 8000Setelah mendapatkan URL HTTPS (misalnya https://abcd-123.ngrok-free.app), daftarkan webhook tersebut ke Dashboard Developer Meta Anda dengan merujuk pada endpoint di atas.
Aplikasi ini dilengkapi dengan pengujian unit dan integrasi untuk backend (PHPUnit) dan frontend (Vitest):
- Analisis Kode PHP (PHPStan):
composer analyse
- Linting PHP (Laravel Pint):
composer lint
- Perbaikan Otomatis Linting PHP:
composer lint:fix
- Menjalankan Unit Test Backend:
composer test - Menjalankan Unit Test Frontend:
npm run test
Proyek ini dilisensikan di bawah lisensi internal komersial / proprietary. Semua hak cipta dilindungi undang-undang.