분석 엔드포인트

분석 데이터를 프로그래밍 방식으로 조회합니다. 모든 분석 엔드포인트는 JWT 인증이 필요하며 정확히 하나의 API 키에 속하고 기간을 `days`(1~365, 기본값 30)로 받습니다. `form_key`를 지정하면 단일 양식으로 좁힐 수 있습니다.

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

GET/api/v1/keys/{id}/analytics/summary

지정된 기간의 요청, 판정 결과 및 트렌드 개요를 조회합니다.

Parameters: ?days=30&form_key=contact

Response:

{"period_days": 30, "overview": {...}, "timeline": [...], "verdicts": [...], "pages": [...], "devices": [...], "browsers": [...], "reasons": [...], "blocks": {...}, "score_distribution": [...]}

GET/api/v1/keys/{id}/analytics/timeline

시간 간격(시간, 일, 주)별로 그룹화된 요청 수를 조회합니다.

Parameters: ?days=7&form_key=contact

Response:

[{"date": "2025-01-01", "total": 1800, "human": 1620, "suspicious": 110, "bot": 70}, ...]

GET/api/v1/keys/{id}/analytics/verdicts

점수가 포함된 상세 판정 결과 분포를 조회합니다.

Parameters: ?days=30&form_key=contact

Response:

{"distribution": {"human": 89.6, "suspicious": 6.4, "bot": 4.0}, "avgScore": 0.82}

GET/api/v1/keys/{id}/analytics/devices

디바이스 및 브라우저 분석 결과를 조회합니다.

Parameters: ?days=30&form_key=contact

Response:

{"devices": {"desktop": 65.2, "mobile": 28.1, "tablet": 4.2, "unknown": 2.5}, "browsers": {"Chrome": 58.3, "Safari": 22.1, "Firefox": 12.4, "Edge": 5.8, "Other": 1.4}}