Teknik ve entegrasyon

Webhook nedir?

Webhook, bir platformda olay gerçekleştiğinde (ör. yeni sipariş) bu bilgiyi sizin belirlediğiniz adrese anında HTTP isteğiyle gönderen bildirim yöntemidir.

Diğer adları: Web kancası, Bildirim servisi, Callback URL, Olay bildirimi

Webhook, "bir şey olunca bana haber ver" düzenidir. Normalde yazılım pazaryerine düzenli aralıklarla "yeni sipariş var mı?" diye sorar. Webhook'ta ise pazaryeri, sipariş oluştuğu anda bilgiyi sizin adresinize kendisi gönderir. Böylece bekleme süresi kısalır ve gereksiz istek azalır.

Polling ile farkı

KonuPolling (düzenli sorgu)Webhook
Kim başlatırSizin yazılımınızPlatform
GecikmeSorgu aralığı kadarGenellikle saniyeler
İstek yüküDeğişiklik olmasa da sorgu yapılırYalnız olay olunca istek gelir
RiskAralık uzunsa geç fark edilirBildirim kaçarsa haberiniz olmaz

Pazaryerlerinde webhook

Trendyol'da webhook API ile tanımlanır. Satıcı abone olacağı sipariş statülerini seçer: CREATED, PICKING, INVOICED, SHIPPED, CANCELLED, DELIVERED, RETURNED ve diğerleri. Liste boş bırakılırsa tüm statüler atanır. Bildirim, statüden bağımsız olarak tüm sipariş verisini JSON gövdeyle ve POST isteğiyle taşır; model sipariş paketlerini çekme servisiyle aynıdır.

Trendyol'un webhook model sayfasına göre başarısız istek, başarılı olana kadar 5 dakikada bir yeniden gönderilir. Hata sürerse webhook otomatik olarak pasife alınır ve satıcıya e-posta gider. Sorun giderildikten sonra webhook yeniden aktif edilebilir.

WooCommerce'te ise mağaza sahibi panelden bir olay (ör. sipariş güncellendi) ve teslim adresi seçerek webhook oluşturur. Her platformun olay adları ve gövde yapısı farklıdır.

Güvenlik: bildirimin gerçekten platformdan geldiğini doğrulamak

Webhook adresi internete açıktır. Bu yüzden gelen isteğin sahte olmadığı kontrol edilmelidir. Yaygın yöntemler:

  • İmza doğrulama: WooCommerce her bildirime X-WC-Webhook-Signature başlığı ekler. Bu değer, gövdenin gizli anahtarla HMAC-SHA256 ile imzalanıp base64 ile kodlanmış hâlidir. Alıcı aynı hesabı yapar ve sonuçları karşılaştırır.
  • Kimlik bilgisi: Trendyol webhook tanımında BASIC_AUTHENTICATION ya da API_KEY seçilebilir. API_KEY seçilirse anahtar x-api-key başlığıyla gelir.
  • Gizli adres parçası: Adrese tahmin edilemeyen bir belirteç eklenir.
  • Sınırlama: IP başına istek sınırı ve gövde boyutu sınırı konur.

Webhook tek başına yetmez

Bildirimler ağ hatası, sunucu bakımı ya da platform tarafındaki bir sorun yüzünden kaçabilir. Bu yüzden iyi entegrasyonlar webhook'un yanında düzenli bir yedek sorgu da çalıştırır. Aynı siparişin iki kez gelme ihtimaline karşı işlem idempotent tasarlanır: sipariş numarası daha önce işlendiyse stok ikinci kez düşülmez.

Saystok'ta webhook yalnız WooCommerce, Trendyol, Hepsiburada ve N11 için kullanılır. WooCommerce bildirimlerinde imza mağazanın kendi gizli anahtarıyla doğrulanır. Tüm platformlarda siparişler ayrıca 5 dakikada bir okunur; kaçan bildirim bu turda yakalanır.

Daha fazlası

İlgili terimler

Kaynaklar

← Sözlüğün tamamı

Pazaryeri işlerinizi tek panelde toplayın

30 gün ücretsiz. Kart bilgisi istemiyoruz, taahhüt yok.