İçeriğe geç
LLCBullet

LLCBullet terimi

Webhook

Görev sonucunun belirlediğin HTTPS adresine otomatik olarak POST isteğiyle gönderilmesi. Her istek imzalanır; alıcı taraf imzayı doğrulayarak isteğin LLCBullet'ten geldiğinden emin olabilir. Yalnızca herkese açık HTTPS adreslerine gönderim yapılır.

Ayrıntılı açıklama

Webhook görevi, belirlediğin zamanlamayla kendi HTTPS adresine POST yöntemiyle JSON gövdeli bir istek gönderir. Gövdede teslimat kimliği (id), her zaman “automation.webhook” olan tür (type), görev kimliği (task), planlanan çalıştırma zamanı (scheduledFor), altyapı ve istersen her site için son erişilebilirlik durumu ile yanıt süresi yer alır.

Her istek HMAC-SHA256 ile imzalanır. X-LLCBullet-Signature başlığı “t=zaman,v1=imza” biçimindedir; imza, görev oluşturulurken bir kez gösterilen ve whsec_ ile başlayan gizli anahtarla, Unix zaman damgası, bir nokta ve ham istek gövdesi üzerinden hesaplanır. X-LLCBullet-Delivery başlığı teslimat kimliğini taşır.

Adres https:// ile başlamalı; port, kullanıcı adı ya da parola içeremez. Yerel ya da özel ağ adreslerine çözülen alan adları reddedilir ve yönlendirmeler izlenmez. 2xx yanıt teslimatı başarılı sayar; başka bir kod ya da zaman aşımı olursa çalıştırma artan bekleme süreleriyle yeniden denenir. İstek başına bekleme süresi en fazla 30 saniyedir.

Nasıl işler?

  1. Otomasyon sayfasında yeni görev oluştur ve tür olarak Webhook'u seç.
  2. Altyapıyı, isteğe bağlı siteleri, webhook adresini ve zamanlamayı belirle.
  3. Gösterilen whsec_ gizli anahtarını hemen kaydet; yalnızca bir kez gösterilir.
  4. Sunucunda imzayı ham gövdeyle doğrula, eski zaman damgalarını reddet ve hızlıca 2xx yanıt dön.

Örnek

Sunucun isteği aldığında önce imzayı doğrular; imza tutmazsa 401 döner ve gövdeyi işlemez. İmza geçerliyse isteği kuyruğa alıp 200 döner ve aynı çalıştırmanın tekrarlarını task ve scheduledFor alanlarını birlikte kullanarak ayıklar.

Sık sorulan sorular

İmza doğrulaması neden tutmuyor?

En sık neden, ham gövde yerine JSON'a çevrilip yeniden yazılmış gövdenin kullanılmasıdır. İkinci sık neden gizli anahtarın eksik kopyalanmasıdır; anahtarı whsec_ öneki dahil kullan.

Gizli anahtar sızarsa ne yapmalıyım?

Görevi sil ve yeni bir görev oluşturarak yeni anahtar al. Gizli anahtarı kaynak kodunda değil, ortam değişkeninde ya da gizli değer yöneticisinde sakla.