Skip to content
  1. Компоненты
  2. MiniShop3
  3. Разработка
  4. Web API
  5. Ошибки

Ошибки ​

Форма ​

json
{
  "success": false,
  "message": "…",
  "code": 400,
  "errors": null,
  "error_code": "bad_request"
}
ПолеСмысл
codeHTTP-статус
errorsКарта полей или null (ключ есть всегда)
error_codeМашинный код
dataЕсть только тогда, когда его передали

Ключ errors есть в теле ошибки всегда (часто с null), error_code — обычно. Поля валидации приходят либо в errors, либо в data: зависит от сценария.

Значения error_code ​

Полный перечень из ApiErrorCode — двенадцать значений: validation_failed, unauthorized, token_required, token_expired, token_invalid, not_found, conflict, rate_limited, business_rule, bad_request, forbidden, internal_error. Других ядро не отдаёт; дополнение может прислать свой код через Response::errorWithCode().

HTTP ​

СтатусКогда
400Валидация, некорректный запрос
401Токена нет, он просрочен или испорчен
404Сущность не найдена
409Конфликт
429Rate limit
500Внутренняя ошибка

Код 403 на фронтенде встречается реже, чем 401 и 400.

В TypeScript описывайте ответ как union: success | error с error_code и необязательным errors.

Rate limit ​

RateLimitMiddleware: настройки ms3_rate_limit_max_attempts, ms3_rate_limit_decay_seconds. Превышение → 429 / rate_limited.

См. CORS и rate limit.