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