Endpoint-uri widget

Aceste puncte finale sunt apelate de widgetul SilentShield. În mod normal nu le apelați dumneavoastră — sunt documentate pentru a putea urmări ce se întâmplă pe pagina dumneavoastră.

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

POST/api/v1/telemetry/behavior

Trimite datele comportamentale ale interacțiunii curente (mouse, tastatură, derulare) și returnează nonce-ul împreună cu un verdict. Formularul dumneavoastră trimite acel nonce ca și câmpul `behavior_nonce`.

Auth: Cheie API (antet 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"}

Se contorizează în cota dumneavoastră de îndată ce evenimentul `submit` sosește cu un nonce — exact o dată per trimitere. `init`, `telemetry` și `form_detected` nu se contorizează.

POST/api/v1/captcha/challenge

Solicită o problemă de calcul când verdictul a fost incert. Widgetul face acest lucru singur; problema este de unică folosință și legată de nonce.

Auth: Cheie API (antet X-Api-Key)

Request Body:

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

Response:

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

Necesar doar când răspunsul de telemetrie a raportat `challenge_required: true`.

POST/api/v1/captcha/verified

Trimite problema rezolvată. Nonce-ul este marcat ca uman doar când răspunsul corespunde unei probleme emise de server pentru această cheie.

Auth: Cheie API (antet X-Api-Key)

Request Body:

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

Response:

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

Fail-closed: un răspuns greșit sau expirat returnează 403 cu `reason: "invalid_solution"`. Problema este de unică folosință.

POST/api/v1/captcha/verify-nonce

Verifică un nonce generat de widget. Apelați-l de pe server pentru a confirma că trimiterea formularului este legitimă.

Auth: Cheie API (antet X-Api-Key)

Request Body:

{"nonce": "nonce_xyz789"}

Response:

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

Acest endpoint se numără în cota dumneavoastră. Valorile nonce sunt de unică folosință și expiră după 5 minute.