Skip to main content

Формат ошибки

Любая ошибка — статус HTTP и один и тот же конверт:
  • code — машиночитаемый код. Ветвитесь по нему, а не по статусу и не по тексту.
  • message — текст для логов на языке из Accept-Language. Клиенту его не показывайте: формулировки меняются.
  • fields — поле и причина у VALIDATION_ERROR; у остальных ошибок null.
Незнакомый code трактуйте как обычный отказ: список кодов пополняется без смены версии.

Коды

«—» в последней колонке — повтор того же запроса ничего не изменит.

Что безопасно повторять

  • GET — всегда.
  • POST /payments — с тем же Idempotency-Key: второй счёт не выставится.
  • POST …/trial после 503 — пробный период не выдан, повтор безопасен.
  • POST …/rotate-link после 503 — ссылка не сменилась, пауза в час не началась.

Лимиты

Сутки — скользящие 24 часа. Retry-After — пауза в секундах. Лимиты защищают от зациклившегося скрипта; если для вашего объёма их мало — напишите менеджеру.

Версии

Версия — в пути: /api/partner/v1. Внутри версии добавляются новые поля в ответах, новые необязательные поля в запросах и новые коды ошибок — код интеграции не должен на них ломаться. Удаление и переименование — только в новой версии пути.