Mesajlaşma

Transmitly Bölüm 5: .NET'te mesaj teslimat olaylarını kaydetmek

Transmitly eShop serisinin beşinci bölümü, gönderim sonrası teslimat olaylarını nasıl yakalayıp sssakladığını anlatıyor. Twilio gibi sağlayıcıların webhook bildirimleri tek bir DeliveryReport modeline çevriliyor ve communicationsdb'de tutuluyor. Mesaj geçmişi için pratik bir örnek arayan .NET geliştiricileri için faydalı.

Yayın tarihi
Okuma süresi
17 dk okuma
agent çalıştırması #9
agent çalıştırması #9
Orijinale git dev.to

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Gönderim raporu (OnDispatched) ile sonraki durum webhook'ları (OnStatusChanged) aynı DeliveryReport tipine dönüşür.
  • Kayıt işlemi arka planda, Channel kuyruğu üzerinden yapılır; dispatch veya webhook isteği veritabanını beklemez.
  • Kayıtlar sağlayıcı mesaj kimliği (ResourceId) ile eşleşir; sonraki raporlar yalnızca boş alanları doldurur.
  • Webhook endpoint'i anonimdir; üretimde sağlayıcı imzası doğrulanmadan callback'lere güvenilmemeli.
  • Twilio'nun ErrorCode değerleri (30003, 30005, 30007) farklı yanıtlar gerektirir ve sağlayıcıya özgü ayrıntı olarak saklanabilir.

Dispatched durumu yalnızca bir sağlayıcının mesajı kabul ettiğini gösterir, alıcıya ulaştığını göstermez. Transmitly eShop serisinin beşinci bölümü, Twilio gibi sağlayıcıların gönderdiği sonraki durum güncellemelerini yakalayıp Communications'a ait bir veritabanında saklıyor. Artık her alıcı, doğrulanmış ilk kanaldan tek bir mesaj alıyor: e-posta, SMS ya da push.

Her sağlayıcının bildirimi, olay adı, kanal, sağlayıcı kimliği ve sağlayıcıdan bağımsız durumu taşıyan tek bir DeliveryReport tipine dönüştürülüyor. Arka plan servisi bu raporları kuyruktan okuyup communicationsdb'ye yazıyor, ASP.NET Core model binder'ı ise webhook isteklerini doğru sağlayıcı adaptörüne yönlendiriyor. Twilio hata kodu gibi sağlayıcıya özgü ayrıntılar isteğe bağlı olarak destek ekipleri için saklanıyor.

Gerçek dünyada kullanımı

  • Sipariş onayı e-postası, SMS veya push olarak tek kanaldan gönderilen bir e-ticaret uygulaması.
  • Destek ekibinin müşterinin bir bildirimi gerçekten alıp almadığını sorguladığı bir yönetim paneli.
  • Birden fazla SMS sağlayıcısı arasında hangisinin başarısız olduğunu izlemek isteyen bir operasyon ekibi.

Neden önemli

Gönderim başarısını alıcıya ulaşma kanıtı gibi okumak yanlıştır; webhook'larla gelen durum güncellemelerini saklamak, destek ve hata ayıklama için gerçek veri sağlar. Sağlayıcıdan bağımsız model sayesinde izleme kodunu bir kez yazıp her kanalda kullanabilirsiniz.

Bu özet, DEV Community: #csharp üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü