Hızlı başlangıç: ilk webhook’unuzu alın
Orbit olaylarını platformdan dışarı taşıyan üç teslim yüzeyi vardır; bu rehber birini seçmenize yardımcı olur, ardından kayıtlı uç nokta döngüsünü — tünel, kayıt, doğrulama, yeniden oynatma — uçtan uca yürütür.Step 1 — Pick a delivery surface
Üç yüzeyi ayıran çizgi nettir: deneme yanılma için Tester, üretim değeri taşıyan her şey için kayıtlı uç nokta, kendi Kafka ya da parti toplama altyapınıza yüksek hacimli akış için event sink.
Start with the Tester when you’re experimenting. Graduate to a registered endpoint as soon as the integration is real — the tester cannot sign requests, so it never exercises your verification logic. Choose an event sink when per-endpoint receivers are the wrong shape — Kafka, batch, or many event types over one destination.
Bu rehberin geri kalanı kayıtlı uç nokta döngüsünü yürütür. Yalnızca keşfetmek için geldiyseniz Webhook Tester sayfasını açın ve bir istek imza kontrolünden geçemediğinde buraya dönün.
Step 2 — Expose a local endpoint with a tunnel
Yerelde herhangi bir sade HTTP dinleyicisi çalıştırın ve önüne kamuya açık bir URL koyun; bir sonraki adımda kaydedeceğiniz adres, tünelin HTTPS yönlendirme adresidir. Kayıt ve yeniden oynatma boyunca tüneli açık tutun.Step 3 — Register the endpoint in the console (or over the API)
Panoda Developer → Webhooks → Add endpoint yolunu izleyin (aynı yere Settings → Webhooks altından da ulaşılır). Tünel URL’nizi yapıştırın, bir-iki olay türüne abone olun ve kaydedin. Konsol, açık imza gizli anahtarını (whsec_...) tam olarak bir kez gösterir — şimdi bir ortam değişkenine kopyalayın.
Aynı kayıt API veya SDK’ler üzerinden:
client.Request / client.request / $client->request) POST eder — tipli sarmalayıcılar çekirdek kaynakları kapsar, webhook’lar o kaçış yolundan gider.
Yanıt, uç nokta kimliğinizi (wh_...) ve bir kez görülen açık gizli anahtarı (whsec_...) taşır — şimdi kalıcı olarak saklayın; çünkü uç noktaya sonraki her GET, whsec_********...b7a1 benzeri maskeli bir değer döndürür:
events listesini dar tutmak test trafiğini sağlıklı kılar; * bir üretim kararıdır, geliştirme kararı değil.
Step 4 — Receive and verify the signature
Kayıtlı teslimler,t=<unix>,v1=<hex> biçiminde bir X-Orbit-Signature başlığıyla imzalı gelir. Alıcınız, ham istek baytları üzerinde — bir JSON ara katmanı onlara dokunmadan önce — HMAC_SHA256(secret, "<t>.<raw body>") hesaplayıp doğrulamalı ve 5 dakikadan eski zaman damgalarını reddetmelidir. Bunu tek çağrıyla SDK yapar; çevresindeki tesisat (ham gövde, başlık yedeği, hatada 401) sizin doğru kurmanız gereken kısımdır. Beş dilde tam alıcılar:
X-Orbit-Signature’dan miras X-Devotel-Signature’a düşer, tek SDK çağrısıyla doğrular ve başarısızlıkta 401 yanıtı verir — böylece yeniden denemeler asla sahte trafiği onaylamaz. Java ve C# alıcıları ile gizli anahtar rotasyonu ve hata giderme Verify webhook signatures sayfasındadır.
30 saniyelik teslim penceresi içinde 2xx dönün ve zarf id’sine göre tekilleştirin — yeniden denemeler ve yeniden oynatmalar aynı id’yi tekrar teslim eder. Tam sözleşme (yeniden deneme takvimi, dead-letter kuyruğu, kesin-ölü durumlar) Webhooks overview sayfasındadır; Build your first webhook receiver iki dilde tam bir gerçekleme yürütür, Webhook security yedi dilde doğrulayıcılar sunar.
Step 5 — Replay deliveries from the console
Her teslim denemesi Developer → Webhooks → Events altında incelenebilir — bir satırı seçin ve sunucunuzun döndürdüğü yükü ile yanıtı görün. Başarısız bir teslim, teslim satırındaki Replay ile yeniden gönderilebilir; böylece alıcınızı düzeltip aynı imzalı olayı yeni trafik tetiklemeden yeniden ateşlersiniz. Yeniden deneme takvimini tüketen teslimler, Developer → Webhooks → Dead-letter queue altındaki dead-letter kuyruğuna düşer ve 7 gün boyunca yeniden oynatılabilir. Tek satır yerine biriken bir kuyruğu yeniden ateşleyecekseniz o ekrandaki toplu yeniden oynatma akışını kullanın. İki yol da Inspecting deliveries sayfasında kapsanır.Step 6 — Move to an event sink when you outgrow HTTP receivers
Alıcı başına kayıtlı bir uç nokta, artık öyle olmayana dek doğru biçimdir — geçiş sinyalleri somuttur:- Akış aşağınız Kafka ise.
kafkasink’ini broker’larınıza doğrultun ve her olay grubu için HTTP alıcıları işletmeyi bırakın. - Olay başına POST değil parti istiyorsanız.
http_batchsink’i, yapılandırılabilir parti boyutunda bir JSON dizisi boşaltır. - Her şeyi yakalamak için
*’a abone oluyorsanız. Tüm taksonomiyi taşıyan tek sink, bir wildcard uç nokta filosundan iyidir.
credentials_configured boolean’ı döndürür. Kayıt biçimi webhook zarfıyla bayt-özdeştir; bu yüzden bugün yazdığınız bir tüketici, sink teslimi canlıya geçtiğinde çalışmaya devam eder; o zamana dek kalıcı trafiği webhook’larda tutun ve sink’i yalnız yapılandırmayı hazırlamak için kullanın. Tam fan-out modeli Webhook fan-out: one event, many destinations sayfasındadır.
See also
- Test webhooks with the Webhook Tester — yineleme için imzasız yapay gönderimler
- Build your first webhook receiver — tam alıcı anlatımı
- Build a durable webhook consumer — kuyruklu işlemeli üretim düzeyi alıcı
- Event Sinks API — Kafka ve HTTP-batch sink yapılandırması
- Webhook fan-out — bir olayın her aboneliğe ulaşma biçimi