Webhook nedir sorusunun en sade cevabı şudur: bir sistemde bir şey olduğunda, o sistemin başka bir sisteme "şu oldu" diye kendiliğinden haber vermesidir. Ödeme alındı, sipariş iptal edildi, kargo teslim edildi; olay gerçekleştiği anda karşı tarafa kısa bir mesaj gönderilir. Karşı taraf da bu mesajı alıp gerekeni yapar.
Bunun alternatifi periyodik sorgulamadır. Bu yöntemde sistemlerden biri belirli aralıklarla diğerine "yeni bir şey var mı?" diye sorar. Beş dakikada bir, saatte bir, gecede bir. Cevap çoğu zaman "yok"tur ama sorma işi yine de yapılır.
Günlük hayattan bir benzetme: Periyodik sorgulama, kargonuz geldi mi diye her saat kapıya bakmaktır. Webhook ise kuryenin zili çalmasıdır.
Webhook ile periyodik sorgulama arasındaki fark
| Konu | Webhook | Periyodik sorgulama |
|---|---|---|
| Hız | Olay anında haber gelir | En fazla sorgu aralığı kadar gecikme olur |
| Sistem yükü | Yalnız olay olduğunda mesaj gider | Olay olmasa da sürekli sorulur |
| Kurulum | Karşı tarafın webhook desteği gerekir | Hemen her sistemde uygulanabilir |
| Kaçırma riski | Mesaj ulaşmazsa olay atlanabilir | Bir sonraki sorguda yakalanır |
| Kontrol | Zamanlamayı gönderen belirler | Zamanlamayı soran belirler |
Tablodan görüleceği gibi ikisi rakip değil, tamamlayıcıdır. Her birinin güçlü ve zayıf yanı var.
Webhook hangi durumlarda iyi çalışır?
Hızın önemli olduğu, olayların ara ara ama önemli şekilde gerçekleştiği işlerde webhook doğru seçimdir:
- Ödeme onayı: Müşteri ödemeyi yaptığı an siparişin onaylanması gerekir.
- Sipariş iptali: Pazaryerinde iptal edilen siparişin depoya ulaşmadan durdurulması.
- Form gönderimi: Sitedeki talebin CRM'e anında düşmesi.
- Kargo durum değişikliği: Teslim bilgisinin müşteriye hemen iletilmesi.
Ödeme sağlayıcılarının ve pazaryerlerinin önemli bir kısmı bu tür bildirimleri destekler. Destek varsa kullanmak, gereksiz sorgu trafiğini de ortadan kaldırır.
Periyodik sorgulama ne zaman daha mantıklı?
- Karşı sistem webhook desteklemiyorsa, ki özellikle eski ERP'lerde bu sık görülür.
- Veri toplu hâlde ve belirli saatlerde değişiyorsa, örneğin günlük fiyat listesi.
- Anlık olmasının iş açısından bir farkı yoksa, örneğin gece raporları.
- Sizin sisteminiz dışarıdan gelen isteği kabul edecek şekilde açılamıyorsa.
Sorgu aralığını seçerken abartmamak gerekir. Her dakika sorgulamak karşı sistemi yorar ve birçok servis bu tür yoğun istekleri sınırlar. Aralığı işin gerçek ihtiyacına göre belirleyin; stok için birkaç dakika, ürün kartı için günde bir yeterli olabilir. Bu kararların ERP ile e-ticaret arasında nasıl alındığını ERP e-ticaret entegrasyonu yazımızda örnekledik.
En sağlam düzen ikisini birlikte kullanmak
Webhook'un zayıf yanı, mesajın yolda kaybolabilmesidir. Karşı sistem o an kapalıysa, ağda bir kesinti varsa ya da mesaj hatalı işlendiyse olay atlanır. Çoğu sağlayıcı başarısız mesajı birkaç kez yeniden dener ama bunun da bir sınırı vardır.
Bu yüzden önerdiğimiz düzen şudur: günlük işleyiş webhook ile yürür, arka planda da seyrek bir periyodik kontrol çalışır. Örneğin ödemeler anında webhook ile gelir; her saat başı ise son bir saatin ödemeleri toplu sorgulanıp kaçan var mı diye bakılır. Kaçan varsa tamamlanır ve bu durum kayda geçer. Böylece hem hız hem güvence elde edilir. Bu tür kaçakları fark etmenin diğer yollarını entegrasyon hata izleme yazımızda anlattık.
Webhook kurarken dikkat edilecekler
- Doğrulama: Gelen mesajın gerçekten beklenen kaynaktan geldiği kontrol edilmeli. Çoğu sağlayıcı mesajı gizli bir anahtarla imzalar; imza doğrulanmadan işlem yapılmamalı.
- Tekrar gelen mesaj: Aynı olay iki kez gelebilir. Sistem bunu tanıyıp ikinci kez işlememeli; aynı ödemenin iki kez onaylanması gibi sonuçlar can sıkar.
- Hızlı cevap: Mesaj alındığında hemen "aldım" denmeli, ağır işler arka planda yapılmalı. Aksi hâlde gönderen taraf zaman aşımına uğrayıp mesajı tekrar gönderir.
- Kayıt: Gelen her mesaj kısa süreliğine saklanmalı, sorun olduğunda geriye dönüp bakılabilmeli.
- Güvenli adres: Webhook adresi yalnız şifreli bağlantı üzerinden çalışmalı.
Bu konuların daha geniş hâli için API güvenliği kontrol listemize bakabilirsiniz.
Globya'da nasıl yapıyoruz
Bir entegrasyona başlarken önce her veri için "ne kadar hızlı olmalı, kaçarsa ne olur" sorularını birlikte cevaplıyoruz. Karşı sistemin sunduğu imkânlara göre webhook, periyodik sorgulama ya da ikisinin birlikte kullanıldığı düzeni seçiyoruz. Kurulumu entegrasyon hizmetimiz kapsamında yapıyor, gelen mesajların kaydını ve kaçak kontrolünü baştan dahil ediyoruz. Teknik detayı size bırakmıyoruz; sizin için önemli olan, olayın doğru yere zamanında ulaşmasıdır.
Sık sorulan sorular
Webhook kullanmak için sunucumuzda bir şey değiştirmek gerekir mi?
Webhook mesajını alacak, internetten erişilebilir ve şifreli bağlantı destekleyen bir adres gerekir. Çoğu web sunucusunda bu zaten mevcuttur; gerekirse küçük bir ayar yapılır.
Webhook ücretli bir hizmet mi?
Webhook bir yöntemdir, ayrı bir ürün değildir. Sağlayıcının kendi hizmet koşulları ne diyorsa o geçerlidir; çoğu sağlayıcı bunu standart hizmetine dahil eder.
Webhook mesajı kaybolursa ne olur?
Arka planda periyodik kontrol varsa kaçan olay bir sonraki kontrolde yakalanır. Bu yüzden kritik işlerde ikisini birlikte kurmayı öneriyoruz.
Globya asistanı 7/24 çevrimiçi; sorunuzu hemen yanıtlar, gerekirse ekibe iletir.