위젯 엔드포인트
이 엔드포인트들은 SilentShield 클라이언트 사이드 위젯에서 사용됩니다. 일반적으로 직접 호출할 필요가 없습니다. 위젯이 자동으로 처리합니다.
Base URL: https://api.silentshield.io
POST/api/v1/captcha/init
현재 페이지에 대한 새로운 보호 세션을 초기화합니다. 세션 ID와 구성을 반환합니다.
Auth: API 키 (X-Api-Key 헤더)
Request Body:
{"domain": "example.com", "page": "/contact"}Response:
{"sessionId": "sess_abc123", "features": {"telemetry": true, "pow": true, "honeypot": true}, "threshold": {"suspicious": 0.6, "block": 0.3}}이 엔드포인트는 쿼터에 포함되지 않습니다.
POST/api/v1/captcha/telemetry
행동 텔레메트리 데이터(마우스 움직임, 타이핑 패턴, 스크롤 행동)를 분석을 위해 제출합니다.
Auth: API 키 (X-Api-Key 헤더)
Request Body:
{"sessionId": "sess_abc123", "events": [{"type": "mousemove", "ts": 1234567890, "data": {...}}]}Response:
{"received": true}이 엔드포인트는 쿼터에 포함되지 않습니다. 데이터는 실시간으로 분석됩니다.
POST/api/v1/captcha/verdict
수집된 텔레메트리 데이터를 기반으로 현재 세션의 판정 결과를 요청합니다.
Auth: API 키 (X-Api-Key 헤더)
Request Body:
{"sessionId": "sess_abc123"}Response:
{"verdict": "human", "score": 0.92, "nonce": "nonce_xyz789", "challengeRequired": false}이 엔드포인트는 챌린지가 트리거된 경우 captcha_shown 이벤트로 계산됩니다.
POST/api/v1/captcha/verify-nonce
위젯에서 생성된 Nonce를 검증합니다. 폼 제출이 정당한지 확인하기 위해 서버에서 이 엔드포인트를 호출하십시오.
Auth: API 키 (X-Api-Key 헤더)
Request Body:
{"nonce": "nonce_xyz789"}Response:
{"valid": true, "verdict": "human", "score": 0.92, "timestamp": "2025-01-15T10:30:00Z"}이 엔드포인트는 쿼터에 포함됩니다. Nonce는 일회용이며 5분 후에 만료됩니다.