Webhook formāts

SilentShield var nosūtīt reāllaika paziņojumus uz jūsu serveri, izmantojot webhook. Konfigurējiet webhook URL sadaļā Vadības panelis → Paziņojumi.

Ielādes struktūra

Visas webhook ielādes seko šai struktūrai:

{"event": "bot_detected", "timestamp": "2025-01-15T10:30:00Z", "data": {"keyId": "key_abc", "domain": "example.com", "ip": "203.0.113.42", "verdict": "bot", "score": 0.15, "userAgent": "Mozilla/5.0...", "page": "/contact"}}

Notikumu veidi

EventDescription
bot_detectedAktivizējas, kad pieprasījums tiek klasificēts kā bots.
bot_spikeAktivizējas, kad botu noteikšana pārsniedz jūsu brīdinājuma slieksni konfigurētajā logā.
quota_warningAktivizējas, kad kvotas izmantošana sasniedz 80% vai 90%.
quota_exceededAktivizējas, kad jūsu ikmēneša kvota ir pārsniegta.
domain_verification_failedAktivizējas, kad domēna atkārtotas verifikācijas pārbaude neizdodas.
key_rotatedAktivizējas, kad API atslēga tiek rotēta.

Paraksta verifikācija

Katrs webhook ietver X-SilentShield-Signature galveni, kas satur HMAC-SHA256 parakstu. Verificējiet šo parakstu, lai pārliecinātos, ka webhook ir autentisks.

  1. Iegūstiet neapstrādāto pieprasījuma pamattekstu (kā virkni, pirms parsēšanas)
  2. Iegūstiet X-SilentShield-Signature galvenes vērtību
  3. Aprēķiniet pamatteksta HMAC-SHA256, izmantojot savu webhook noslēpumu kā atslēgu
  4. Salīdziniet aprēķināto parakstu ar galvenes vērtību
const crypto = require('crypto');

function verifyWebhook(body, signature, secret) {
  const computed = crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(computed),
    Buffer.from(signature)
  );
}

Atkārtota mēģinājuma politika

Ja jūsu galapunkts atgriež statusa kodu, kas nav 2xx, vai nostrādā taimauts (10 sekundes), SilentShield atkārto piegādi līdz 3 reizēm ar eksponenciālu atkāpšanos (1 minūte, 5 minūtes, 30 minūtes). Pēc 3 neveiksmīgiem mēģinājumiem webhook tiek atzīmēts kā neveiksmīgs un redzams sadaļā Vadības panelis → Paziņojumi → Neveiksmīgās piegādes.

Webhook noslēpums

Jūsu webhook noslēpums tiek ģenerēts, kad izveidojat webhook galapunktu vadības panelī. To var apskatīt vai atkārtoti ģenerēt sadaļā Vadības panelis → Paziņojumi → Webhook → Rediģēt.