Elido'nun yaptığı her şey
Pro ve Business

Webhook'lar. Gerçek zamanlı olaylar, güvenilir bir şekilde teslim edilir.

Çalışma alanı başına webhook uç noktaları; tıklama, dönüşüm ve bağlantı yönetimi olaylarını HMAC-SHA256 imzalarıyla alır. Üstel geri çekilmeyle otomatik yeniden denemeler. SIEM modu olayları güvenlik platformunuza akıtır.

  • 10'dan fazla olay türü - tıklamalar, dönüşümler, alan adı değişiklikleri
  • Her teslimde HMAC-SHA256 imzası
  • 72 saatlik üstel geri çekilme yeniden deneme
  • Tek tıkla tekrar oynatma özellikli teslim günlüğü
Webhook teslimi
Olay kaynağılink.clickedlink.createdElidoHMAC-SHA256imzala + kuyruğa alUç noktanızPOST /webhooksapi.acme.com010203
Giden istek
POSThttps://api.acme.com/webhooks
X-Elido-Signature: sha256=3c4d2e1f8a...
Content-Type: application/json
X-Elido-Event: link.clicked
{
"event": "link.clicked",
"event_id": "evt_01hw...",
"data": { link_id, url, country, device, ts }
}
<2s medyan gecikme HMAC-SHA256 imzalı
<2s
Medyan olay teslim gecikmesi
72s
Nihai hatadan önceki yeniden deneme penceresi
HMAC-SHA256
İstek imzalama algoritması
10+
Desteklenen olay türü

Olay türleri

Kutudan çıktığı gibi 10'dan fazla olay türü

Uç nokta başına abone olun - yalnızca önemsediğiniz olayları alın. Yüksek hacimli tıklama olayları varsayılan olarak 5 saniyelik toplu bir pencerede gönderilir; ham-tıklama modu akış işlemcileri için tıklama başına teslim eder.

10+ olay türü
  • link.clicked

    Her yönlendirme tıklaması. Toplu (5s pencere) veya ham-tıklama modu.

  • link.created

    Çalışma alanında yeni bir kısa bağlantı oluşturuldu.

  • link.updated

    Bağlantı metadata'sı, hedef URL'si veya kuralları değişti.

  • link.deleted

    Bağlantı kaldırıldı - aşağı akış referanslarını güncelleyin.

  • domain.verified

    Özel alan adı DNS doğrulamasını geçti.

  • conversion.attributed

    Stripe veya Shopify üzerinden bir tıklamaya eşleşen gelir olayı.

  • campaign.completed

    Kampanya bitiş tarihine veya tıklama sınırına ulaştı.

  • member.invited

    Çalışma alanı üyesi eklendi veya SCIM ile provizyonlandı.

Ayrıca link.expired, link.click_cap_reached, domain.ssl_issued ve daha fazlası - bkz. tam olay kataloğu.

Teslim garantileri

Üstel geri çekilme. 72 saatlik pencere.

2xx olmayan bir yanıt veya 30 saniyelik bir zaman aşımı, otomatik yeniden denemeleri tetikler: 30 s → 2 dk → 10 dk → 30 dk → 2 sa → 8 sa → 24 sa → 48 sa. 72 saatten sonra teslim kalıcı olarak başarısız olur ve kuyruktan kaldırılır - ama manuel tekrar oynatma için teslim günlüğünde kalır.

  • 30 saniyelik yanıt zaman aşımı
    Hemen 200 döndürün; işleyiciniz yavaşsa asenkron işleyin.
  • 72 saat içinde 8 yeniden deneme girişimi
    Üstel geri çekilme - yeniden başlatmada çığ etkisi yok.
  • Art arda 30 hatadan sonra otomatik duraklatma
    Çalışma alanı yöneticisi e-posta ile bilgilendirilir. Panelden yeniden başlatın.
  • Günlükten tek tıkla tekrar oynatma
    Orijinal yük, aynı event_id - alıcı idempotent olmalıdır.
