Лимиты запросов
Поведение, ограничивающее скорость
API применяет ограничения на использование для защиты стабильности и справедливости. При превышении лимитов API отвечает сообщением 429 и включает рекомендации по повторной попытке.
Поведение заголовка (точное)
| Случай | Возвращаемые заголовки |
|---|---|
| Обычные аутентифицированные ответы (2xx/4xx, например 422) | X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset |
429 rate_limit_exceeded (дневная/месячная квота) | X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After |
429 rps_limit_exceeded / 429 abuse_penalty_active | Retry-After (Поля JSON, специфичные для RPS, находятся в теле) |
| Воспроизведенный идемпотентный ответ | Idempotency-Replayed: true |
429 Типы ошибок
| error | Meaning | Что делать |
|---|---|---|
| rps_limit_exceeded | Превышена частота запросов в секунду. | Wait Retry-After и повторите попытку с джиттером. JSON включает в себя retry_after_ms, backoff_hint, tier_rps_limit, penalty_active. |
| abuse_penalty_active | Временное штрафное окно активируется после повторных всплесков. | Не спамьте повторными попытками; дождитесь полного штрафного окна. |
| rate_limit_exceeded | Достигнута квота плана/дня/месяца. | Подождите, пока произойдет сброс или обновление плана. |
| idempotency_key_reused | Same Idempotency-Key был повторно использован с другим методом, путем, запросом или телом. | Создайте новый ключ для новой операции. Статус HTTP 409. |
| request_in_progress | Соответствующий запрос с тем же ключом все еще выполняется. | Wait Retry-After и повторите попытку с тем же ключом. Статус HTTP 409. |
Безопасные повторы с Idempotency-Key
Аутентичная, платная астрология POST requests accept the optional header Idempotency-Key: <уникальный ключ операции, сгенерированный клиентом>. Используйте его при повторной попытке запроса, время ожидания которого могло истечь после достижения API.
Тот же метод, путь, строка запроса, тело и ключ возвращают первый завершенный ответ с Idempotency-Replayed: true. Повторы не повторяют расчет и не потребляют дополнительную квоту.
Ключи сохраняются примерно 24 hours. Запросы без этого заголовка сохраняют существующее поведение без изменений.
Рекомендуемая стратегия повторных попыток клиента
- Всегда честь
Retry-Afterесли присутствует. - Используйте экспоненциальную задержку с полным джиттером.
- Базовая задержка:
250ms, максимальная задержка:5s. - Для оплачиваемых
POSTповторные попытки, повторное использование того же самогоIdempotency-Keyтолько по точно такому же запросу. - Задайте максимум повторов, чтобы избежать бесконечных циклов повторов.
Важные примечания
- Не повторяйте попытку сразу же в тесных циклах после 429.
- Повторяющиеся всплески могут вызвать временные окна блокировки.
- Ограничения на стороне сервера применяются, даже если существует регулирование на стороне клиента.
Reference
База URL: https://api.freeastroapi.com
Эта страница является целью, возвращаемой ответами на регулирование в docs field.