Модели перечислены отдельно и раскрываются также непосредственно у методов, где они используются.
Контракт ошибок
Как API возвращает прикладные ошибки
Код ошибки одинаков для всех локалей, а текст для пользователя переводится сервером. Поэтому бизнес-логику стройте по error, а localMessage используйте только для отображения.
error
Стабильный машинный код ошибки для логики интеграции.
localMessage
Готовое сообщение на языке пользователя API-токена.
params
Значения
文
Язык localMessage определяется полем lang пользователя, которому принадлежит API-токен. Язык страницы документации и заголовок Accept-Language его не переключают; если язык пользователя не указан, используется русский.
RUПользователь с локалью ru
{
"error": "error_brand_already_exists",
"localMessage": "Бренд Base уже существует",
"params": {
"name": "Base"
}
}
Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑
401auth_required
Требуется авторизация
Заголовок Authorization отсутствует, пуст или содержит недействительный токен.
400error_access_denied
Недостаточно прав
Токен существует, но его роль не позволяет выполнить операцию.
500error_unknown
Непредвиденная ошибка
Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.
400error_no_client
Клиент не найден или был удален. Напишите в поддержку
Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
400error_order_not_found
Заказ не найден
Персональная ошибка этого метода. Для программной логики используйте стабильный код error_order_not_found; localMessage содержит приведённый выше перевод.
400error_storage_size_exceeded
Вы превысили лимит на размер хранилища файлов: {limit} Мб
Персональная ошибка этого метода. Для программной логики используйте стабильный код error_storage_size_exceeded; localMessage содержит приведённый выше перевод.