Teslim yeniden deneme zaman çizelgesi
72 saatlik yeniden deneme penceresi
Girişim 1
14:02:01
500 Internal Server Error
30s geri çekilmeüstel × 1
Girişim 2
14:02:31
zaman aşımı (30s)
2 dk geri çekilmeüstel × 4
Girişim 3
14:04:31
200 OK
Yanıt zaman aşımı
30 saniye
Maks. girişim
8 yeniden deneme
Pencere
72 saat
Webhook teslim günlüğü
SIEM modu
OlayUç noktaDurumGecikmeZaman
link.clickedapi.acme.com/wh200142ms14:04:31
link.createdapi.acme.com/wh20088ms14:03:19
conversion.attributedlogs.acme.com50030001ms14:02:01
domain.verifiedapi.acme.com/wh20067ms13:58:44
link.deletedlogs.acme.comtimeout30000ms13:55:12
1.284 teslimden 5'i gösteriliyor · Son 24 saatUç nokta etkin

Teslim günlüğü

Tam günlük. Filtreleyin, inceleyin, tekrar oynatın.

Her girişim kaydedilir: olay kimliği, olay türü, uç nokta URL'si, HTTP durumu, yanıt gövdesi (4KB'ye kadar) ve gecikme. Saklama süresi Pro'da 30 gün, Business'ta 90 gündür.

  • Olay türüne, uç noktaya, duruma ve tarih aralığına göre filtreleyin
  • Başarısız girişler hata ayıklama için tam istek gövdesini gösterir
  • Tekrar oynatma orijinal yükü gönderir - aynı event_id
  • API: POST /v1/webhooks/deliveries/:id/replay
  • SIEM modu: 7 günlük yeniden deneme garantisiyle yapılandırılmış JSON

Neler yapabilirsiniz

  • Tıklama, dönüşüm, bağlantı ve alan adı olayları
  • HMAC-SHA256 istek imzalama
  • Otomatik yeniden denemeler - 72 saate kadar
  • Güvenlik olayı iletimi için SIEM modu
  • Olay türü başına konu filtreleme
  • Tekrar oynatma özellikli webhook teslim günlüğü

Elido webhook'larının ne sunduğu ve teslimin nasıl çalıştığı

Webhook'lar, ancak güvenilirlikleri kadar faydalıdır. Aşağıdaki bölümler; teslim garantilerini, imza doğrulamayı, yeniden deneme davranışını ve SIEM modunu kapsar.

Olay türleri
01

Tıklama olayları, dönüşüm olayları, bağlantı yaşam döngüsü olayları ve alan adı olayları - uç nokta başına yapılandırılabilir

Her webhook uç noktası bir veya daha fazla olay türüne abone olabilir: click.created (her yönlendirme tıklaması), conversion.created (Stripe, Shopify veya özel uç noktadan alınan dönüşüm olayı), link.created, link.updated, link.deleted, link.expired, link.click_cap_reached, domain.verified, domain.ssl_issued, domain.ssl_error, workspace.member.added, workspace.member.removed. Yüksek hacimli tıklama olayları gürültülü olabilir - varsayılan olarak, click.created webhook'ları 5 saniyelik bir birleştirme penceresiyle (yükte 100 olaya kadar toplu teslim) gönderilir. Tıklama başına gerçek zamanlı teslime ihtiyacınız varsa (örneğin, bir akış işlemciyi besliyorsanız), uç noktada ham-tıklama modunu etkinleştirin; bunun yoğun çalışma alanları için dakikada binlerce istek üretebileceğini ve yalnızca bu verimi kaldırabilen uç noktalar için etkinleştirilmesi gerektiğini unutmayın.

İmza doğrulama
02

Her istek HMAC-SHA256 ile imzalanır - işlemeden önce X-Elido-Signature başlığını doğrulayın

Elido, uç noktada yapılandırılan paylaşılan sırrı kullanarak her webhook istek gövdesini HMAC-SHA256 ile imzalar. İmza, X-Elido-Signature başlığında 'sha256=<hex_digest>' olarak dahildir. Doğrulamak için: paylaşılan sırrı kullanarak ham istek gövdesi üzerinde HMAC-SHA256 hesaplayın, sonucu (zamanlama saldırılarını önlemek için) sabit zamanlı bir karşılaştırma fonksiyonu kullanarak başlık değeriyle karşılaştırın. Bir webhook yükünü imzayı doğrulamadan önce hiçbir zaman işlemeyin. Sır, uç nokta oluşturma anında bir kez gösterilir; panelde sıfır kesinti örtüşme penceresiyle (yeni bir sır oluşturulduktan sonra eski sır 15 dakika geçerliliğini korur) döndürün. Node.js, Python ve Go'da imza doğrulama için kod örnekleri /docs/guides/webhooks adresindeki webhook kılavuzundadır.

