ValidateOrder
Назначение | Валидация и расчет стоимости заказа в ресторане |
---|---|
Тип запроса | асинхронный/синхронный |
Поддерживаемая версия агента | v2 |
PluggetSystemType | RKMid |
{
"taskType": " ValidateOrder",
"params": {
"sync": {
"objectId": number,
"timeout": number,
"systemName": "string"
},
"order": {
"products": [
{ // простой вариант
"id": number,
"name": "string",
"price": "string", // в кассе смотрят на цену из кассы, параметр не обязателен
"quantity": number,
"comment": "string"
},
{ // вариант с модификаторами или комбо
"id": number,
"name": "string",
"price": number, // в кассе смотрят на цену из кассы, параметр не обязателен
"quantity": number,
"comment": "string"
"ingredients": [ //массив модификаторов или элементов комбо
{
"id": number,
"name": "string",
"quantity": number,
"price": number // в кассе смотрят на цену из кассы, параметр не обязателен
}
]
}
],
"comment": "string",
"tableCode": number,
"orderCategoryCode": number,
"orderTypeCode": number
}
}
}
Параметр | Тип | Обязательный | Описание | Значение по умолчание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
async | - | Асинхронный вызов метода (либо синхронный, либо асинхронный) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sync | - | Синхронный вызов метода (либо синхронный, либо асинхронный) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeout | int | - | Время ожидания ответа от агента в секундах | 120 секунд | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
objectId | int | да | Код ресторана в системе лицензирования | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
systemName | string | нет | Указание конкретной подключенной системы, для которой выполняется запрос | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order | да | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Формат синхронного ответа
// Успешный ответ, заказ принят на кассе
{
"taskResponse": {
"order": {
.....//Состав заказа и стоимость
}
},
"responseCommon": {
"taskGuid": "guid",
"taskType": "ValidateOrder",
"objectId": number
}
}
// Ответ с ошибкой
{
"responseCommon": {
"taskGuid": "string",
"taskType": "ValidateOrder",
"objectId": number
},
"error": {
"wsError": {
"code": "string",
"desc": "string"
},
"agentError": {
"code": string,
"desc": "string"
}
}
}
Параметр | Тип параметра | Обязательный | Описание |
---|---|---|---|
order | object | + | Информация о заказе с рассчитанной стоимостью на кассе |
error | string enum | - | Контейнер ошибок, см. Описание ошибок |
{
"taskType": "ValidateOrder",
"params": {
"sync": {
"objectId": "199990246",
"timeout": 120
},
"order": {
"products": [
{
"id": "1000016",
"name": "Борщ",
"quantity": 1
},
{
"id": "1000016",
"name": "Борщ",
"quantity": 1
},
{
"id": "1000017",
"name": "Сало",
"quantity": 1
},
{
"id": 1000056,
"name": "БСС",
"quantity": 1,
"price": 150,
"ingredients": [
{
"id": 1000047,
"name": "Борщ",
"price": 150,
"quantity": 1,
"ingredients": [
{
"id": 1000066,
"name": "Майонез",
"price": 0,
"quantity": 1
},
{
"id": 1000065,
"name": "Сметана",
"price": 0,
"quantity": 1
}
]
}
]
},
{
"id": 1000056,
"name": "БСС",
"quantity": 1,
"price": 150
}
],
"comment": "основной комментарий"
}
}
}
С ошибкой
{
"responseCommon": {
"taskGuid": "1dfcf4ea-6533-447e-b1f6-e8c6dea04567",
"taskType": "ValidateOrder",
"objectId": 199990246,
"agentGuid": "d564619a-50c3-3d87-0816-de67ed9c8e18"
},
"error": {
"agentError": {
"code": "WsaOrderCreationDishNotFound",
"desc": "WsaOrderCreationDishNotFound: Блюдо \"Борщ\" с ID 1010016 не найдено в меню"
}
}
}
Успешно
{
"taskResponse": {
"order": {
"products": [
{
"id": 1000016,
"name": "Борщ",
"price": 117,
"quantity": 1,
"ingredients": [],
"kdsState": "None",
"discountIds": []
},
{
"id": 1000016,
"name": "Борщ",
"price": 117,
"quantity": 1,
"ingredients": [],
"kdsState": "None",
"discountIds": []
},
{
"id": 1000017,
"name": "Сало",
"price": 50,
"quantity": 1,
"ingredients": [],
"kdsState": "None",
"discountIds": []
},
{
"id": 1000056,
"name": "БСС",
"price": 150,
"quantity": 1,
"ingredients": [
{
"id": 1000047,
"name": "Борщ",
"price": 150,
"quantity": 1,
"ingredients": [
{
"id": 1000066,
"name": "Майонез",
"price": 0,
"quantity": 1,
"ingredients": [],
"kdsState": "None"
},
{
"id": 1000065,
"name": "Сметана",
"price": 0,
"quantity": 1,
"ingredients": [],
"kdsState": "None"
}
],
"kdsState": "None"
}
],
"kdsState": "None",
"discountIds": []
},
{
"id": 1000056,
"name": "БСС",
"price": 150,
"quantity": 1,
"ingredients": [
{
"id": 1000047,
"name": "Борщ",
"price": 150,
"quantity": 1,
"ingredients": [],
"kdsState": "None"
}
],
"kdsState": "None",
"discountIds": []
}
],
"price": {
"total": 584,
"sumToPay": 584
}
}
},
"responseCommon": {
"taskGuid": "9f974f18-1727-4800-947c-2ca7ec215631",
"taskType": "ValidateOrder",
"objectId": 199990246,
"agentGuid": "d564619a-50c3-3d87-0816-de67ed9c8e18"
}
}