Getting Started
속도 제한
API 요청 제한 및 처리 방법 이해하기
속도 제한
Blitz Rocket API는 공정한 사용과 서비스 안정성 보호를 위해 속도 제한을 적용합니다. 속도 제한은 API 키별로 적용되며 엔드포인트에 따라 다릅니다.
기본 제한
| 엔드포인트 카테고리 | 제한 | 기간 |
|---|---|---|
| 일반 엔드포인트 | 100 요청 | 1분 |
| 콘테스트 참가 생성 | 5 요청 | 15분 (IP + 콘테스트별) |
| 이메일/전화번호 인증 | 10 요청 | 15분 (IP + 이메일별) |
| 참가 조회 | 20 요청 | 5분 (IP별) |
속도 제한 헤더
속도 제한에 근접하거나 초과할 경우, API는 429 Too Many Requests 상태 코드를 반환합니다:
json
{
"success": false,
"error": "속도 제한 초과. 나중에 다시 시도해 주세요."
}
권장 사항
- 가능한 경우 응답을 캐시하여 API 호출 수를 줄이세요
- 429 응답을 받으면 지수 백오프를 구현하세요
- 여러 개별 요청 대신 배치 작업을 사용하세요
- 엔드포인트 폴링 대신 웹훅을 사용하여 실시간 업데이트를 받으세요
예시: 지수 백오프
javascript
async function fetchWithRetry(url, options, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
const response = await fetch(url, options);
if (response.status === 429) {
const delay = Math.pow(2, attempt) * 1000;
await new Promise((resolve) => setTimeout(resolve, delay));
continue;
}
return response;
}
throw new Error("Max retries exceeded");
}