Yeniden deneme davranışı
03

Üstel geri çekilmeyle otomatik yeniden denemeler - bir teslim başarısız olarak işaretlenmeden önce 72 saate kadar

Bir uç nokta 2xx olmayan bir durum kodu döndürürse veya zaman aşımına uğrarsa (30 saniyelik yanıt zaman aşımı), Elido teslimi üstel geri çekilmeyle yeniden dener: 30 saniye, 2 dakika, 10 dakika, 30 dakika, 2 saat, 8 saat, 24 saat, 48 saat. 72 saatlik pencereden sonra, teslim kalıcı olarak başarısız olarak işaretlenir ve yeniden deneme kuyruğundan kaldırılır. Başarısız teslimler, webhook teslim günlüğünde nihai HTTP durum koduyla (veya 'zaman aşımı') görünür. Panelden veya API'den (POST /v1/webhooks/deliveries/:id/replay) herhangi bir başarısız teslimi tekrar oynatabilirsiniz - aşağı akış kesintisinden sonra bir olay grubunu kurtarmak için faydalıdır. Art arda 30'dan fazla teslimde 5xx döndüren uç noktalar otomatik olarak duraklatılır ve çalışma alanı yöneticisine e-posta ile bildirilir. Temel sorun düzeltildikten sonra uç noktayı panelden yeniden başlatın.

SIEM modu
04

SIEM modu, çalışma alanı denetim olaylarını Splunk, Datadog veya herhangi bir HTTPS günlük alım uç noktasına akıtır

SIEM modu, güvenlik olayı iletimi için özel bir webhook yapılandırmasıdır. Uygulama olayları (tıklamalar, dönüşümler) yerine, SIEM modu çalışma alanı denetim olaylarını teslim eder: SSO oturum açmaları, başarısız oturum açmalar, API anahtarı oluşturma/döndürme/silme, SCIM provizyon olayları, rol değişiklikleri, webhook sır döndürmeleri ve yönetici eylemleri (bağlantı silme, toplu dışa aktarma). Yük formatı, yaygın SIEM platformlarına alım için tasarlanmış standart bir şemaya (zaman damgası, aktör, eylem, hedef, workspace_id, ip_address, user_agent) sahip yapılandırılmış JSON'dır. SIEM webhook'ları, 7 güne kadar yeniden denemeyle teslim garantilidir ve uygulama webhook'larından ayrı olarak imzalanır. Test edilmiş entegrasyonlar: Splunk HTTP Event Collector (HEC), Datadog Logs API, Elastic Logstash HTTP girişi ve herhangi bir genel HTTPS günlük uç noktası. SIEM modu yalnızca Business özelliğidir.

Teslim günlüğü
05

İstek gövdesi, yanıt kodu ve başarısız teslimler için tek tıkla tekrar oynatma özellikli tam teslim günlüğü

Her webhook teslim girişimi kaydedilir: olay kimliği, olay türü, uç nokta URL'si, teslim zaman damgası, HTTP durum kodu, yanıt gövdesi (4KB'ye kadar) ve gecikme. Teslim günlüğü, olay türüne, uç noktaya, tarih aralığına ve duruma (teslim edildi, yeniden deneniyor, başarısız) göre sorgulanabilir. Başarısız teslimler, tekrar oynatmadan başarısız olan olayı inceleyebilmeniz için tam istek gövdesini içerir. Tekrar oynatma: POST /v1/webhooks/deliveries/:id/replay, orijinal yükü (yeni bir olay değil) uç noktaya gönderir - alıcınızda idempotentlik gereklidir. Teslim günlüğü saklama süresi Pro'da 30 gün, Business'ta 90 gündür. Webhook olaylarının kalıcı denetimi için, bir SIEM uç noktası yapılandırın veya denetim günlüğünün planlanmış dışa aktarımını etkinleştirin.

Üretimde Elido webhook'larını kullanan mühendislik ekipleri

Adlar yer tutucudur - gerçek müşteri vaka çalışmaları yayınlandıkça buraya eklenecektir.

Kendi analitik hattımızı doldurmak için click.created webhook'larını toplu modda tüketiyoruz. HMAC imza doğrulaması ve tekrar oynatma özellikli teslim günlüğü, kısmi bir kesinti hatası ayıklarken saatlerce vakit kazandırdı - kaçırılan olay grubunu, olayı kaynaktan yeniden oluşturmadan panelden tekrar oynattık.

