Format webhooka
SilentShield može slati obavijesti u stvarnom vremenu na vaš poslužitelj putem webhookova. Konfigurirajte URL-ove webhookova u Nadzorna ploča → Obavijesti.
Struktura podataka
Svi podaci webhooka slijede ovu strukturu:
{"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"}}Vrste događaja
| Event | Description |
|---|---|
bot_detected | Aktivira se kada je zahtjev klasificiran kao bot. |
bot_spike | Aktivira se kada otkrivanja botova premaše prag upozorenja unutar konfiguriranog prozora. |
quota_warning | Aktivira se kada korištenje kvote dosegne 80% ili 90%. |
quota_exceeded | Aktivira se kada je vaša mjesečna kvota premašena. |
domain_verification_failed | Aktivira se kada provjera ponovne verifikacije domene ne uspije. |
key_rotated | Aktivira se kada se API ključ rotira. |
Verifikacija potpisa
Svaki webhook uključuje zaglavlje X-SilentShield-Signature koje sadrži HMAC-SHA256 potpis. Verificirajte ovaj potpis kako biste osigurali autentičnost webhooka.
- Dohvatite neobrađeno tijelo zahtjeva (kao niz znakova, prije parsiranja)
- Dohvatite vrijednost zaglavlja X-SilentShield-Signature
- Izračunajte HMAC-SHA256 tijela koristeći vašu tajnu webhooka kao ključ
- Usporedite izračunati potpis s vrijednošću zaglavlja
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 ponovnog pokušaja
Ako vaša krajnja točka vrati statusni kod koji nije 2xx ili istekne vremensko ograničenje (10 sekundi), SilentShield ponavlja isporuku do 3 puta s eksponencijalnim odgađanjem (1 minuta, 5 minuta, 30 minuta). Nakon 3 neuspjela pokušaja, webhook se označava kao neuspješan i vidljiv je u Nadzorna ploča → Obavijesti → Neuspjele isporuke.
Tajna webhooka
Vaša tajna webhooka generira se pri stvaranju krajnje točke webhooka na nadzornoj ploči. Možete je pregledati ili regenerirati u Nadzorna ploča → Obavijesti → Webhookovi → Uredi.