Обработка ограничений частоты и ошибок сервера
Выдерживайте паузу после ответа 429 и осторожно повторяйте безопасные операции после временного сбоя сервера.
Обновлено
Обработайте ответ 429
Запрос, достигший ограничения частоты, получает 429 Too Many Requests, а значение detail.status равно rate_limit_exceeded. Перед повторной попыткой прочитайте заголовки ответа:
Retry-Afterзадаёт минимальное время ожидания в секундах после отклонения запроса.X-RateLimit-Limitсообщает лимит группы запросов.X-RateLimit-Remainingсообщает число оставшихся запросов.X-RateLimit-Resetсообщает время сброса лимита группы.
Подождите время из Retry-After, затем повторяйте запрос с экспоненциальной задержкой и небольшим случайным отклонением. Уменьшите число параллельных запросов и поставьте работу в очередь вместо резкой отправки пакета сразу после сброса окна.
Обработайте ошибки сервера
При ответе 500 публичное тело содержит общую ошибку и request_id, но не внутренние детали исключения. Ответ 503 может означать временную недоступность необходимого сервиса.
Повторяйте запросы только на чтение с ограниченной задержкой. Прежде чем повторять создание, изменение, оплату или другой запрос, меняющий состояние, выясните, завершилась ли первая попытка. Истечение времени или ответ 5xx не доказывает, что изменение не произошло; немедленный повтор может продублировать работу.
Сохраните диагностические данные
Запишите время, метод, путь, статус, тело ответа и X-Request-Id. Никогда не записывайте значение x-api-key в журнал. Остановите автоматические повторы после небольшого ограниченного числа попыток и передайте ошибку на рассмотрение.