Poyra’da “bildirim” tek bir sistem değildir; dört kanal, dört farklı işi yapar:

Webhook — asıl kanal

Olay kataloğu, imza doğrulama ve yeniden deneme politikası Webhook’lar sayfasında ayrıntılıdır. Kısa özet: 16 olay tipi, Poyra-Signature başlığında HMAC-SHA256 imza, 7 deneme ve ~32,5 saatlik üstel geri çekilme penceresi.

E-posta — outbox desenli

E-posta doğrudan gönderilmez; kayıt önce kuyruğa yazılır, dakikalık iş gönderir. Taşıyıcı SMTP’dir — Türkiye’deki her sağlayıcı SMTP verir. SMTP yapılandırılmamışsa sistem sessizce “gönderildi” demez: gönderici loglayan bir taşıyıcıya düşer ve uyarı yazar. İki bilinçli ayrıntı:
  • Gönderilen postanın gövdesi kuyruk kaydından boşaltılır — tek kullanımlık parola sıfırlama jetonu veritabanında süresiz durmamalıdır.
  • “Parolanız değişti” postası, değişikliği yapan kişiye değil hesabın sahibine bilgi vermek içindir: ele geçirmeyi kullanıcı fark etsin.

SMS — Netgsm taşıyıcısı

SMS de aynı outbox deseniyle gider; bugünkü tek kullanım ödeme bağlantısının SMS ile gönderimidir. Numara kuyruğa girmeden E.164’e normalleştirilir; segment sayısı hesaplanır — Türkçe karakterler GSM-7 alfabesinde olmadığından sınır 160’tan 70’e düşer ve yanıt tüketilen krediyi söyler. Taşıyıcı yanıtının gövdesi denetlenir: Netgsm HTTP 200 içinde hata kodu dönebilir; durum koduna bakıp geçmek, gönderilmemiş mesajı gönderilmiş saymaktır.

Panelin canlı akışı

Genel Bakış sayfasındaki “Son işlemler” bloğu ve POS sağlık uyarıları, Postgres LISTEN/NOTIFY üzerinden beslenir — Redis gibi ek bir bileşen yoktur. Bildirim yalnız “yenile” sinyalidir, veri taşımaz: panel sinyali alınca veriyi her zaman kiracı-izoleli normal sorgu yolundan okur. Yayınlanan tipler: ödeme başarılı/başarısız/iptal, iade başarılı ve POS sağlık değişimi (“İş POS erişilemiyor — trafik diğer POS’lara yönlendiriliyor”).
Defter ve mutabakat olayları (geciken alacak, eksik yatan gün, komisyon farkı) bugün hiçbir kanaldan itilmez; bu raporlar panelden ve API’den çekilerek izlenir. Dışarı itilen bildirim kataloğu genişledikçe bu sayfa güncellenecektir.