Format tal-Webhook

SilentShield jista' jibgħat notifiki f'ħin reali lis-server tiegħek permezz ta' webhooks. Ikkonfigura l-URLs tal-webhook f'Dashboard → Notifiki.

Struttura tal-Payload

Il-payloads tal-webhooks kollha jsegwu din l-istruttura:

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

Tipi ta' Avvenimenti

EventDescription
bot_detectedJiġi attivat meta talba tiġi klassifikata bħala bot.
bot_spikeJiġi attivat meta d-detezzjonijiet tal-bots jaqbżu l-limitu tal-allert tiegħek fit-tieqa konfigurat.
quota_warningJiġi attivat meta l-użu tal-kwota jilħaq 80% jew 90%.
quota_exceededJiġi attivat meta l-kwota ta' kull xahar tiegħek tinqabeż.
domain_verification_failedJiġi attivat meta verifika mill-ġdid tad-dominju tfalli.
key_rotatedJiġi attivat meta ċavetta API tiġi ddawra.

Verifika tal-Firma

Kull webhook jinkludi header X-SilentShield-Signature li fih firma HMAC-SHA256. Ivverifika din il-firma biex tiżgura li l-webhook huwa awtentiku.

  1. Ikseb il-korp tat-talba mhux ipproċessat (bħala string, qabel il-parsing)
  2. Ikseb il-valur tal-header X-SilentShield-Signature
  3. Ikkalkula l-HMAC-SHA256 tal-korp billi tuża s-sigriet tal-webhook tiegħek bħala ċavetta
  4. Qabbel il-firma kkalkulata mal-valur tal-header
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)
  );
}

Politika tar-Retry

Jekk l-endpoint tiegħek jirritorna kodiċi ta' status mhux 2xx jew jiskadi (10 sekondi), SilentShield jerġa' jipprova l-konsenja sa 3 darbiet b'backoff esponenzjali (minuta 1, 5 minuti, 30 minuta). Wara 3 tentattivi falluti, il-webhook jiġi mmarkat bħala fallit u jidher f'Dashboard → Notifiki → Konsenji Falluti.

Sigriet tal-Webhook

Is-sigriet tal-webhook tiegħek jiġi ġġenerat meta toħloq endpoint tal-webhook fid-dashboard. Tista' tarah jew tiġġenerah mill-ġdid taħt Dashboard → Notifiki → Webhooks → Editja.