Обробка обмежень частоти й помилок сервера
Зачекайте після відповіді 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 у журнал. Після невеликої обмеженої кількості спроб зупиніть автоматичні повтори й передайте збій на розгляд.