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