Bildirimler
Bildirim tek bir kutu değildir. Aynı olay birden fazla kanala gidebilir. Kanallar İletişim sayfasında ayrılmıştır.
Sipariş
| Durum | Kanal |
|---|---|
Yeni PENDING (oluşum veya ödeme sonrası) | Yönetici e-posta, alıcı push, Telegram |
| Onay, hazırlık, hazır, sevk, teslim, iptal, ödeme zaman aşımı | Alıcı push + Mongo kutu |
Durum değişimi buyer-order.changed üzerinden de aynı bildirim servisine bağlanır.
Kayıt
Yeni alıcı: Telegram bilgi mesajı + pazarlama yetkililerine push. Firestore senkronu bildirim değil, alıcı kartının kopyasıdır. Kayıt ödülü sessizdir; push gitmez. Ödüller.
Geri kazanım ödülü
Günlük tarama bir kademe hediye yazınca alıcıya ANNOUNCEMENT tipi sohbet mesajı gider. Push’ta gönderen adı gizlenir. Ödüller.
Yönetici yayını
Yönetici notification ucundan metin gönderir. İsteğe bağlı segment kullanıcı id’lerini çözer. Cihaz jetonları parçalanır, FCM’e gider, aynı içerik notifications koleksiyonuna isRead: false olarak yazılır.
Görev ve sohbet
Görev oluşturulunca veya not eklenince atanan kullanıcılara push + kutu gider. Sohbet olayları anlık kanala ve ilgili kullanıcılara bildirime bağlanır.
Yönetici ve yetkili konuşma listesi varsayılan okunmamıştır (unreadOnly boşsa true); tümünü görmek için unreadOnly=false gerekir. Alıcı listesi varsayılan tüm konuşmalardır.
Alıcının destek veya ürün talebi odasına yazdığı mesaj, atanan yetkiliye hatırlatma kuyruğu açar (assigned-officer-reminder): beş dakikada bir, en fazla üç kez. Yetkili cevap yazınca veya okuyunca döngü durur. Sistem mesajı (gönderen id 0) döngüyü başlatmaz / durdurmaz.
SMS ve e-posta
SMS ağırlıklı olarak doğrulama kodu içindir (Netgsm). E-posta doğrulama ve yönetici yeni sipariş maili içindir (Resend). Kampanya SMS’i bu akışta ayrı bir ürün gibi belgelenmez; kodda asıl kullanım doğrulamadır.
Okunma
Kutu kaydının isRead alanı Mongo notifications belgesindedir. Sohbette okunma konuşma kullanıcısı üzerindeki unreadCount / lastReadAt ve kullanıcı tablosundaki unreadMessageCount ile izlenir.