← Blog
23 Ekim 2026· otomatik üretildi

Webhook'larla Sistemleri Birbirine Bağlamak

Webhook'lar nedir, nasıl çalışır ve sistemlerinizi gerçek zamanlı olarak birbirine bağlamak için neden bu kadar güçlü bir araçtır?

#webhook#sistem entegrasyonu#event-driven#API

Bir sistemde bir şey olduğunda, başka bir sistemin anında haberdar olmasını istiyorsunuz. Kulağa basit geliyor, değil mi? Ama pratikte bu "anlık haberleşme" ihtiyacı, onlarca farklı çözümle karşılanmaya çalışılmış. Webhook'lar bu çözümlerin en zarif ve en yaygın olanlarından biri.

Webhook Nedir, Tam Olarak?

Kısaca söylemek gerekirse: webhook, bir olay gerçekleştiğinde bir sistemin başka bir sisteme HTTP isteği göndermesidir.

Bunu polling (yoklama) ile karşılaştıralım. Polling'de siz sürekli gidip sorarsınız: "Bir şey var mı? Şimdi? Ya şimdi?" Webhook'ta ise karşı taraf size gelir: "Hey, bir şey oldu, işte bilgi." Fark devasa. Bir tarafta kaynak israfı, diğer tarafta olay güdümlü (event-driven) mimari.

Nasıl Çalışır?

Temel akış şu şekilde ilerler:

1. Kaydolursunuz: Webhook almak istediğiniz sisteme bir URL verirsiniz. Bu, sizin dinleyici endpoint'inizdir. 2. Olay gerçekleşir: Kaynak sistemde bir şey olur — yeni bir sipariş, ödeme onayı, kod commit'i vs. 3. İstek atılır: Kaynak sistem, sizin URL'nize bir POST isteği gönderir. Genellikle JSON formatında payload içerir. 4. Siz işlersiniz: Endpoint'iniz isteği alır, doğrular ve gerekli aksiyonu alır.

Teknik olarak bakıldığında webhook, "ters API" (reverse API) olarak da adlandırılır. Siz çağırmazsınız; sizi çağırırlar.

Gerçek Hayattan Örnekler

Webhook'ların kullanıldığı senaryolar son derece yaygın:

  • E-ticaret: Stripe ödeme onayladığında sipariş sistemine bildirim gönderir.
  • CI/CD: GitHub'a kod push'landığında Jenkins veya GitHub Actions tetiklenir.
  • Bildirimler: Jira'da bir ticket kapandığında Slack'e mesaj düşer.
  • Üretim sistemleri: Bir makine belirli bir eşiği geçtiğinde izleme platformu anında uyarı fırlatır.

Bu örneklerin ortak noktası şu: hiçbirinde polling yok, gecikme minimumda, bağımlılık tek yönlü.

Webhook Yazarken Dikkat Edilmesi Gerekenler

Webhook endpoint'i yazmak kolay görünür ama birkaç kritik nokta var:

Hızlı Yanıt Verin

Kaynak sistem genellikle kısa bir timeout bekler (5-10 saniye). Endpoint'iniz isteği aldıktan sonra hemen 200 OK dönmeli, ağır işlemleri arka planda kuyruğa almalısınız.

İmzayı Doğrulayın

Çoğu webhook sağlayıcısı, payload'u bir secret key ile imzalar (X-Hub-Signature gibi header'lar). Bu imzayı mutlaka kontrol edin. Aksi hâlde endpoint'iniz açık bir kapı olur.

Idempotency Sağlayın

Aynı webhook birden fazla kez gelebilir (ağ sorunları, retry mekanizmaları). Aynı event ID'yi ikinci kez işlememek için kontrol mekanizması ekleyin.

Loglayın

Gelen her isteği loglayın. Bir şey ters gittiğinde geriye dönüp bakabilmek paha biçilmez.

Webhook mu, Message Queue mu?

Bu soruyu mutlaka sormak gerekiyor. Webhook'lar hafif, hızlı ve kolay kurulabilir. Ama büyük ölçekli, yüksek hacimli sistemlerde Kafka, RabbitMQ gibi message queue çözümleri daha sağlam garantiler sunar. İkisi birbirinin rakibi değil, tamamlayıcısı. Küçük ve orta ölçekte webhook yeterlidir; veri hacmi ve güvenilirlik gereksinimleri arttıkça kuyruğa yatırım yapmak gerekir.

Sonuç

Webhook'lar, sistemler arası entegrasyonun en pratik ve en yaygın yollarından biri olmaya devam ediyor. Doğru kurulduğunda, gerçek zamanlı veri akışını minimum altyapıyla mümkün kılıyorlar. Bir sonraki entegrasyon ihtiyacınızda önce kendinize şunu sorun: "Bunu polling ile mi çözmeliyim, yoksa karşı taraf beni çağırabilir mi?" Çoğu zaman cevap webhook olacak.