Webhook-formaat

SilentShield kan realtime meldingen naar uw server sturen via webhooks. Configureer webhook-URL's in Dashboard → Meldingen.

Payloadstructuur

Alle webhook-payloads volgen deze structuur:

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

Gebeurtenistypen

EventDescription
bot_detectedWordt geactiveerd wanneer een verzoek als bot wordt geclassificeerd.
bot_spikeWordt geactiveerd wanneer botdetecties uw meldingsdrempel overschrijden binnen het geconfigureerde venster.
quota_warningWordt geactiveerd wanneer quotumgebruik 80% of 90% bereikt.
quota_exceededWordt geactiveerd wanneer uw maandelijks quotum is overschreden.
domain_verification_failedWordt geactiveerd wanneer een domeinherverificatiecontrole mislukt.
key_rotatedWordt geactiveerd wanneer een API-sleutel wordt geroteerd.

Handtekeningverificatie

Elke webhook bevat een X-SilentShield-Signature header met een HMAC-SHA256-handtekening. Verifieer deze handtekening om te garanderen dat de webhook authentiek is.

  1. Haal de ruwe verzoekbody op (als string, vóór het parsen)
  2. Haal de waarde van de X-SilentShield-Signature header op
  3. Bereken HMAC-SHA256 van de body met uw webhookgeheim als sleutel
  4. Vergelijk de berekende handtekening met de headerwaarde
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)
  );
}

Herhalingbeleid

Als uw eindpunt een niet-2xx statuscode retourneert of een time-out heeft (10 seconden), herhaalt SilentShield de levering maximaal 3 keer met exponentiële vertraging (1 minuut, 5 minuten, 30 minuten). Na 3 mislukte pogingen wordt de webhook als mislukt gemarkeerd en is zichtbaar in Dashboard → Meldingen → Mislukte leveringen.

Webhookgeheim

Uw webhookgeheim wordt gegenereerd wanneer u een webhook-eindpunt aanmaakt in het dashboard. U kunt het bekijken of opnieuw genereren onder Dashboard → Meldingen → Webhooks → Bewerken.