Webhook Nedir, API Entegrasyonlarında Nasıl Kullanılır?
Webhook, uygulamalar arası gerçek zamanlı veri aktarımını sağlayan HTTP tabanlı geri çağırma yöntemidir. Sistemlerin API tetikleyicileriyle anlık haberleşmesini sağlar.

Webhook, bir uygulamanın belirli bir olay (event) gerçekleştiğinde başka bir uygulamaya HTTP protokolü üzerinden anlık bildirim göndermesini sağlayan modern bir veri aktarım mekanizmasıdır. İşletmeler ve teknik karar vericiler için veri senkronizasyonunun gecikmesiz sağlanması; sipariş işleme, ödeme doğrulama, CRM kayıtları ve otomatik iş akışlarının kesintisiz çalışması anlamına gelir. Sürekli sunucu sorgulama (polling) yönteminin yarattığı gereksiz kaynak tüketimini ortadan kaldıran bu yöntem, operasyonel süreçleri hafifletirken sistemler arası etkileşimi milisaniyeler seviyesine indirir. Bu rehberde, Webhook Nedir, API Entegrasyonlarında Nasıl Kullanılır? sorusunun teknik altyapısını, güvenlik standartlarını, hata yönetim mekanizmalarını ve mimari entegrasyon adımlarını inceleyeceğiz.
Webhook Kavramı ve Temel Çalışma Prensibi
Webhook kavramı, modern yazılım mimarilerinde sistemlerin birbiriyle konuşma biçimini kökten değiştiren bir yöntemdir. Temelde "kullanıcı tanımlı HTTP geri çağırması" (HTTP callback) olarak tanımlanan bu teknoloji, bir sistemde önceden belirlenmiş bir eylem veya durum değişikliği meydana geldiğinde tetiklenir. Geleneksel mimarilerde alıcı sistem sürekli olarak ana sunucuya "Yeni bir veri var mı?" sorusunu sorarken, webhook mimarisinde kaynak sistem veriyi oluşturduğu anda alıcı sisteme kendiliğinden iletir. Bu yönüyle yazılım literatüründe sıklıkla "Tersine API" (Reverse API) olarak da adlandırılır.
Sistemin pratik karşılığı, iş süreçlerinde insan müdahalesine veya periyodik zamanlayıcılara (cron jobs) olan bağımlılığı ortadan kaldırmasıdır. Örneğin, bir e-ticaret altyapısında müşteri kredi kartı ödemesini tamamladığında ödeme ağ geçidi (payment gateway), e-ticaret platformunun belirttiği uç noktaya (endpoint) bir HTTP POST isteği gönderir. Bu istek içerisinde işlemin tutarı, işlem referans numarası ve başarı durumu gibi kritik bilgileri barındıran bir veri yükü (payload) yer alır. Süreç tamamen otonom ve gerçek zamanlı işler.
İşletmeler ve yazılım ekipleri açısından webhook entegrasyonu kurmak, sunucu maliyetlerini düşürürken veri tutarlılığını en üst seviyeye çıkarır. Dağıtık mimarilerde (microservices) servislerin birbirini beklemeden asenkron çalışabilmesi için webhook yapıları vazgeçilmez bir omurga görevi üstlenir.
HTTP Geri Çağırma (Callback) Mekanizması Nasıl İşler?
HTTP callback mekanizmasının temelinde standart web protokolleri yer alır. Kaynak sunucu (gönderici), hedef sunucunun (alıcı) halka açık bir URL adresine bir HTTP POST, PUT veya bazen PATCH isteği yapar. Bu istek rastgele bir zamanda değil, doğrudan bir veritabanı kaydı güncellendiğinde, kullanıcı oturum açtığında veya bir dosya yüklendiğinde yürütülür.
İşleyiş adımları şu teknik standartlara dayanır:
Olayın Algılanması: Kaynak platformdaki dahili izleyici (listener), veritabanındaki veya iş mantığındaki değişikliği tespit eder.
Paketleme (Serialization): Değişikliğe ait veriler genellikle standart JSON veya XML formatında bir veri yüküne (payload) dönüştürülür.
HTTP İsteğinin Başlatılması: Kaynak sunucu, alıcının kaydettiği URL'e TLS/SSL katmanı üzerinden güvenli bir POST isteği fırlatır.
İstek Doğrulama ve Yanıt: Alıcı sunucu isteği karşılar, gelen verinin kaynağını doğrular ve işlemi sıraya alarak kaynak sunucuya HTTP 200 OK yanıtı döner.
Bu mekanizma, veri transferini dakikalar süren toplu işleme (batch processing) yöntemlerinden çıkarıp saniyenin altındaki sürelerde tamamlanan bir akışa dönüştürür.
Event-Driven (Olay Odaklı) Mimari ve İş Süreçlerine Katkısı
Geleneksel istek-yanıt (request-response) modelleri, modern iş süreçlerinin talep ettiği hız ve çevikliği karşılamakta yetersiz kalabilir. Olay odaklı mimari (Event-Driven Architecture - EDA), sistemlerin yalnızca belirli bir durum değişikliği olduğunda harekete geçtiği, reaktif bir yazılım tasarım modelidir. Webhook'lar, bu mimarinin internet ve SaaS dünyasındaki en yaygın uygulama aracıdır.
Event-driven yaklaşımın operasyonel faydaları:
Gereksiz Ağ Yükünün Engellenmesi: Veritabanında hiçbir değişiklik yokken sunucuların boş isteklerle meşgul edilmesini önler.
Gecikmesiz Operasyon (Zero Latency): Stok tükenmesi, şüpheli işlem tespiti veya yeni müşteri kaydı gibi kritik olaylar anında işleme alınır.
Gevşek Bağlantılı Sistemler (Loose Coupling): Sistemlerin birbirinin iç mantığını bilmesine gerek kalmaz; yalnızca yayınlanan olay sözleşmelerine (event contracts) odaklanırlar.
Bu mimari sayesinde pazarlama otomasyonları, depo yönetim sistemleri ve muhasebe yazılımları birbirine sıkı sıkıya bağlanmadan, tamamen olaylar üzerinden senkronize bir şekilde çalışabilir.
Webhook ve REST API Arasındaki Stratejik Farklar
Teknik karar vericiler ve yazılım mimarları için REST API ile Webhook arasındaki ayrımı doğru kavramak, altyapı maliyetlerini ve sistem ölçeklenebilirliğini doğrudan etkiler. REST API genellikle istemcinin sunucudan belirli kurallarla veri talep ettiği (Pull) bir çekme modeliyken; Webhook, sunucunun istemciye veriyi olay anında ilettiği (Push) bir itme modelidir. Birbirinin rakibi değil, birbirini tamamlayan stratejik bileşenlerdir.
İşletmeler genellikle bir veriyi oluşturmak, güncellemek veya silmek (CRUD operasyonları) için REST API kullanırken; harici bir sistemde meydana gelen bir durumun sonucunu beklemek için Webhook mekanizmasını tercih eder. REST API senkron bir yapıda "Bana kullanıcı listesini ver" demek için idealken, Webhook asenkron yapıda "Bir kullanıcı şifresini sıfırladığında bana bildir" senaryosuna hizmet eder.
Aşağıdaki karşılaştırma tablosu, iki yaklaşımın operasyonel ve teknik kriterlerini özetlemektedir:
Karşılaştırma Tablosu
Kriter bazında avantajlar ve dezavantajları karşılaştırın.
İletişim Yönü
Avantaj
Çift Yönlü / İstemci Başlatır (Pull)
Dezavantaj
Tek Yönlü / Kaynak Başlatır (Push)
Veri Güncelliği
Avantaj
Sorgu aralığına bağlı (Gecikmeli)
Dezavantaj
Gerçek zamanlı (Milisaniyeler içinde)
Sunucu Yükü
Avantaj
Yüksek (Boş dönen istekler sebebiyle)
Dezavantaj
Çok Düşük (Yalnızca olay anında çalışır)
Bant Genişliği Tüketimi
Avantaj
Sürekli veri paketleri transfer edilir
Dezavantaj
Yalnızca veri değiştiğinde transfer edilir
Kurulum Karmaşıklığı
Avantaj
İstemci tarafında basit HTTP istemcisi
Dezavantaj
Alıcı tarafında genel açık Endpoint gerektirir
Hata Yönetimi
Avantaj
İstemci hatayı anında yakalar ve yönetir
Dezavantaj
Sunucunun yeniden deneme (retry) kurgulaması gerekir
Ağ Güvenlik İhtiyacı
Avantaj
Basit API Key / Bearer Token
Dezavantaj
İmza Doğrulama (HMAC), IP Whitelist, SSL/TLS
Sürekli Sorgulama (Polling) Yerine Veri İtme (Pushing) Yaklaşımı
Sürekli sorgulama (Polling), istemcinin sunucuya belirli periyotlarla (örneğin her 30 saniyede bir) "Yeni veri var mı?" şeklinde istek atmasıdır. Bu yöntem, özellikle durum değişikliklerinin seyrek yaşandığı senaryolarda ciddi bir kaynak israfına yol açar. Yapılan araştırmalar ve sunucu günlükleri, polling isteklerinin %95'ten fazlasının sunucudan "Değişiklik yok" (304 Not Modified veya boş dizi) yanıtıyla döndüğünü göstermektedir.
Veri itme (Pushing) yaklaşımı ise tam tersine, alıcının kaynak sunucuyu dinlemede beklemesini esas alır. İstemci sunucuya bir uç nokta bildirir ve sessizce bekler. Kaynak sunucuda durum değiştiğinde, hazırlanan veri yükü tek bir istek halinde alıcıya fırlatılır. Böylece ağ üzerinde binlerce anlamsız sorgu dolaşmaz, sistemler sadece gerçek iş üretildiğinde işlemci gücü tüketir.
Sunucu Kaynak Tüketimi ve Operasyonel Performans Karşılaştırması
Kurumsal sistemlerde Polling yönteminin maliyeti yalnızca CPU ve bellek kullanımıyla sınırlı kalmaz; veritabanı kilitlenmeleri (database locks) ve API kota aşım maliyetleri de ortaya çıkar. Örneğin, 10.000 aktif siparişin durumunu takip etmek isteyen bir lojistik paneli düşünelim. Her siparişi dakikada bir sorgulamak, günde 14.4 milyon API çağrısı anlamına gelir. Bu çağrıların her biri veritabanı okuma maliyeti, ağ yönlendirmesi ve API Gateway kotalarının tükenmesi demektir.
Aynı senaryoda Webhook kullanıldığında, sadece kargo durumu değişen (örneğin "Dağıtıma Çıktı" veya "Teslim Edildi") paketler için çağrı yapılır. Günde 10.000 durum değişikliği oluyorsa, toplam çağrı sayısı 14.4 milyondan yalnızca 10.000'e düşer. Bu optimizasyon; sunucu altyapı maliyetlerinde %99'luk bir tasarruf sağlarken, veri iletim hızını periyodik döngülerden kurtarıp gerçek zamanlı hale getirir.
API Entegrasyonlarında Webhook Nasıl Kurulur ve Kullanılır?
API entegrasyonlarında webhook kurgulamak, iki yönlü bir mühendislik disiplini gerektirir: Veriyi sağlayan sistem (Producer/Provider) ve veriyi tüketip işleyen sistem (Consumer/Receiver). Başarılı bir entegrasyon için altyapının yüksek trafik dalgalanmalarına (traffic spikes), ağ kopmalarına ve geçersiz verilere karşı dayanıklı tasarlanması şarttır.
Kurulum sürecine başlamadan önce alıcı sistemin dış dünyadan gelen istekleri güvenli bir biçimde karşılayabileceği bir genel (public) HTTPS URL'ine sahip olması gerekir. Geliştirme ortamlarında bu durum yerel sunucuların tünelleme araçlarıyla (örneğin ngrok veya Cloudflare Tunnels) dışarıya açılmasıyla test edilir. Üretim ortamlarında ise yük dengeleyiciler (Load Balancer) arkasında çalışan ve tersine vekil sunucularla (Reverse Proxy) korunan mikroservisler devreye girer.
Alıcı Uç Nokta (Endpoint) Oluşturma ve Dinleme Standartları
Webhook alıcı uç noktası oluştururken uyulması gereken temel kurallar, sistemin çökmesini ve veri kaybını engeller:
Özel ve Tahmin Edilemez Rotalar Kullanımı:
/webhookgibi genel geçer yollar yerine/webhook/v1/wh_sec_a8f9b2c3d4gibi benzersiz tanımlayıcılar içeren rotalar oluşturulmalıdır.Yalnızca Gerekli HTTP Metotlarına İzin Verme: Uç nokta yalnızca
POSTisteklerini kabul etmeli;GET,PUT,DELETEgibi istekleri405 Method Not Allowedkoduyla reddetmelidir.Ham Gövdeye (Raw Body) Erişim İzni: İmza doğrulaması yapabilmek için HTTP isteğinin gövdesinin JSON olarak ayrıştırılmadan (parse edilmeden) önceki ham byte dizisi korunmalıdır.
Alıcı sunucu, gelen isteği işlerken uzun süren operasyonları (veritabanı yazma, e-posta gönderme, fatura oluşturma) kesinlikle ana istek kanalında (thread) yapmamalıdır. Bunun yerine gelen veri yükünü RabbitMQ, Apache Kafka, AWS SQS veya Redis gibi bir mesaj kuyruğuna (message queue) fırlatmalı ve hemen yanıt vermelidir.
Payload (Veri Yükü) İşleme ve HTTP Yanıt Kodları (200 OK Beklentisi)
Webhook sağlayıcıları, gönderdikleri isteğin başarıyla ulaşıp ulaşmadığını anlamak için HTTP durum kodlarını inceler. Bir sağlayıcı isteği gönderdikten sonra genellikle 3 ila 5 saniye içinde standart bir başarı kodu (200 OK veya 202 Accepted) bekler. Eğer alıcı uç nokta veritabanı kilitlenmesi veya harici bir servis gecikmesi yüzünden bu sürede yanıt veremezse, sağlayıcı isteği zaman aşımına (timeout) uğramış sayar ve başarısız kabul ederek tekrar deneme (retry) sürecini başlatır.
Yaygın HTTP yanıt senaryoları şunlardır:
200 OK / 202 Accepted: İstek başarıyla alındı ve kabul edildi. Süreç tamamlanmıştır.
400 Bad Request: Payload formatı bozuk veya zorunlu alanlar eksik. Sağlayıcı genellikle bu isteği tekrar denemez.
401 Unauthorized / 403 Forbidden: İmza doğrulaması başarısız veya IP adresi engellendi. İstek güvenlik sebebiyle reddedildi.
500 Internal Server Error / 503 Service Unavailable: Alıcı sunucu çöktü veya kapasite yetersiz. Sağlayıcı bu durumu geçici hata kabul eder ve tekrar dener.
Kurumsal Sistemlerden Gerçek Dünya Örnekleri
Webhook teknolojisi kurumsal dünyada çok geniş bir kullanım alanına sahiptir:
Ödeme Ağ Geçitleri (Stripe, Iyzico, PayPal): Kullanıcı 3D Secure ekranında ödemeyi tamamladığında bankadan dönen yanıt anında e-ticaret sistemine webhook ile bildirilir. Böylece sipariş anında "Ödendi" durumuna geçer ve fatura oluşturulur.
Müşteri İlişkileri Yönetimi (HubSpot, Salesforce): Bir potansiyel müşteri form doldurduğunda CRM sistemi bu bilgiyi anında satış ekibinin Slack veya Microsoft Teams kanalına webhook tetikleyicisiyle iletir.
Sürekli Entegrasyon ve Dağıtım (GitHub, GitLab, Jenkins): Bir yazılımcı ana dala (main branch) kod gönderdiğinde (git push), GitHub bir webhook tetikleyerek test ve canlıya alma sunucularını otomatik olarak ayağa kaldırır.
Güvenli ve kesintisiz bir Webhook altyapısı kurmak için izlenmesi gereken adımlar. Alıcı sunucuda HTTPS protokolünü destekleyen ve ham veri gövdesini işleyebilen bir URL rotası tanımlayın. Gelen isteklerin başlıklarındaki (header) HMAC imzasını gizli anahtarınızla doğrulayarak sahte istekleri engelleyin. Gelen yükü hızlıca Redis veya RabbitMQ gibi bir mesaj kuyruğuna aktarıp sağlayıcıya anında 200 OK yanıtı dönün. Tünelleme araçlarıyla yerel testleri tamamlayın; canlıya geçiş sonrası loglama ve hata izleme araçlarını aktif edin.Webhook Entegrasyon Kurulum Süreci
Uç Noktanın (Endpoint) Hazırlanması
İmza Doğrulama Katmanının Eklenmesi
Asenkron Kuyruk Mimarisinin Kurgulanması
Test ve Canlı Ortam İzleme
Webhook Güvenliği: Kurumsal Altyapılarda Kritik Uyarılar ve Önlemler
Webhook uç noktaları, doğası gereği internete açık olmak zorundadır. Bu durum, alıcı sunucuları kötü niyetli aktörlerin hedefi haline getirir. Sahte veri enjeksiyonu, ortadaki adam (Man-in-the-Middle - MitM) saldırıları, hizmet dışı bırakma (DDoS) saldırıları ve yeniden oynatma (Replay) saldırıları, webhook mimarilerinde en sık karşılaşılan tehdit vektörleridir. Güvenliği ihmal edilmiş bir webhook entegrasyonu, ödeme yapılmadığı halde siparişlerin onaylanmasına veya hassas müşteri verilerinin bozulmasına yol açabilir.
Kurumsal sistemlerde tek bir güvenlik önlemi yeterli değildir; "Derinlemesine Savunma" (Defense in Depth) prensibi uygulanmalıdır. Bu yaklaşım; ağ katmanından uygulama katmanına, kriptografik doğrulamadan oran sınırlamaya kadar her aşamada kontroller barındırır.
Kaynak Doğrulama: HMAC İmzası ile Veri Bütünlüğünü Sağlama
Webhook güvenliğinin altın standardı, HMAC (Hash-based Message Authentication Code) imzası kullanımıdır. Bu yöntemde sağlayıcı ve alıcı arasında paylaşılan gizli bir anahtar (Secret Key) bulunur.
HMAC doğrulama süreci şu şekilde yürütülür:
Sağlayıcı, göndereceği veri yükünü (payload) ve gizli anahtarı kullanarak bir hash algoritması (genellikle SHA-256) ile imza üretir.
Bu imza, HTTP isteğinin başlığına eklenir (Örnek:
X-Hub-Signature-256: sha256=d6a7...).Alıcı sunucu isteği aldığında, gelen ham gövdeyi (raw body) kendi elindeki gizli anahtarla aynı SHA-256 algoritmasından geçirir.
Alıcı, kendi hesapladığı hash ile başlıktaki hash'i zamanlama saldırılarına dayanıklı bir karşılaştırma fonksiyonuyla (Constant-time comparison) kontrol eder.
İmzalar eşleşiyorsa veri orijinaldir ve yolda değiştirilmemiştir; eşleşmiyorsa istek derhal
401 Unauthorizedile reddedilir.
Bu doğrulama, sağlayıcının kimliğini kanıtlarken veri bütünlüğünün bozulmadığını da matematiksel olarak garanti eder.
IP Beyaz Listeye Alma (Whitelisting) ve Zorunlu SSL/TLS Şifreleme
Ağ katmanında alınacak en etkili önlem, yalnızca sağlayıcının bilinen IP adreslerinden gelen trafiğe izin vermektir. Kurumsal API sağlayıcıları (Twilio, Stripe, GitHub), webhook gönderiminde kullandıkları IP bloklarını dokümantasyonlarında genel kullanıma sunar. Güvenlik duvarı (Firewall) veya API Gateway seviyesinde bu IP adresleri beyaz listeye (whitelist) alınarak, diğer tüm kaynaklardan gelen istekler uygulama sunucusuna dahi ulaşmadan engellenebilir.
Ayrıca, tüm webhook trafiği istisnasız modern TLS (Transport Layer Security - minimum TLS 1.2, tercihen TLS 1.3) şifrelemesi üzerinden akmalıdır. Düz metin HTTP kullanan uç noktalar, ağ trafiğini dinleyen saldırganlar tarafından verinin okunmasına veya değiştirilmesine olanak tanır. Kurumsal altyapılarda HTTP üzerinden gelen webhook istekleri doğrudan reddedilmeli, yönlendirme (301/302 Redirect) dahi yapılmamalıdır.
Yük Altında Ezilme (Rate Limiting) ve Kötü Niyetli İsteklere Karşı Savunma
Bir saldırgan, webhook uç noktanızı tespit edip saniyede on binlerce sahte istek göndererek sunucunuzu çökertebilir. Bu durumu önlemek için:
Oran Sınırlama (Rate Limiting): IP başına veya uç nokta bazında dakikada kabul edilecek maksimum istek sayısı belirlenmelidir.
Yeniden Oynatma (Replay Attack) Koruması: Sağlayıcılar genellikle isteğin oluşturulma zaman damgasını (timestamp) başlığa ekler. Alıcı sunucu, gelen zaman damgasını kontrol etmeli; örneğin 5 dakikadan daha eski olan istekleri geçerli imzaya sahip olsalar bile reddetmelidir.
İstek Boyutu Sınırı: Uç noktaya gönderilebilecek maksimum JSON gövde boyutu sınırlandırılmalıdır (Örneğin maksimum 1 MB). Böylece devasa boyutlu paketlerle sunucu belleğinin tüketilmesi engellenir.
Veri Kaybını Önleme: Hata Yönetimi ve Kesinti Senaryoları
Dağıtık sistemlerde ağ kopmaları, veritabanı kesintileri ve sunucu yeniden başlatmaları kaçınılmazdır. Bir webhook gönderildiğinde alıcı sunucu o sırada hizmet veremiyor olabilir. Profesyonel bir entegrasyonda veri kaybı kabul edilemez. Bu nedenle hem sağlayıcı hem de alıcı tarafında sağlam bir hata toleransı (fault tolerance) mimarisi kurulmalıdır.
Alıcı sistem çöktüğünde verinin kaybolmaması, sağlayıcının yeniden deneme politikalarına ve alıcının sistemi ayağa kaldırdıktan sonraki mutabakat (reconciliation) yeteneğine bağlıdır.
Tekrar Deneme (Retry) Mekanizmaları Nasıl Kurgulanmalı?
Sağlayıcı sistemler, alıcıdan 2xx dışında bir kod aldıklarında veya istek zaman aşımına uğradığında veriyi yeniden göndermek üzere bir strateji izler. En yaygın ve sağlıklı yaklaşım Üstel Geri Çekilme (Exponential Backoff) algoritmasıdır.
Bu algoritmada istekler sabit aralıklarla değil, katlanarak artan sürelerle tekrar denenir:
Deneme: 5 saniye sonra
Deneme: 30 saniye sonra
Deneme: 5 dakika sonra
Deneme: 30 dakika sonra
Deneme: 6 saat sonra
Tekrar deneme mekanizmalarında dikkat edilmesi gereken en kritik kavram Tek Etkililik (Idempotency) ilkesidir. Ağ gecikmeleri nedeniyle sağlayıcı aslında başarılı olmuş bir isteğin yanıtını alamayıp aynı veriyi ikinci kez gönderebilir. Eğer alıcı sistem gelen her isteği yeni bir olay gibi işlerse, aynı müşterinin kredi kartından iki kez para çekilebilir veya aynı sipariş iki kez kargoya verilebilir. Bu sebeple alıcı, gelen paketteki benzersiz olay kimliğini (Event ID / Idempotency Key) kontrol etmeli; daha önce işlenmiş bir kimlik geldiyse veritabanı işlemi yapmadan doğrudan 200 OK dönmelidir.
Teslim Edilmeyen Paketler İçin Dead-Letter Queue (DLQ) Yaklaşımı
Tüm tekrar deneme sınırları tükendiğinde (örneğin 72 saat boyunca alıcıya ulaşılamadığında), veri yükü artık standart döngüden çıkarılmalıdır. Aksi takdirde kuyruk tıkanır ve yeni gelen geçerli olayların işlenmesi gecikir.
İşte bu noktada Dead-Letter Queue (DLQ) devreye girer:
Başarısız olan tüm paketler, aldıkları hata kodları ve zaman damgalarıyla birlikte DLQ adı verilen izole bir depolama alanına aktarılır.
Sistem yöneticilerine veya yazılım ekiplerine otomatik uyarılar (PagerDuty, Slack, E-posta) gönderilir.
Sorun tespit edilip alıcı uç nokta düzeltildikten sonra, DLQ içinde biriken paketler toplu halde (Replay / Re-drive) tekrar ana kuyruğa aktarılarak veri kaybı sıfıra indirilir.
Sıkça Sorulan Sorular
Webhook uygulamalar arası entegrasyonda neden API'den daha hızlıdır?
Webhook, bir durum değişikliği olduğunda veriyi beklemeden alıcıya ilettiği (Push) için gecikmesiz çalışır. REST API'de ise istemcinin yeni bir sorgu atacağı periyodu beklemesi gerekir; bu da veri iletiminde gecikmeye yol açar.
Gönderilen bir webhook mesajı hedefe ulaşmazsa ne olur?
Profesyonel webhook sağlayıcıları, başarısız olan istekleri üstel geri çekilme (exponential backoff) stratejisiyle belirli zaman aralıklarında tekrar dener. Belirlenen maksimum deneme sayısına ulaşıldığında paket Dead-Letter Queue (DLQ) alanına taşınır.
Yerel (Localhost) geliştirme ortamında webhook entegrasyonu nasıl test edilir?
Yerel geliştirme ortamları dış internete kapalı olduğundan, ngrok veya Cloudflare Tunnels gibi tünelleme araçları kullanılarak yerel portlar genel (public) bir HTTPS URL'ine yönlendirilir. Sağlayıcı paneline bu geçici HTTPS URL'i girilerek testler yürütülür.
Webhook üzerinden gönderilen veriler şifrelenir mi?
Webhook iletişiminde TLS/SSL (HTTPS) protokolü zorunlu tutularak veriler ağ katmanında şifrelenir. Ayrıca kaynak doğrulama ve veri bütünlüğü için HMAC SHA-256 gibi kriptografik imzalama standartları kullanılır.
Idempotency (Tek Etkililik) webhook entegrasyonlarında neden hayati önem taşır?
Ağ kesintileri nedeniyle aynı webhook bildirimi alıcıya birden fazla kez iletilebilir. Idempotency kontrolü yapılmazsa aynı siparişin mükerrer kaydedilmesi veya mükerrer bakiye yüklemesi gibi kritik operasyonel hatalar meydana gelir.
Webhook isteğini alan sunucu işlemi ne kadar sürede tamamlamalıdır?
Webhook sağlayıcıları genellikle 3 ila 5 saniye içinde bir HTTP 200 OK yanıtı bekler. Bu sürede yanıt dönülmezse istek zaman aşımı kabul edilir; bu nedenle alıcı sunucu veriyi kuyruğa atıp anında yanıt vermelidir.
Bir sistemde hem REST API hem Webhook aynı anda kullanılabilir mi?
Evet, modern kurumsal mimarilerde bu iki yapı birlikte kullanılır. Veri oluşturma, güncelleme veya listeleme işlemleri REST API ile yapılırken; durum değişikliklerinin anlık takibi Webhook bildirimleriyle gerçekleştirilir.
Webhook uç noktasına yapılan sahte istekler nasıl tespit edilir?
İstek başlığında (Header) yer alan HMAC imzası, alıcı sunucudaki gizli anahtar ve ham veri gövdesi kullanılarak doğrulanır. İmzası geçersiz olan veya zaman damgası belirlenen süreden eski olan istekler sahte kabul edilerek reddedilir.