Ücretsiz araçlar

Tüm araçlar 47

Domain ve DNS

Alan adı, DNS, IP ve sertifika sorguları

Kategoriyi aç
Teklif al 0543 547 16 61 info@sezeryazilim.com

İşletmeler için otomasyon

Webhook Nedir? Sistemler Arası Anlık Bildirim

İçindekiler
  1. Webhook nasıl çalışır?
  2. API ile farkı
  3. Kullanım örnekleri
  4. Ödeme bildirimleri
  5. E-ticaret olayları
  6. Form gönderimleri
  7. Kod ve yayın süreçleri
  8. Güvenlik
  9. İmza doğrulama
  10. Ek kontroller
  11. Güvenilirlik
  12. Tekrar deneme
  13. Tekrarlanan bildirimler (idempotency)
  14. Hızlı cevap
  15. Sık yapılan hatalar

Sistemler arasında bilgi alışverişinde iki temel yaklaşım vardır: Bir sistem diğerine düzenli aralıklarla "yeni bir şey var mı?" diye sorar ya da olay gerçekleştiğinde karşı taraf haber verir. İkinci yaklaşımın adı webhook'tur. Ödeme sistemlerinden e-ticaret platformlarına kadar birçok hizmet, önemli olayları webhook'larla bildirir.

Webhook nasıl çalışır?

  1. Sistem A'ya, bir olay gerçekleştiğinde bildirim göndereceği bir adres (URL) tanımlarsınız.
  2. Olay gerçekleştiğinde (ödeme alındı, sipariş oluşturuldu, form gönderildi) Sistem A bu adrese olayın bilgilerini içeren bir istek gönderir.
  3. Sistem B bu isteği alır, bilgileri işler ve başarılı olduğunu bildiren bir cevap döner.

Bir benzetmeyle: API, sizin postaneye gidip mektubunuz var mı diye sormanızsa; webhook, postacının mektubu kapınıza getirmesidir.

API ile farkı

API'de bilgiyi isteyen taraf sizsinizdir; ne zaman soracağınıza siz karar verirsiniz. Webhook'ta ise bilgiyi gönderen karşı taraftır ve olay olduğu anda gönderir. İkisi genellikle birlikte kullanılır: Webhook "yeni bir sipariş var" der, ardından ayrıntılar API ile alınır. API'nin mantığı için REST API entegrasyonu yazımıza göz atabilirsiniz.

Kullanım örnekleri

Ödeme bildirimleri

Ödeme kuruluşu, ödeme tamamlandığında veya iade yapıldığında sitenize bildirim gönderir; sipariş durumu otomatik güncellenir.

E-ticaret olayları

Yeni sipariş, iptal veya stok değişikliği gibi olaylar muhasebe, kargo veya CRM sistemlerine iletilir.

Form gönderimleri

Web sitesindeki bir form gönderildiğinde bilgiler başka bir uygulamaya aktarılır.

Kod ve yayın süreçleri

Kod deposunda bir değişiklik yapıldığında otomatik test veya yayın süreci başlatılır.

Güvenlik

Webhook adresi internete açık bir adrestir. Bu adrese herkes istek gönderebileceği için gelen isteğin gerçekten beklenen sistemden geldiği doğrulanmalıdır.

İmza doğrulama

Birçok hizmet, gönderdiği isteği gizli bir anahtarla imzalar. Alıcı taraf bu imzayı doğrulayarak isteğin sahte olmadığından emin olur. Örneğin sahte bir "ödeme alındı" bildirimiyle siparişin onaylanması, imza doğrulamasıyla engellenir.

Ek kontroller

  • Mümkünse kritik bilgileri (ödeme durumu gibi) karşı sistemin API'sinden tekrar doğrulayın.
  • Webhook adresinde tahmin edilemeyen bir yol veya anahtar kullanın.
  • Yalnızca HTTPS adresleri kullanın.

Güvenilirlik

Tekrar deneme

Alıcı sistem geçici olarak erişilemezse, gönderen sistemlerin çoğu bildirimi belirli aralıklarla tekrar dener. Bu nedenle aynı bildirim birden fazla kez gelebilir.

Tekrarlanan bildirimler (idempotency)

Alıcı sistem, aynı olayın iki kez işlenmemesini sağlamalıdır. Örneğin aynı ödeme bildirimi iki kez geldiğinde sipariş iki kez onaylanmamalı veya stok iki kez düşülmemelidir. Her olayın benzersiz kimliği kaydedilerek bu sorun önlenir.

Hızlı cevap

Alıcı sistem isteği hızlıca kabul edip ağır işlemleri arka planda yapmalıdır; aksi halde gönderen taraf zaman aşımı nedeniyle isteği başarısız sayabilir.

Sık yapılan hatalar

  • İmza doğrulamasının atlanması
  • Aynı bildirimin iki kez işlenmesi
  • Hataların kaydedilmemesi; başarısız bildirimlerin fark edilmemesi
  • Test ortamı ve canlı ortam adreslerinin karıştırılması

Hataların izlenmesi için otomasyonlarda hata yönetimi yazımıza bakabilirsiniz. Entegrasyonların genel faydaları için çift veri girişini önlemek yazımızı okuyabilirsiniz.

Webhook ve API tabanlı entegrasyonlar için özel yazılım hizmetimizi inceleyebilirsiniz.

Bu konuda desteğe mi ihtiyacınız var?

Yeni bir web sitesi, e-ticaret projesi ya da özel bir yazılım ihtiyacınız varsa birkaç cümleyle anlatın; size uygun kapsamı birlikte belirleyelim.

Teklif al