İçeriğe geç

Sözlük

Webhook nedir?

Webhook, bir sistemde olay olduğunda başka bir sisteme kendiliğinden bildirim gönderen yöntemdir.

Webhook ile gelen mesaj bildiriminin ulaşıp yanıtlanmasının dört adımı

Webhook nasıl çalışır

Bildirim almak isteyen taraf bir adres verir. Olay gerçekleştiğinde kaynak sistem o adrese, olayın içeriğiyle birlikte bir istek gönderir. Alan taraf isteği işler ve aldığını bildirir.

Devamını oku

Mesaj geldiğinde tetiklenen bir yanıt sistemi, mesajın geldiğini işte bu yolla öğrenir.

Alıcı tarafın verdiği yanıt da anlamlıdır. Başarılı bir yanıt olayın işlendiğini bildirir; hata dönerse kaynak sistem yeniden dener.

Webhook ile sorgulama farkı

Sorgulamada siz belirli aralıklarla “yeni bir şey var mı” diye sorarsınız; çoğu soru boşa gider ve yeni olayı ancak bir sonraki soruda öğrenirsiniz. Webhook’ta soru sormazsınız, olay size gelir.

Devamını oku

Fark hem yükte hem gecikmede görülür: sorgulamada yanıt aralık kadar gecikir, webhook’ta anında ulaşır.

Bu yüzden anlık iş gerektiren her yerde webhook tercih edilir: gelen mesaja yanıt, ödeme bildirimi, kargo durumu değişikliği.

Sorgulamanın tek üstünlüğü basitliğidir: dışarıya açık bir adres gerektirmez. Güvenlik nedeniyle dışarıya adres açamayan sistemlerde hâlâ tercih edilir.

Webhook güvenliği

Adres herkese açıktır; bu yüzden gelen isteğin gerçekten kaynaktan geldiği doğrulanmalıdır. Yaygın yöntem, kaynağın isteği paylaşılan bir sırla imzalaması ve alıcının imzayı yeniden hesaplayarak karşılaştırmasıdır.

Devamını oku

Doğrulanmayan bir webhook ucu, sahte olay üretilmesine açıktır.

İkinci koruma zaman damgasıdır. İmza doğru olsa bile eski bir isteğin yeniden gönderilmesini engellemek için isteğin ne zaman üretildiğine bakılır.

İmzanın hesaplandığı gövde, alınan ham gövdenin aynısı olmalıdır. Gövdeyi çözümleyip yeniden birleştirmek imzayı bozar; bu, en sık yapılan doğrulama hatasıdır.

Tekrar gönderim ve çift işleme

Kaynak sistem zamanında yanıt alamazsa aynı olayı tekrar gönderir. Alıcı bunu hesaba katmazsa aynı mesaja iki kez cevap yazılır.

Devamını oku

Çözüm, her olayın kendi kimliğini saklamak ve daha önce işlenmişse atlamaktır. Ayrıca ağır iş webhook içinde değil, kuyrukta yapılır.

Kuyruk ayrıca yükü de dengeler. Aynı anda yüzlerce olay gelse bile alıcı hepsini sırayla işler, hiçbiri düşmez.

Kaynak: W3C — WebSub önerisi

Sık sorulan sorular

Webhook ile API farkı nedir

API’de siz istek atarsınız, webhook’ta karşı taraf size istek atar. Yön terstir. İkisi çoğu sistemde birlikte bulunur: veriyi siz istersiniz, değişikliği sistem bildirir.

Webhook adresi neye benzer

Sunucunuzda çalışan, dışarıdan erişilebilen bir HTTPS adresidir. Adres tahmin edilemez olmalıdır; kısa ve kolay tahmin edilen bir yol, sahte istek denemelerini davet eder.

Webhook yanıtı ne kadar sürmeli

Mümkün olduğunca kısa. Çoğu sağlayıcı saniyeler içinde yanıt bekler; gecikirse olayı başarısız sayıp yeniden gönderir. Uzun süren iş varsa istek hemen yanıtlanır ve iş arka planda yürütülür; bu, tekrar gönderimi de önler.

Webhook işinizde nasıl çalışır, dinleyin

30 gün ücretsiz deneyin. Kart istenmez, numaranız değişmez.

Size dönelim

Telefonunuzu ya da e-postanızı bırakın, aynı iş günü içinde dönüş yapalım.