sitetasarimtr_logo
Yükleniyor

Bilgi Merkezi / Webhook Nedir?

Webhook Nedir? Gerçek Zamanlı Veri İletişiminin Temelleri

Giriş

Webhook, bir uygulama üzerinde belirli bir olay gerçekleştiğinde, başka bir uygulamayı otomatik olarak haberdar eden veri iletişim yöntemidir. "Olay tabanlı HTTP geri çağrısı" olarak da tanımlanır.

Bu rehberde webhook'un ne olduğunu, polling'den farkını, nasıl çalıştığını ve Stripe, GitHub, Slack gibi popüler servislerle nasıl kullanıldığını sade bir dille açıklıyoruz.

Webhook Nedir?

Klasik API kullanımında siz sunucuya "Yeni bir şey var mı?" diye sürekli sorarsınız. Webhook'ta ise durum tersine döner: sunucu, yeni bir şey olduğunda size otomatik olarak haber verir.

  • Olay gerçekleştiğinde anında tetiklenir
  • Gereksiz sorgu yükü oluşturmaz
  • HTTP POST isteğiyle veri gönderir
  • JSON formatında payload taşır
  • Stripe, GitHub, Slack gibi yüzlerce servis destekler
İki uygulama arasında otomatik tetiklenen webhook veri akışını gösteren şema

Webhook - Olay Tabanlı Gerçek Zamanlı Veri İletişimi

Webhook Nasıl Çalışır?

Webhook'un çalışma mantığı üç adıma indirgenebilir:

1. URL Kaydı

Dışarıdaki servise (örneğin Stripe) "Bir ödeme gerçekleştiğinde şu adresime bildir" diyerek kendi sunucunuzdaki bir URL'yi kaydedersiniz. Bu adrese webhook endpoint denir.

2. Olay Tetiklenir

Kayıt ettiğiniz olay gerçekleştiğinde (ödeme tamamlandı, pull request açıldı, mesaj gönderildi vb.) ilgili servis sizin endpoint'inize otomatik olarak bir HTTP POST isteği gönderir. Bu istek, olaya ait tüm detayları JSON formatında içerir.

3. Endpoint Yanıt Verir

Sunucunuz gelen veriyi işler — veritabanını günceller, e-posta gönderir, başka bir servisi tetikler — ve isteğin alındığını belirten 200 OK yanıtını döndürür. Yanıt gelmezse servis genellikle isteği birkaç kez tekrarlar.

Webhook ile API ve Polling Karşılaştırması

ÖzellikWebhookREST APIPolling
TetiklenmeOtomatikManuel İstekPeriyodik İstek
Gerçek ZamanlılıkAnındaİstek AnındaGecikmeli
Sunucu YüküDüşükOrtaYüksek
Kurulum KolaylığıOrtaKolayKolay

Popüler Servislerle Webhook Kullanımı

Webhook'un gerçek hayattaki kullanım örnekleri:

Stripe — Ödeme Bildirimleri

Bir müşteri ödeme yaptığında Stripe, sizin endpoint'inize payment_intent.succeeded olayını gönderir. Siz de bu olayı alarak siparişi onaylayabilir, fatura oluşturabilir veya kullanıcıya e-posta gönderebilirsiniz.

GitHub — CI/CD Otomasyonu

Her push veya pull_request olayında GitHub, belirlediğiniz adrese bildirim gönderir. Bu sayede test süreçleri veya deployment işlemleri otomatik olarak başlatılabilir.

Slack — Ekip Bildirimleri

Slack'in Incoming Webhooks özelliğiyle kendi uygulamanızdan Slack kanallarına otomatik mesaj gönderebilirsiniz. Sunucu hatası, yeni kayıt veya sipariş gibi olayları ekibinizle anlık paylaşabilirsiniz.

Webhook Güvenliği Nasıl Sağlanır?

✅ Gelen isteğin imzasını doğrula (HMAC / secret key)
✅ Yalnızca HTTPS endpoint'i kullan
✅ IP beyaz listesi uygula (mümkünse)
✅ Tekrar eden isteklere (replay attack) karşı timestamp kontrol et
✅ Her zaman 200 OK döndür, işlemi asenkron yap
✅ Gelen payload boyutunu sınırla

