요청 제한
Conviction Public API는 서비스 안정성과 모든 사용자의 공정한 접근을 보장하기 위해 요청 제한을 적용합니다.
#현재 제한
| 계층 | 요청 제한 | 설명 |
|---|---|---|
| 버스트 (엣지) | 50 요청 / 10초 / IP | api.conviction.bet 으로 가는 모든 요청을 셉니다. 초과하면 해당 IP 가 10초간 차단됩니다. |
| 지속 (애플리케이션) | 200 요청 / 60초 / IP, 엔드포인트별 | /v1/... 엔드포인트마다 카운터가 따로 있습니다 — 시장 목록 요청이 호가창 한도를 소모하지 않습니다. |
제한은 서비스 확장에 따라 변경될 수 있습니다.
#요청 제한 헤더
/v1/... 엔드포인트의 모든 응답에는 그 엔드포인트의 60초 카운터 상태가 담겨 있습니다:
| 헤더 | 설명 |
|---|---|
X-RateLimit-Limit | 구간 한도 (200) |
X-RateLimit-Remaining | 현재 구간에서 남은 요청 수 |
X-RateLimit-Reset | 구간이 초기화될 때까지 남은 시간(초) |
#요청 제한 초과 시
60초 한도를 초과하면 API는 429 Too Many Requests 응답을 반환합니다:
{
"statusCode": 429,
"message": "ThrottlerException: Too Many Requests"
}응답에는 재시도까지 기다려야 할 시간(초)을 알려주는 Retry-After 헤더가 포함됩니다.
10초 버스트 한도를 초과하면 차단은 네트워크 엣지에서 이루어집니다. 마찬가지로 HTTP 429 이지만 본문이 위 JSON 이 아니므로 JSON 으로 파싱하지 마세요.
#모범 사례
- 가능한 한 응답을 캐시하세요
- 모든 데이터를 한 번에 가져오지 말고
limit과offset으로 페이지네이션하세요 - 429를 받으면 즉시 재시도하지 말고 지수 백오프로 재시도하세요
- 폴링 간격을 벌리세요 — 여러 시장을 쉬지 않고 도는 루프는 60초 한도보다 10초 버스트 한도에 훨씬 먼저 걸립니다
이 페이지가 도움이 되었나요?