Ana içeriğe geç

🏗️ 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ü​

  1. Sayfa İstekleri — /inbox, /contacts vb. için GET → HTML + JS yükler
  2. API İstekleri — /api/... için GET/POST/PATCH/DELETE → JSON döndürür
  3. Webhook İstekleri — sağlayıcılardan /webhooks/{type}/{id} adresine POST → gelen mesajları işler
  4. SSE Akışı — /sse adresine 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