Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
4 yazı bulundu #webhooks
Bulk, Batch ve Asenkron API'ler: Toplu İşlem, Kısmi Başarı, Webhook mi Polling mi ve Rate Limit Contract'ı
Yazılım Mimarisi SERİ 08

Bulk, Batch ve Asenkron API'ler: Toplu İşlem, Kısmi Başarı, Webhook mi Polling mi ve Rate Limit Contract'ı

Toplu bir API'nin contract'ı boyut sınırını, hangi hatanın bütün isteği hangisinin tek satırı reddettiğini, kısmi başarının nasıl raporlandığını, sonucun nasıl bildirildiğini ve kotayı açıkça yazar. Bookstore'da okulların toplu siparişini satır bazlı bir raporla 201 olarak, allOrNothing ile 422 olarak, Prefer: respond-async ile LRO olarak tasarlıyor, webhook'u contract'a ekliyor ve RateLimit header taslağıyla 429'u gerçek yanıtlarla görüyoruz.

15 Kas 2026 13 dk 7
Payments Service: Fake Ödeme Sağlayıcısı, Idempotent Charge ve Webhook Callback'i
Backend SERİ 08

Payments Service: Fake Ödeme Sağlayıcısı, Idempotent Charge ve Webhook Callback'i

Payments, ödeme sağlayıcısına siparişten türetilen bir Idempotency-Key ile charge gönderiyor, POST'u HTTP katmanında tekrar etmiyor ve zaman aşımını başarısızlık değil bilinmeyen sonuç sayıyor; sonucu imzalı ve replay korumalı bir webhook ya da reconciliation job'ı belirliyor. Sağlayıcının modeli bir anti-corruption layer'da kalıyor; iptal edilmiş siparişe geç gelen ödeme uçtan uca iadeye dönüşüyor.

14 Kas 2026 10 dk 8
Webhook Almak: İmza Doğrulama, Replay Koruması, Hızlı 2xx ve Idempotent İşleme
Backend SERİ 08

Webhook Almak: İmza Doğrulama, Replay Koruması, Hızlı 2xx ve Idempotent İşleme

Gelen webhook'un imzasını model binding'den önce ham gövde üzerinden ve sabit süreli karşılaştırmayla doğrula, timestamp toleransı ve webhook-id ile replay'i engelle, event'i inbox'a yazıp hemen 200 dön ve işlemeyi arka planda idempotent yap. Bookstore'da payment.succeeded ile bilinmeyen ödeme sonuçlarını kapatıyoruz.

14 Kas 2026 11 dk 9
Webhook Göndermek: Standard Webhooks, İmzalama, Outbox ile Teslimat ve Retry Takvimi
Backend SERİ 07

Webhook Göndermek: Standard Webhooks, İmzalama, Outbox ile Teslimat ve Retry Takvimi

Webhook'u request içinde değil outbox'tan, arka planda gönder; her isteği Standard Webhooks header'larıyla (webhook-id, webhook-timestamp, webhook-signature) HMAC-SHA256 ile imzala, günlere yayılan bir retry takvimi uygula ve hep hata veren endpoint'i kapat. Bookstore'un kurumsal müşterilerine order.shipped event'ini bu şekilde teslim ediyoruz.

14 Kas 2026 12 dk 13
Blog Haritası