Webhook formatas

SilentShield gali siųsti pranešimus jūsų serveriui realiu laiku per webhook. Sukonfigūruokite webhook URL skiltyje Valdymo skydelis → Pranešimai.

Duomenų paketo struktūra

Visi webhook duomenų paketai atitinka šią struktūrą:

{"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"}}

Įvykių tipai

EventDescription
bot_detectedSuaktyvinamas, kai užklausa klasifikuojama kaip botas.
bot_spikeSuaktyvinamas, kai botų aptikimai viršija jūsų įspėjimo ribą sukonfigūruotame laiko lange.
quota_warningSuaktyvinamas, kai kvotos naudojimas pasiekia 80 % arba 90 %.
quota_exceededSuaktyvinamas, kai jūsų mėnesinė kvota viršijama.
domain_verification_failedSuaktyvinamas, kai domeno pakartotinis patvirtinimas nepavyksta.
key_rotatedSuaktyvinamas, kai API raktas pakeičiamas.

Parašo patikra

Kiekvienas webhook apima X-SilentShield-Signature antraštę su HMAC-SHA256 parašu. Patikrinkite šį parašą, kad įsitikintumėte webhook autentiškumu.

  1. Gaukite neapdorotą užklausos turinį (kaip eilutę, prieš analizę)
  2. Gaukite X-SilentShield-Signature antraštės reikšmę
  3. Apskaičiuokite turinio HMAC-SHA256 naudodami savo webhook slaptažodį kaip raktą
  4. Palyginkite apskaičiuotą parašą su antraštės reikšme
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)
  );
}

Pakartotinio bandymo politika

Jei jūsų galinis taškas grąžina ne-2xx būsenos kodą arba pasibaigė laikas (10 sekundžių), SilentShield bando pristatyti pakartotinai iki 3 kartų su eksponentiniu atsarginiu laiku (1 minutė, 5 minutės, 30 minučių). Po 3 nesėkmingų bandymų webhook pažymimas kaip nepavykęs ir matomas skiltyje Valdymo skydelis → Pranešimai → Nepavykę pristatymai.

Webhook slaptažodis

Jūsų webhook slaptažodis sugeneruojamas, kai sukuriate webhook galinį tašką valdymo skydelyje. Galite jį peržiūrėti arba pergeneruoti skiltyje Valdymo skydelis → Pranešimai → Webhook → Redaguoti.