{} API и автоматизация

Ошибки, повторы и идемпотентность

Ошибка API всегда содержит стабильный код. По нему программа решает, повторять запрос или исправить его.

Что вы получите

Сбой сети или перегрузка не приводят к дублям и потерянным действиям.

Как сделать

  1. Разбирайте поле code, а не текст ошибки. Таблица кодов — в руководстве «API».
  2. Повторяйте запрос только для кодов с пометкой «повтор»: limit, not_ready, idem_busy, maintenance, server. Пауза — из заголовка Retry-After.
  3. В запросах POST, PUT, PATCH и DELETE добавляйте заголовок Idempotency-Key с уникальным значением: повтор вернёт тот же ответ и ничего не выполнит дважды.
  4. Для опроса списков отправляйте If-None-Match со значением ETag прошлого ответа: если данных нет, придёт 304 без тела.

Открыть в сервисе

Читайте также