Webhook Nedir, API'den Farkı Ne?
Basit anlatım
Kargonuzun durumunu öğrenmek için her saat kargo firmasını aramak API sorgulaması (polling) gibidir. Kargo firmasının, paketiniz yola çıktığında size SMS göndermesi ise webhook'tur.
Nasıl çalışır?
- Siz, olayları almak istediğiniz bir adres (URL) tanımlarsınız:
https://siteniz.com/webhooks/odeme - Karşı sistemde bir olay olur: ödeme alındı, sipariş iptal edildi, kargo teslim edildi
- Karşı sistem bu adrese olayın bilgisini içeren bir HTTP POST isteği gönderir
- Sizin sisteminiz isteği alır, doğrular ve gerekli işlemi yapar
API sorgulama ile karşılaştırma
| Polling (API sorgulama) | Webhook | |
|---|---|---|
| Kim başlatır? | Siz | Karşı sistem |
| Gecikme | Sorgu aralığı kadar | Neredeyse anlık |
| Kaynak kullanımı | Gereksiz sorgular | Sadece olay olduğunda |
| Gereksinim | Sadece istemci | Dışarıdan erişilebilir bir adres |
Yaygın kullanım örnekleri
- Ödeme altyapısının ödeme sonucunu bildirmesi
- Pazaryerinden yeni sipariş bildirimi
- Kargo firmasından teslimat durumu
- Kod deposuna yapılan değişiklikte otomatik test/yayın tetiklenmesi
- Form doldurulduğunda CRM'e kayıt açılması
Güvenilir ve güvenli webhook tasarımı
- İmza doğrulama: Gönderen sistemin paylaşılan gizli anahtarla oluşturduğu imza (genellikle HMAC) kontrol edilmeli; böylece sahte istekler reddedilir.
- Hızlı yanıt: İstek alınır alınmaz 200 dönülmeli, ağır işlemler kuyruğa atılmalı.
- İdempotentlik: Aynı olay birden fazla kez gelebilir; olay kimliğiyle tekrar işlenmesi engellenmeli.
- Sıra bağımsızlık: Olaylar sırasız gelebilir; zaman damgası veya sürüm kontrolü yapılmalı.
- Kaçırılan olaylar: Sistem kapalıyken gelen olaylar için karşı sistemin tekrar deneme politikası öğrenilmeli ve gerekirse periyodik API mutabakatı yapılmalı.
Sonuç
Webhook'lar sistemleri gerçek zamanlı ve verimli biçimde birbirine bağlar. entegrasyon ve API geliştirme hizmetimizi inceleyebilir veya ücretsiz keşif görüşmesi talep edebilirsiniz.