오류 및 한도
거부된 호출의 응답과 API가 적용하는 한도.
오류
거부된 호출은 { statusCode, error, message } 형태의 JSON 본문으로 응답해요. 메시지에 무엇이 잘못됐는지 나와 있어요.
| 상태 | 메시지 | 의미 |
|---|---|---|
| 400 | 경우마다 다름 | 필수 필드가 없거나, 대상이 지정되지 않았거나, 허용되지 않는 상태 값이 있을 때(layout, countdownStyle, progressStyle, versus.activeSide, countdownTo, segments). 메시지에 해당 필드가 나와 있어요. |
| 401 | API_KEY_REQUIRED / INVALID_API_KEY | x-api-key 헤더가 없거나 잘못됐어요. |
| 402 | PLAN_SELECTION_REQUIRED | 팀이 요금제를 고르지 않았어요. 대시보드에서 고르세요(무료도 돼요). |
| 402 | FREE_TIER_LIMIT_REACHED | 무료 요금제의 월간 푸시를 모두 썼어요. 전송 및 요금을 참고하세요. |
| 403 | ACCOUNT_SUSPENDED | 이 팀을 소유한 계정이 정지됐어요. 서비스 약관을 참고하세요. |
| 404 | No activity matched | 보낸 실시간 현황 id 중 이 컨테이너에서 찾은 것이 없어요. |
| 413 | The "state" object is too large | 상태가 16KB를 넘어요. |
| 413 | The notification is too long | 푸시 알림이 4KB를 넘어요. |
| 429 | 경우마다 다름 | 짧은 시간에 요청이 너무 많아요. 잠시 기다렸다가 다시 시도하세요. |
| 500 | Internal Server Error | 저희 쪽에서 문제가 생겼어요. 나중에 다시 시도하세요. |
한도
| 항목 | 한도 |
|---|---|
state | JSON 16KB. |
segments | 단계 12개. 라벨은 60자에서 잘려요. |
countdownTo | Unix epoch 초, 숫자. |
| 카드의 텍스트 | 잘 맞는 텍스트 길이를 참고하세요. |
| 이미지 | 휴대폰이 다운로드할 수 있는 전체 https URL. WebP가 가장 좋고, PNG와 JPEG도 되지만 SVG는 안 돼요. 잘 맞는 이미지를 참고하세요. |
| 푸시 알림 | 4KB. |
| 요청 | 고정된 속도 제한은 없어요. 트래픽이 매우 많으면 429로 차단될 수 있어요. 한 실시간 현황에 45초 안에 업데이트가 여러 번 오면 가장 최신 것만 전송돼요. |
| 그룹 또는 재사용 버튼당 휴대폰 수 | 제한 없음. |
| 웹훅 응답 | 8초. |









