Skip to main content
Flextell, sohbet olaylarını (yeni mesaj, mesaj silme, görüşmenin okunduğunun işaretlenmesi) WebSocket üzerinden yayınlar. REST API’yi sürekli poll’lamak yerine, bir kez abone olup event’leri anlık alırsınız.
Realtime katmanı Pusher protokolü üzerinde çalışır. İstemci tarafında pusher-js (veya uyumlu bir Pusher istemcisi) kullanmak en kolay yoldur.

Kullanım senaryoları

Canlı sohbet arayüzü

Hasta WhatsApp’tan yazdığında mesajı panelde anlık gösterin.

Okundu göstergesi

Başka bir kullanıcı sohbeti okuduğunda tüm açık sekmelerde durumu güncelleyin.

Silme senkronizasyonu

Bir mesaj silindiğinde diğer istemcilerin listesinden anında kaldırın.

Aktivite bildirimleri

Konuşma akışını izleyen bir üretkenlik aracı yapın.

Mimari

  1. İstemci, bir private channel’a abone olmak ister.
  2. pusher-js, POST /api/broadcasting/auth endpoint’ine çağrı atarak Flextell’den kanal imzası alır.
  3. Flextell, kullanıcının ilgili tenant’a erişimini kontrol eder.
  4. İmza geçerliyse Pusher bağlantıyı kurar; event’ler istemciye akmaya başlar.

Önemli kavramlar

Private channel
string
Kanal adı private- ile başlar ve abone olmadan önce imzalı yetkilendirme gerektirir. Flextell yalnızca private kanallar sunar — public veya presence kanal kullanılmaz.
Kanal adlandırması
string
Tüm sohbet olayları chat-log.{tenantId} kanalı üzerinden yayınlanır. tenantId, Multi-Tenancy sayfasında anlatılan tenant’ın ID’sidir.
Event adı
string
Event adları tam nitelikli biçimde yayınlanır: App\Events\ChatLogCreated, App\Events\ChatLogDeleted, App\Events\ConversationRead. Pusher istemcilerinde event adını bu biçimde (gerektiğinde başında bir nokta . ile) dinlemeniz gerekir.

Gerekli bilgiler

WebSocket bağlantısı kurmak için istemci tarafında şu yapılandırmaya ihtiyacınız var:
ParametreDeğer
broadcasterpusher
keyFlextell’den size verilen Pusher key (destek üzerinden)
clustereu
forceTLStrue
authEndpointhttps://dev.flextell.ai/api/broadcasting/auth (prod’da https://app.flextell.ai/api/broadcasting/auth)
auth.headers.AuthorizationBearer <access_token>
Pusher key’i bir “public anahtar”dır; istemci tarafında yer alması güvenlik açığı değildir. Ancak gerçek yetkiyi veren şey authEndpoint çağrısıdır — orada Authorization: Bearer header’ını mutlaka göndermeniz gerekir.

Sonraki adımlar

Kanal Yetkilendirme

/broadcasting/auth endpoint’inin detayları.

Kanallar

chat-log. kanalı ve abonelik örüntüsü.

Event'ler

Her event’in payload şeması ve örnekleri.