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
| Event | Description |
|---|---|
bot_detected | Aktivizējas, kad pieprasījums tiek klasificēts kā bots. |
bot_spike | Aktivizējas, kad botu noteikšana pārsniedz jūsu brīdinājuma slieksni konfigurētajā logā. |
quota_warning | Aktivizējas, kad kvotas izmantošana sasniedz 80% vai 90%. |
quota_exceeded | Aktivizējas, kad jūsu ikmēneša kvota ir pārsniegta. |
domain_verification_failed | Aktivizējas, kad domēna atkārtotas verifikācijas pārbaude neizdodas. |
key_rotated | Aktivizē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.
- Iegūstiet neapstrādāto pieprasījuma pamattekstu (kā virkni, pirms parsēšanas)
- Iegūstiet X-SilentShield-Signature galvenes vērtību
- Aprēķiniet pamatteksta HMAC-SHA256, izmantojot savu webhook noslēpumu kā atslēgu
- 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.