RealIQДанные · Риски · Решения
← API RealIQ

Ошибки

Ошибки API и что с ними делать

Все ошибки возвращаются в едином JSON-формате. В интерфейсе партнёра лучше показывать не технический код, а понятное действие: исправить данные, пополнить баланс, повторить позже или обратиться к администратору.

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

request_id всегда сохраняйте в логах: по нему поддержка RealIQ быстрее найдёт конкретный вызов.

{
  "error_code": "insufficient_funds",
  "message": "На балансе агентства недостаточно средств.",
  "request_id": "req_1780000000_abcd"
}

Таблица кодов ошибок

HTTPerror_codeПричинаЧто показать пользователюПовторять?
400invalid_check_inputНекорректные или неполные данные проверки.Попросить исправить данные.Нет, сначала исправить состав запроса.
401unauthorizedAPI-ключ не передан или неверен.Сообщить администратору интеграции.Нет, пока не исправлен ключ.
402insufficient_fundsНедостаточно баланса для боевого запуска.Показать пополнение баланса.Да, после пополнения.
403scope_deniedУ ключа нет права на метод.Попросить выдать нужное право.Нет, пока не изменены права.
404not_foundОбъект не найден или принадлежит другому аккаунту.Проверить ID и API-ключ.Нет, если ID неверный.
409idempotency_conflictIdempotency-Key повторён с другим телом.Создать новый ключ идемпотентности.Да, с новым Idempotency-Key.
413document_too_largeФайл документа превышает лимит.Сжать файл или разделить комплект.Да, после изменения файла.
422validation_errorФормат запроса не прошёл валидацию.Показать ошибки полей в интерфейсе.Нет, пока не исправлен payload.
429rate_limit_exceededПревышен лимит запросов.Показать ожидание и Retry-After.Да, после указанной задержки.
500internal_errorВнутренняя ошибка API.Сохранить request_id и повторить позже.Да, с увеличением задержки.
503source_unavailableВнешний источник временно недоступен.Показать, что источник временно недоступен.Да, позже или через мониторинг.

Правило повторов

Не повторять сразу

400/401/403/422 обычно требуют исправления данных, ключа или прав.

Повторять с задержкой

429/500/503 можно повторять с задержкой и ограничением числа попыток.

Не создавать дубли

Для боевых POST-запросов используйте Idempotency-Key, чтобы повтор не списал баланс повторно.