Skip to main content
Bu sayfa, Flextell’in gerçek zamanlı bağlantısında yayınlanan kanalların, olay adlarının ve olay içeriklerinin tam listesidir. Bağlantı kurma ve kanal yetkilendirme adımları için önce Gerçek zamanlı genel bakış sayfasını okuyun. Çalışan bir istemci için Örnek istemci sayfasına bakın.
Gerçek zamanlı bağlantı yalnızca “bir şey değişti” bilgisini taşır. Olaylar yeniden gönderilmez; kaçırdığınız değişiklikleri REST API’den okuyarak tamamlayın.

Kanal kataloğu

Her kanal için abonelik, POST /api/broadcasting/auth ile imzalanır. Yetkisi olmayan kullanıcı bu uç noktadan 403 FORBIDDEN alır (Bu işlem için yetkiniz yok.). Kimlik doğrulaması eksikse yanıt 401 UNAUTHENTICATED olur.
private-chat-log kanalı mesaj metnini taşıdığı için kısıtlıdır. Tüm sohbetleri görme izniniz yoksa private-chat-log-activity kanalına abone olun ve gelen kimliklerle /conversations uç noktalarını çağırın. Hangi sohbetleri görebileceğiniz İzinler ve görünürlük sayfasında anlatılır.
private-App.Models.User.{userId} kanalı klinik bazlı değildir. Kullanıcı birden fazla kliniğe üye olabilir; bu yüzden her olay tenant_id taşır. Etkin kliniğinizin dışındaki olayları yok sayın.

Olay adlandırma

Özel adı olmayan olaylar, ad alanı dahil tam adlarıyla yayınlanır. Tek ters eğik çizgiyle yazılır, örneğin Modules\Chat\Events\ChatLogCreated. Özel adlı olaylar şunlardır: notification.created, notifications.updated, MessageSent, PresenceUpdated.

Sohbet olayları

Sohbet olayları iki kanala dağılır. Aşağıdaki tabloda İçerik private-chat-log kanalını, Aktivite private-chat-log-activity kanalını gösterir. İki kanala giden olayların içeriği aynıdır. Yalnızca aktivite kanalına abone olan bir istemci ChatLogCreated ve ChatLogUpdated olaylarını almaz; bunların yerine ChatLogChanged alır. WhatsApp geçmiş aktarımı ilerlemesi de yalnızca içerik kanalındadır.

İçerik taşıyan olaylar

status değerleri pending, running, completed, failed, cancelled olarak gelir. skipped nesnesi unknown_contact, deleted_contact, lid_unresolved, group ve failed sayaçlarını taşır.
Medya içeren bir mesaj için ChatLogCreated olayı dosya eklenmeden önce gelir. Dosya hazır olunca aynı mesaj için file ve file_temporary_url dolu bir ChatLogUpdated olayı iletilir.
Mesaj gönderimi kabul edildikten (202) sonra sohbetin kanalı kapatılırsa mesaj saklanır, metadata.delivery_status değeri failed olur ve mesaj için yeni bir ChatLogUpdated olayı iletilir. Kanal baştan pasifse gönderim uç noktası mesajı kabul etmez ve 422 CHANNEL_INACTIVE döner; bu durumda olay oluşmaz. Mesaj nesnesinin (chatLog) başlıca alanları:

Yalnızca kimlik taşıyan olaylar

Bu olaylar “yeniden oku” sinyalidir. Ayrıntıyı REST API’den alın. ConversationCreated olayı yalnızca personelin POST /conversations ile başlattığı yeni sohbetlerde gelir. Müşterinin yazdığı yeni bir sohbeti, bilinmeyen bir conversation_id taşıyan ilk ChatLogCreated veya ChatLogChanged olayından öğrenirsiniz.

Yazıyor göstergesi