P
Platform mühendisliği, B2B SaaS, Amsterdam
Kıdemli Platform Mühendisi

Çalışma alanı denetim olaylarını Splunk HEC'imize akıtan SIEM modu, InfoSec ekibimizin gerektirdiği kurumsal özellikti. Splunk'ta doğru şemayla SSO oturum açma olayları ve API anahtarı döndürmeleri, Elido erişim olaylarını kurulumdan bir gün içinde SIEM uyarı kurallarımızla ilişkilendirebileceğimiz anlamına geliyordu.

G
Güvenlik mühendisliği, fintech, Münih
Bilgi Güvenliği Mühendisi

link.expired webhook'ları, basılı materyal veritabanımızı güncellemek için dahili iş akışımızı tetikliyor - bir QR kod bağlantısının süresi dolduğunda, operasyon ekibimiz fiziksel etiketi güncellemek için otomatik bir görev alıyor. Bağlantı süre sonu durumlarının sıfır manuel izlenmesi.

E
Entegrasyon mühendisliği, lojistik SaaS, Riga
Entegrasyon Mühendisi

Elido webhook'ları vs Bitly vs Short.io

Ne Bitly ne de Short.io, HMAC imzalama ve yeniden deneme garantileri olan giden webhook'lar sunuyor. Bu karşılaştırma bu boşluk konusunda açık sözlüdür.

FeatureElidoBitlyShort.io
Giden webhook'larVar - çalışma alanı başına uç noktalar, olay türü başına abonelikYokVar - tıklamada temel webhook
HMAC-SHA256 imzalamaVar - her teslim imzalı, kod örnekleri sağlanırGeçerli değilKısmi - imza başlığı mevcut, belgelenmemiş
Otomatik yeniden denemelerVar - üstel geri çekilme, 72 saatlik pencereGeçerli değilYeniden deneme yok - gönder ve unut
Tekrar oynatma özellikli teslim günlüğüVar - Pro'da 30 gün, Business'ta 90 gün, tek tıkla tekrar oynatmaGeçerli değilTeslim günlüğü yok
SIEM denetim olayı moduVar - Business, SIEM alımı için yapılandırılmış JSONYokYok
Hatada uç nokta otomatik duraklatmaVar - 30 art arda hatadan sonra duraklatılır, yönetici bilgilendirilirGeçerli değilYok
Olay türleriTıklama, dönüşüm, bağlantı yaşam döngüsü, alan adı, denetim olaylarıGeçerli değilYalnızca tıklama

Webhook soruları

HMAC-SHA256 imzasını nasıl doğrularım?

Ham istek gövdesini bayt olarak okuyun (herhangi bir JSON ayrıştırmasından önce), uç noktanızın paylaşılan sırrını kullanarak ham baytlar üzerinde HMAC-SHA256 hesaplayın, sonucu base16 (hex) kodlayın ve 'sha256=' önekini kaldırdıktan sonra X-Elido-Signature başlığındaki değerle karşılaştırın. Zamanlama saldırılarını önlemek için sabit zamanlı bir karşılaştırma fonksiyonu kullanın (örneğin, Python'da hmac.compare_digest, Node.js'te crypto.timingSafeEqual). İmzayı hiçbir zaman standart bir string eşitlik operatörüyle karşılaştırmayın. Node.js, Python ve Go için kod örnekleri /docs/guides/webhooks#verification adresindedir.

Webhook alıcım ne döndürmeli?

30 saniye içinde HTTP 200 (veya herhangi bir 2xx durum kodu) döndürün. Yanıt gövdesi göz ardı edilir - boş bir gövde veya { ok: true } döndürebilirsiniz. İşlemeniz 30 saniyeden uzun sürüyorsa, hemen 200 döndürün ve olayı asenkron olarak işleyin (dahili bir kuyruğa alın, 200 döndürün, istek yolunun dışında işleyin). 4xx döndürmek, yeniden deneme amaçları için 5xx ile aynı kabul edilir - her ikisi de bir yeniden denemeyi tetikler. Gereksiz yeniden denemelerden kaçınmak için, olay entegrasyonunuzla ilgili olmasa bile (örneğin, ihtiyacınız olmayan bir link.created olayı) 200 döndürün.

Webhook olayları için idempotentlik nasıl çalışır?

