Общий формат ошибок

{
  "error": {
    "wsError": {
      "code": "string",
      "extCode": "string",
      "desc": "string"
    },
    "agentError": {
      "code": 0,
      "desc": "string"
    },
    "rkError": {
      "code": 0,
      "desc": "string"
    },
    "shError": {
      "code": 0,
      "desc": "string"
    }
  }
}

Описание параметров

ПараметрТип параметраОбязательныйОписание
- wsErrorstring enum
Ошибка Whiteserver
– codestring
Код ошибки
– extCodestring
Расширенный код ошибки
– descstring
Описание ошибки
- agentErrorstring enum
Ошибка Агента
– codeint
Код ошибки
– descstring
Описание ошибки
- rkErrorstring enum
Ошибка Rkeeper
– codeint
Код ошибки
– descstring
Описание ошибки
- shErrorstring enum
Ошибка Store House
– codeint
Код ошибки
– descstring
Описание ошибки

Коды ошибок

codeextCodedesc/описание
BadRequest
Произошла ошибка в постановке запроса, может вернуться детальное описание ошибки.
InternalError
Внутренняя ошибка сервера
Timeout
Не удалось выполнить запрос к агенту за отведённое время, по умолчанию 2 минуты. Возможные причины: нет связи агента с сервером, агент не запущен, не настроен, долго обрабатывался запрос.
AuthFailed
Ошибка авторизации, не корректный токен.
LicenseWsAgentWsAgent (agentID: {agentId}) - Не найдена лицензия WsAgent
LicenseWsAggregatorWsAggregator (aggregatorID: {aggregatorId}) - Не найдена лицензия WsAggregator
LicenseWsProductWsProduct(abstract soft) (agentID: {agentId}) - Не найдена лицензия WsProduct (Название индивидуально для агрегаторов)
WsaDuplicateOrder
Заказ с тем же внешним ID уже поступал в агент на создание           
WsaOrderCanceledOnKass
Создание заказа отклонено на кассе 
WsaOrderCreationCancellation
Ошибка отмены создаваемого заказа (создание заказа нужно было отменить, но произошла ошибка)
WsaOrderCreationCancelled
Создание заказа прекращено из-за внутренней ошибки
WsaNoOneGuidSpecifiedForOrderSearching
Для поиска заказа не заданы ни идентификатор заказа R-Keeper, ни идентификатор задачи на его создание.
WsaOrderCanceledOnKass
Задача создания заказа отменена на кассе
WsaFillingOrderError
Ошибка при заполнении созданного пустого заказ в R-Keeper (например, принтер не доступен..)
WsaOrderError
Общая ошибка при работе с заказами R-Keeper
WsaOrderCreationComboComponentNotFound
Компонент комбо-блюда из заказа не найден в меню
WsaOrderCreationDishNotFound
Блюдо из заказа не найдено в меню
WsaOrderCreationSelectorNotFound
Не найден селектор меню с указанным блюдом
WsaOrderIgnoredOnPos
Кассир не успел отреагировать на заказ (и автосоздание заказа отключено в конфигурации Агента)
WsaOrderingPreferencesError
Некорректная конфигурация механизма работы с заказами
WsaOrderingSettingNotSpecified
Не задан параметр конфигурации, необходимый для работы с заказом
WsaOrderMenuIsUnknownError
Меню не было запрошено перед созданием заказа (может возникнуть вскоре после первичной установки Агента)
WsaOrderValidationError
Ошибка валидации заказа в R-Keeper
WsaPriceNotSpecifiedForOnlineOrder
Для создаваемого онлайн-заказа не указа цена (price.total)
WsaRk7QueryParseError
Ошибка разбора XML-запроса к R-Keeper (при обработке задачи ExecuteRk7Query)
WsaPluginException
Исключение, возникшее при обработке задачи плагином
WsError
Ошибка, которую прислал WhiteServer
WsaConnectionSettingsUpdatingError
Сбой обновления настроек подключения к WhiteServer
WsaCommandHandling
Ошибка обработки команды
WsaCommandNotSupported
Агент не поддерживает команду
WsaHandshakeError
Сбой при сообщении на WhiteServer о включении Агента
WsaHttpRequest
Сбой при отправке HTTP запроса
WsaHttpStatus
Статус HTTP-ответа отличается от 200 ОК.
WsaInvalidSettings
Некорректные настройки (например, настройки логирования)
WsaInvalidWsConnectionSettings
Некорректные настройки подключения к WhiteServer
WsaParseError
Ошибка разбора Json-разбора ответа от WhiteServer
WsaSendRequest
Ошибка отправки запроса к WhiteServer
WsaLogNotFoundError
Файл запрошенного журнала не найден
WsaUpdatingError
Ошибка установки пакета обновления
WsaSqlError
Ошибка обработки задачи на выполнение запроса к SQL-серверу (сервер отчётов R-Keeper)
WsaSh5Error
Общая ошибка обработки задачи для StoreHouse
WsaSh5ProcedureNotAlowed
Вызов указанной процедуры запрещён
WsaSh5ProcedureNotSpecified
В запросе к StoreHouse не указано название процедуры
Название исключения .net (например, InvalidOperationException)

Если по какой-то причине исключение при обработке задачи не будет обёрнуто в вышеперечисленные исключения, то на WhiteServer вернётся ошибка вида { "code": "SomeDotNetException", "desc": "Описание ошибки" }

Например, так будут оборачиваться исключения, брошенные из плагинов.

Если в типе исключения есть открытое свойство с именем "Code", то именно его строковое значение будет помещено в поле "code" ответа Агента.

Примеры ошибок

Пример: BadRequest - параметр запроса не соответствует модели

{
  "error": {
    "wsError": {
      "code": "BadRequest",
      "desc": "Invalid request structure"
    }
  }
}

Пример: AuthFailed - попытка отправить команду без авторизации / с недействительным токеном

{
  "error": {
    "wsError": {
      "code": "AuthFailed"
    }
  }
}

Пример: Timeout - агент недоступен

{
  "responseCommon": {
    "taskGuid": "49a50e51-46f0-41d7-825e-ac10e1c33faa",
    "taskType": "GetOrder",
    "objectId": 199990106
  },
  "error": {
    "wsError": {
      "code": "Timeout"
    }
  }
}

Пример: License - нет лицензии для агента

{
  "responseCommon": {
    "taskGuid": "fe5bc9ff-61cf-4f8f-8ae6-cf6d27627fb1",
    "taskType": "GetStopList",
    "objectId": 199995855
  },
  "error": {
    "wsError": {
      "code": "License",
      "desc": "WsAgent"
    }
  }
}