🏗️ PulseHub Nasıl Çalışır
PulseHub, düz ve okunabilir bir yapıya sahip klasik bir MVC (Model-View-Controller) web uygulamasıdır. Framework kullanılmaz — yönlendirme, veritabanı erişimi, kimlik doğrulama ve görüntüleme tamamen PHP ile doğrudan uygulanmıştır.
Tarayıcı / Kanal Sağlayıcı
│
▼
index.php ← Ön denetleyici
│
▼
app/router.php ← URL → [Controller, metot]
│
▼
app/Controllers/ ← İş mantığı
│
┌────┴────────────────────┐
▼ ▼
app/Views/ app/Helpers/db.php
(HTML şablonları) (PDO MySQL sorguları)
Dört İstek Türü
- Sayfa İstekleri —
/inbox,/contactsvb. için GET → HTML + JS yükler - API İstekleri —
/api/...için GET/POST/PATCH/DELETE → JSON döndürür - Webhook İstekleri — sağlayıcılardan
/webhooks/{type}/{id}adresine POST → gelen mesajları işler - SSE Akışı —
/sseadresine kalıcı bağlantı → tarayıcıya gerçek zamanlı olaylar iletir
Veri Akışı: Gelen Mesaj
1. Müşteri WhatsApp üzerinden mesaj gönderir
2. Meta /webhooks/whatsapp/{channel_id} adresine POST gönderir
3. WebhookController imzayı doğrular, yükü normalleştirir
4. Kişiyi bulur/oluşturur, görüşmeyi bulur/oluşturur
5. Mesajı kaydeder, SSE olaylarını tetikler, otomasyon olaylarını kuyruğa alır
6. Meta'ya 200 döndürür
7. SSE 2 saniye içinde bağlı tüm temsilci tarayıcılarına iletir
Veri Akışı: Giden Mesaj
1. Temsilci yanıtı yazar ve Gönder'e tıklar
2. Tarayıcı /api/conversations/{id}/messages adresine POST gönderir
3. Mesajı kaydeder, kanal API'sini çağırır (WhatsApp, Twilio vb.)
4. Diğer temsilcilere SSE olayı iletir
5. 201 döndürür