Örnek bir iş senaryosu
Montaj tarihi değiştiğinde ilk plan mesajı kuyrukta bekliyor olabilir. Sistem eski mesajı da yeni mesajı da gönderirse müşteri iki farklı tarih görür. Kuyruk kaydı işin sürümüyle ilişkilendirilmeli ve geçersiz kalan bildirim iptal edilmelidir. Sağlayıcının mesajı kabul etmesi ile telefonun teslim alması da ayrı durumlar olarak izlenmelidir.
Dört adımda çalışma düzeni
Tetikleyiciyi tanımlayın
Hangi iş durumunun hangi mesajı oluşturacağını ve istisnaları yazın.
Kuyruk kaydı oluşturun
Alıcı, şablon sürümü, ilgili iş ve planlanan zamanı saklayın.
Tekrarı sınırlandırın
Aynı olay için ikinci mesaj üretmeyin; bağlantı hatalarında kontrollü yeniden deneme kullanın.
Durumu uzlaştırın
Sağlayıcı kabulü ve teslim sonucunu ayrı gösterin; kalıcı hataları insan incelemesine alın.
İlk bakışta görünmeyen noktalar
Bildirim şablonlarında değişkenler açıkça tanımlanmalıdır. Müşteri adı, tarih veya iş numarası bulunamadığında boş ya da yanlış bir mesaj göndermek yerine kayıt incelemeye alınabilir. Tarih biçimi ve saat dilimi tutarlı olmalıdır; sunucu başka saat diliminde çalışsa bile müşteriye işletmenin kullandığı yerel saat gösterilmelidir. Mesaj önizlemesi gerçekçi örneklerle kontrol edilmelidir. Kuyrukta bekleyen işlerin yaşı ve başarısızlık nedeni günlük izlenirse sessiz gecikmeler fark edilir. Manuel yeniden gönderim yetkisi sınırlı olmalı ve işlem günlüğüne yazılmalıdır. Müşterinin iletişim tercihi değiştiğinde bekleyen bildirimlerin nasıl etkileneceği de açıkça belirlenmelidir.
Sık yapılan hatalar
Mesaj metnine gereksiz kişisel bilgi koymak riski artırır. Ayrıca bütün hata türlerini sonsuza dek tekrar denemek maliyet ve müşteri rahatsızlığı oluşturur. Ticari iletişim kuralları ve izin gereksinimleri kullanım amacına göre ayrıca değerlendirilmelidir.
Bağlantıyı zor koşullarda doğrulama
Entegrasyon denemesine başarılı tek bir kayıtla başlayın, ardından kontrollü olarak hata koşulları ekleyin. Eksik zorunlu alan, bilinmeyen ürün kimliği, aynı olayın tekrarı ve geçici bağlantı kesintisi iyi örneklerdir. Her senaryoda beklenen sonucu önceden yazın. Hangi kayıt tekrar denenecek, hangisi insan incelemesine düşecek ve hangisi reddedilecek açık olmalıdır. İşlem günlüğünde kaynak kimlik ile hedef kayıt arasında bağlantı bulunmalıdır. Böylece sorun araştırılırken farklı sistemlerde aynı işin peşinden gidilebilir. Test anahtarları ve üretim anahtarları birbirinden ayrı tutulmalıdır.
Yeniden deneme politikasını dış servisin kurallarıyla uyumlu tasarlayın. Her hatayı aynı hızla tekrar göndermek kota sınırına takılabilir ve diğer işlerin de gecikmesine neden olabilir. Geçici bağlantı hatasıyla kalıcı veri hatası farklı davranış gerektirir. Kuyruğun en eski kaydı ve toplam bekleyen iş sayısı birlikte izlenmelidir. Az sayıda çok eski kayıt sessiz bir soruna işaret edebilir. Başarılı kaydın tekrar işlenmemesi kadar yarım kalan işlemin güvenli devamı da önemlidir. Bu nedenle işlem durumları yalnızca başarılı ve başarısız ikilisinden daha ayrıntılı olabilir.
İş birimi için okunabilir bir hata ekranı hazırlayın. Teknik hata kodunun yanında etkilenen kayıt, yapılabilecek işlem ve sorumlu ekip yer alsın. API sırları, parolalar ve gereksiz kişisel bilgiler günlüklerde bulunmamalıdır. Saklanan teknik kayıtların erişimi ve süresi belirlenmelidir. Canlıya geçmeden önce bağlantı kesildiğinde işin nasıl sürdürüleceğini de konuşun. Manuel işlem gerekiyorsa daha sonra senkronizasyon sırasında mükerrer oluşmaması için bu kayıtların işaretlenmesi gerekir. Başarı ölçütü yalnızca isteklerin yanıt alması değil, hedef işin doğru ve bir kez tamamlanmasıdır.
Ekibinize sorabileceğiniz sorular
- Eski plan mesajı iptal ediliyor mu?
- Aynı olay çift SMS oluşturuyor mu?
- Kalıcı hata ile geçici hata ayrılıyor mu?
Bu soruları seçtiğiniz örnek kayıt üzerinde yanıtlayın. Her açık nokta için sorumlu kişiyi, yapılacak düzeltmeyi ve yeniden kontrol tarihini not edin. Böylece görüşme, uygulanabilir bir iş listesiyle tamamlanır.
Teknik başvuru: MDN: HTTP durum kodları ↗
Bu akışı işletmenize uyarlayalım.
Mevcut araçlarınızı, ekiplerinizi ve önceliklerinizi birlikte değerlendirerek uygun kapsamı belirleyelim.
Çözümü inceleyin ↗