ConversationPresenceUpdated olayının içeriği { conversation_id, presence, source } biçimindedir. source değeri customer veya bot olur. Göstergeyi expires_at zamanında kendiniz kapatın. Bot yazmayı bitirince veya hata alınca da paused durumu gönderilir.

Web sitesi widget’ı olayları

presence-conversation.{conversationId} kanalı yalnızca web sitesi widget’ı sohbetlerinde kullanılır. Ayrıntılar için Web sitesi widget’ı sayfasına bakın.

AI önerisi olayları

AI önerisi olayları yalnızca private-ai-suggestion.{conversationId} kanalına gider. Sohbet kanallarına gönderilmez. Öneri değiştirildiğinde, eski öneri için AiSuggestionUpdated (superseded), ardından yenisi için AiSuggestionCreated gelir. Normal içerik { suggestion_id, tenant_id, requires_hydration: false, ...öneri alanları } biçimindedir. İçerik 9000 bayttan büyükse kısaltılmış bir içerik gelir.
requires_hydration değeri true ise GET /api/v1/conversations/{id}/ai-suggestion ile öneriyi okuyun. Öneri alanları:
İçerik, olayın yayınlandığı andaki bir görüntüdür ve eskimiş olabilir. Karar vermeden önce güncel öneriyi GET /conversations/{id}/ai-suggestion ile okuyun.
AI asistanın sohbette açılıp kapanması bir öneri olayı değildir. Bu değişiklik ConversationAgentStatusChanged olayıyla gelir. Bot yazarken ConversationPresenceUpdated (source: bot) gelir.

Kullanıcı bildirimleri

Bildirim olayları yalnızca private-App.Models.User.{userId} kanalına gider. notification nesnesi:
type değerleri: appointment_created, appointment_assignment, appointment_status_changed, appointment_rescheduled, appointment_bulk_reschedule, appointment_reschedule_no_alternative, chat_new_message, ticket_created, ticket_assigned, ticket_status_changed, lead_unassigned, lead_task_assigned, lead_task_due, lead_bulk_operation, inventory_low_stock, storage_file_uploaded, storage_overage, sales_export, customer_balance_export, announcement_updated, panel_ticket_created, panel_ticket_status_updated, ai_report_ready, ai_report_failed.category değerleri: appointment, message, ticket, lead, inventory, sales, finance, announcement, panel_ticket, report.resource değerleri: task, appointment, ticket, panel_ticket, lead, ai_report, proforma_invoice, announcement, product, file, conversation.
Yeni müşteri mesajı bildirimi (type: chat_new_message, resource: conversation), sohbet bildirimi alacak şekilde ayarlanmış rollerdeki ve o sohbeti görebilen kullanıcılara gider. Bir Satış Temsilcisi, kendisine atanmamış kişilerin mesaj bildirimini almaz. Bildirim listesi, okundu işaretleme ve temizleme uç noktaları için Bildirimler sayfasına bakın.

Sıralama ve boyut sınırları

Gerçek zamanlı bağlantı REST API’nin yerini almaz. İstemcinizi aşağıdaki davranışlara göre tasarlayın.
1

Abone olun

İlgili kanala abone olun. Başarılı abonelik pusher:subscription_succeeded olayıyla bildirilir.
2

Durumu REST'ten okuyun

Her başarılı abonelikten sonra, yeniden bağlanma sonrası dahil, ilgili listeyi ve açık sohbetin mesajlarını REST ile yeniden okuyun.
3

Olayları uygulayın

Gelen olayları kimliğe göre tekilleştirerek uygulayın. Kimlik taşıyan olaylarda yalnızca etkilenen kaydı yeniden okuyun.

İlgili sayfalar

Gerçek zamanlı genel bakış

Bağlantı kurma ve kanal yetkilendirme.

Örnek istemci

Abonelik ve olay dinleme örneği.

Sohbetler

Olaylardan sonra çağıracağınız sohbet uç noktaları.

AI asistan

AI önerisi ve asistan kontrolü uç noktaları.