Тело ответа при успехе
HTTP200 OK и конверт с state: 0:
Тело ответа при ошибке
Конверт с объектомerror:
code— машиночитаемый код вида<домен>.<причина>. Именно по нему ветвитесь в коде.message— человекочитаемое пояснение. Логировать безопасно, но не полагайтесь на точный текст.
Одно исключение — ограничение частоты (
429). Оно отдаёт другую форму: {"state":1,"message":"rate limit exceeded"} — без объекта error и без code. Ваш обработчик ошибок должен учитывать оба
варианта: сначала проверьте HTTP‑статус (429 → подождать Retry-After и повторить), и только для
прочих читайте error.code. Подробнее — Ограничение частоты.Классы ошибок (HTTP‑статусы)
Примеры кодов
Список не исчерпывающий — точные коды каждого метода смотрите на его странице.Как обрабатывать ошибки
- Ветвитесь по
error.code, а не поmessage. Текст может меняться; код — контракт. 4xx— ваша ошибка запроса. Повтор без изменений даст тот же результат (кроме идемпотентных сценариев, где409означает «уже обработано»).5xxи503— временные. Повторяйте с экспоненциальным backoff. Благодаря идемпотентности повтор денег‑движущих операций безопасен.409— не всегда финал.payout.funds_maturing,idempotency.in_progress,payout.frozen— временные: повторяйте позже с backoff. Прочие409не трактуйте вслепую как «уже сделано» — сверьтесь через*/info. → Устойчивый клиент
Связанные страницы
Справочник кодов ошибок
все коды одной таблицей.