→ En kritik adım imza doğrulamasıdır: servisin gönderdiği gizli anahtar (secret) ile isteğin gerçekten o servisten geldiğini teyit edin.

Sıkça Sorulan Sorular (FAQ)

Webhook ile API arasındaki temel fark nedir?

API'da siz sunucuya sorarsınız; webhook'ta sunucu sizi arar. API çekme (pull), webhook itme (push) modelidir.

Webhook endpoint'im kapalıyken gelen istekler kaybolur mu?

Çoğu servis başarısız istekleri belirli bir süre boyunca tekrar dener. Yine de kritik olaylar için bir kuyruk sistemi (queue) kullanmak önerilir.

Webhook'u lokal ortamda nasıl test ederim?

ngrok veya Cloudflare Tunnel gibi araçlarla lokal sunucunuzu geçici olarak internete açarak test edebilirsiniz.

Her proje webhook kullanmalı mı?

Veri sık değişmiyorsa basit API isteği yeterlidir. Gerçek zamanlılık önemliyse ve harici servislerle entegrasyon varsa webhook daha verimli bir seçimdir.

Sonuç

Webhook, modern web uygulamalarının vazgeçilmez yapı taşlarından biridir. Polling'in gereksiz yükünü ortadan kaldırır, servisleri birbirine anlık ve verimli biçimde bağlar.

Site Tasarım TR olarak Stripe, GitHub ve Slack entegrasyonları dahil güvenli, gerçek zamanlı web uygulamaları geliştiriyoruz. Projeniz için bize ulaşın.

Diğer İçerikler

Web Araçları

Web Editor

HTML ve CSS kodlarınızı yazın, düzenleyin ve canlı önizlemeyi görün. Hızlı prototipleme ve öğrenme için ideal.

Kod & GeliştirmeCanlı Düzenleyici

CSS Oluşturucu

CSS kodlarınızı otomatik oluşturun: gölgeler, gradyanlar ve daha fazlası.

Web TasarımÜcretsiz

Markdown Editor

Markdown metinlerinizi yazın ve anında canlı HTML önizlemesini görün. Başlıklar, listeler, kod blokları ve daha fazlası. Tarayıcıda, hızlı ve ücretsiz!

Web AraçlarıYeni

Emoji Seçici

1800+ Unicode emoji ile web tasarımlarınıza duygusal ifadeler ekleyin. Arama, kategori filtreleme ve 5 favori grubu.

Emoji & İçerikÜcretsiz

PDF Ayırıcı (Sayfa Bölme)

Tek PDF dosyasını istediğiniz sayfalara ayırın. Belirli sayfaları seçin veya aralık belirleyin, saniyeler içinde yeni PDF’ler oluşturun – tamamen tarayıcıda!

PDF & DokümanYeni

PDF Birleştirici

Birden fazla PDF dosyasını tek bir PDF’de birleştirin. Sıra değiştirme, önizleme ve yüksek kaliteli çıktı desteği. Tarayıcıda, hızlı ve ücretsiz!

PDF & DokümanFavori

Resim Format Dönüştürücü

PNG → JPG, JPG → PNG, WEBP → JPG/PNG, HEIC → JPG gibi en popüler formatlar arasında saniyeler içinde dönüşüm yapın. Kalite ayarı, toplu işlem desteği ve tamamen tarayıcıda – indirme olmadan!

MultimedyaPopüler

QR Kod Oluşturucu

URL, Wi-Fi, vCard, metin gibi verilerinizi saniyeler içinde özelleştirilebilir QR koda çevirin. Logo, renk ve SVG/PNG indirme desteği.

QR & PaylaşımPopüler

Güçlü Şifre Oluşturucu

Anında rastgele ve çok güçlü şifreler üretin. Uzunluk, büyük/küçük harf, rakam, sembol ayarları + kendi şifrenizi test etme özelliği.

GüvenlikGüvenlik

Alarm Saati & Hatırlatıcı

Tarayıcınızda saniyeler içinde alarm kurun. Sabah uyanma, toplantı hatırlatması, mola zamanı veya "yatma vakti" için ideal. Birden fazla alarm, özelleştirilebilir sesler, bildirim desteği ve kolay erteleme.

Günlük VerimlilikHer Gün Kullan