Her webhook yükü bir event_id alanı (UUID) içerir. Bunu alıcınızda idempotentlik anahtarı olarak kullanın: aynı event_id'yi (kısmi bir hatadan sonra bir yeniden deneme nedeniyle) iki kez alırsanız, yalnızca bir kez işleyin. Alınan olay kimliklerini, en az 72 saatlik (yeniden deneme penceresi) bir TTL ile bir tekilleştirme tablosunda saklayın. Yeniden deneme yükü orijinaliyle aynıdır - aynı event_id, aynı gövde - bu nedenle basit bir 'bu event_id'yi gördüm mü?' kontrolü yeterlidir.

Uç noktam neden otomatik olarak duraklatılıyor?

Uç noktalar, art arda 30 teslim hatasından (2xx olmayan veya zaman aşımı) sonra otomatik olarak duraklatılır. Bu, Elido'nun bozuk bir uç noktayı süresiz olarak zorlamasını önler. Temel sorunu düzeltin (genellikle: uç nokta URL'si değişti, sunucu çalışmıyor veya yavaş işleme nedeniyle 30 saniyelik zaman aşımı aşılıyor), ardından uç noktayı panelden yeniden başlatın. Yeniden başlatıldığında, Elido duraklatma sırasında atlanan olayları otomatik olarak tekrar oynatmaz - o olayları kurtarmanız gerekiyorsa teslim günlüğünden manuel olarak tekrar oynatın.

Her bir tıklama için gerçek zamanlı tıklama olayları alabilir miyim?

Evet - uç noktada ham-tıklama modunu etkinleştirin. Ham-tıklama modunda, Elido click.created olaylarını birleştirme penceresi olmadan, tıklamadan sonraki 2 saniye içinde tek tek teslim eder. Yoğun bir çalışma alanının ham-tıklama modunda dakikada binlerce olay üretebileceğinin farkında olun; alıcınızın verimi kaldırabildiğinden emin olun. Çoğu analitik kullanım durumu için, varsayılan 5 saniyelik toplu birleştirme (yük başına 100 tıklamaya kadar) yeterlidir ve çok daha az HTTP isteği üretir.

Webhook olayları için yük boyutu sınırı nedir?

Tekil olay yükleri 10KB'nin altındadır. Toplu tıklama yükleri (varsayılan mod), toplam yük boyutu sınırı 100KB olmak üzere grup başına 100 olaya kadar olabilir. Bir grup 100KB'yi aşarsa, otomatik olarak birden çok teslime bölünür. Tıklamalardaki büyük metadata alanları (örneğin, uzun yönlendiren URL'leri) alan başına 2KB'de kesilir. Alıcınız sıkı bir yük boyutu sınırı uyguluyorsa, toplu mod yerine ham-tıklama modunu (teslim başına bir olay) yapılandırın.

Geliştirme sırasında webhook'ları yerel olarak test etmenin bir yolu var mı?

Yerel sunucunuzu genel bir HTTPS URL'siyle açığa çıkarmak için ngrok, Cloudflare Tunnel veya localtunnel gibi bir araç kullanın, ardından bu URL'yi test çalışma alanınızda bir webhook uç noktası olarak kaydedin. Alternatif olarak, gerçek bir olay tetiklemeden kayıtlı bir uç noktaya herhangi bir olay türü için örnek bir yük göndermek üzere paneldeki webhook test tetikleme düğmesini kullanın. Elido CLI'si (elido webhook test --event click.created --endpoint https://...) de betiklenmiş yerel test için çalışır.

Planlanmış bir bakım penceresi sırasında webhook olaylarına ne olur?

Bakım penceresi sırasında oluşturulan olaylar olay akışımızda kuyruğa alınır ve bakım penceresi bittikten sonra teslim edilir. Elido durum sayfası (status.elido.app) planlanan bakım pencerelerini önceden duyurur. Webhook teslim SLA'sı duyurulan bakım pencerelerini hariç tutar. Tipik 30-60 dakikalık bakım penceresi için, 72 saatlik yeniden deneme penceresi hiçbir olayın kalıcı olarak kaybolmayacağı anlamına gelir - uç nokta yeniden erişilebilir olduğunda oluşturuldukları sırayla teslim edilirler.

Denemeye hazır mısınız?

Ücretsiz planla başlayın, özel bir alan adına ihtiyacınız olduğunda yükseltin.