Krajnje točke widgeta

Ove krajnje točke poziva SilentShield widget. Obično ih ne pozivate sami — dokumentirane su kako biste mogli pratiti što se događa na vašoj stranici.

Base URL: https://api.silentshield.io

POST/api/v1/telemetry/behavior

Šalje podatke o ponašanju trenutne interakcije (miš, tipkovnica, pomicanje) i vraća nonce zajedno s presudom. Vaš obrazac šalje taj nonce kao polje `behavior_nonce`.

Auth: API ključ (zaglavlje X-Api-Key)

Request Body:

{"ts": 1767225600000, "nonce": "bh_abc123", "event": "submit", "form_key": "contact", "feature_hash": "...", "metrics": {...}, "signature": "..."}

Response:

{"id": "...", "nonce": "bh_abc123", "status": "queued", "verdict": "human", "score": 0.87, "captcha_solved": false, "challenge_required": false, "difficulty": "pass", "reason_codes": [], "action": "allow"}

Ubraja se u vašu kvotu čim stigne događaj `submit` s nonceom — točno jednom po slanju. `init`, `telemetry` i `form_detected` se ne broje.

POST/api/v1/captcha/challenge

Traži računski zadatak kada je presuda bila nesigurna. Widget to čini sam; zadatak je jednokratan i vezan uz nonce.

Auth: API ključ (zaglavlje X-Api-Key)

Request Body:

{"nonce": "bh_abc123", "difficulty": "medium"}

Response:

{"ok": true, "challenge_id": "ch_xyz789", "a": 7, "op": "+", "b": 5}

Potrebno samo kada je odgovor telemetrije javio `challenge_required: true`.

POST/api/v1/captcha/verified

Šalje riješeni zadatak. Nonce se označava kao ljudski tek kada odgovor odgovara zadatku koji je poslužitelj izdao za ovaj ključ.

Auth: API ključ (zaglavlje X-Api-Key)

Request Body:

{"challenge_id": "ch_xyz789", "answer": 12}

Response:

{"ok": true}   //  403: {"ok": false, "reason": "invalid_solution"}

Fail-closed: pogrešan ili istekao odgovor vraća 403 s `reason: "invalid_solution"`. Zadatak je jednokratan.

POST/api/v1/captcha/verify-nonce

Verificira nonce generiran od widgeta. Pozovite ovo sa svog poslužitelja kako biste potvrdili da je slanje obrasca legitimno.

Auth: API ključ (zaglavlje X-Api-Key)

Request Body:

{"nonce": "nonce_xyz789"}

Response:

{"valid": true, "verdict": "human", "score": 0.92, "timestamp": "2025-01-15T10:30:00Z"}

Ova krajnja točka broji se u vašu kvotu. Nonce vrijednosti su jednokratne i istječu nakon 5 minuta.