Назад к документации

Лимиты запросов

Поведение, ограничивающее скорость

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_activeRetry-After (Поля JSON, специфичные для RPS, находятся в теле)
Воспроизведенный идемпотентный ответIdempotency-Replayed: true

429 Типы ошибок

errorMeaningЧто делать
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_reusedSame 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. Запросы без этого заголовка сохраняют существующее поведение без изменений.

Рекомендуемая стратегия повторных попыток клиента

  1. Всегда честь Retry-After если присутствует.
  2. Используйте экспоненциальную задержку с полным джиттером.
  3. Базовая задержка: 250ms, максимальная задержка: 5s.
  4. Для оплачиваемых POST повторные попытки, повторное использование того же самого Idempotency-Key только по точно такому же запросу.
  5. Задайте максимум повторов, чтобы избежать бесконечных циклов повторов.

Важные примечания

  • Не повторяйте попытку сразу же в тесных циклах после 429.
  • Повторяющиеся всплески могут вызвать временные окна блокировки.
  • Ограничения на стороне сервера применяются, даже если существует регулирование на стороне клиента.

Reference

База URL: https://api.freeastroapi.com

Эта страница является целью, возвращаемой ответами на регулирование в docs field.