UpdateOrder
Назначение | Обновить состав заказа в ресторане по идентификатору заказа и objectId |
---|---|
Тип запроса | Асинхронный/синхронный |
Поддерживаемая версия агента | v2 |
PluggetSystemType | RKMid |
Формат запроса
{
"taskType": "UpdateOrder",
"params": {
"async": {
"objectId": number,
"timeout": number
},
"sync": {
"objectId": number,
"timeout": number
},
"orderGuid": "uuid",
"products": [
{ // простой вариант
"id": number,
"name": "string",
"price": number, // в кассе смотрят на цену из кассы, параметр не обязателен
"quantity": number,
"discountIds": [
{
"id": number,
"value":number
}
]
},
{ // вариант с модификаторами или комбо
"id": number,
"name": "string",
"price": number, // в кассе смотрят на цену из кассы, параметр не обязателен
"quantity": number,
"ingredients": [ //массив модификаторов или элементов комбо
{
"id": number,
"name": "string",
"quantity": number,
"price": number, // в кассе смотрят на цену из кассы, параметр не обязателен
"ingredients": [ //массив модификаторов для комбо-компонентов. Только с версии агента 2.7.9.1
{
"id": number,
"name": "string",
"quantity": number,
"price": number // в кассе смотрят на цену из кассы, параметр не обязателен
}
]
}
]
}
],
"delivery": {
"address": {
"comment": "string",
"fullAddress": "string"
}
},
"discountIds": [
number,
number
],
// или
"discountIds": [
{
"id": number,
"value":number
}
],
}
}
JSON
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
async | Асинхронный вызов метода: либо синхронный, либо асинхронный | ||
sync | Синхронный вызов метода: либо синхронный, либо асинхронный | ||
timeout | int | нет | Время ожидания ответа от агента в секундах. По умолчанию — 120 секунд |
objectId | int | да | Код ресторана в системе лицензирования |
orderGuid | uuid | да | Уникальный идентификатор заказа |
products | array | нет | Состав заказа. Если не указано, обновление состава не происходит |
- id | int | да | Идентификатор блюда |
- name | string | Название блюда | |
- price | money | Цена за одно блюдо. Разделителем целой и дробной части суммы должна быть точка | |
- quantity | money | да | Количество блюд |
- ingredients | array | Ингредиенты или состав комбо-блюда | |
– id | int | да | Идентификатор ингредиента |
- discountIds | Массив идентификаторов кассовых скидок для блюда. Скидку надо задавать обязательно, иначе произойдет удаление | ||
- id | Идентификатор скидки | ||
- value | Значение скидки. Указывается сумма или процент. 0 – полное применение скидки. Можно задавать как положительное, так и отрицательные значения | ||
discountIds | int[]/ object[] | нет | Массив идентификаторов кассовых скидок GetRefData(DISCOUNTS).Ident. Если скидка была указана при создании заказа, то при UpdateOrder обязательно нужно её указать, иначе произойдет удаление скидки |
- id | int | да | Идентификатор скидки |
- value | decimal | нет | Значение скидки. Указывается сумма или процент. 0 – полное применение скидки. Можно задавать как положительное, так и отрицательные значения |
delivery | object? | нет | Доставка курьером ресторана |
|- address | object? | нет | Адрес |
|- comment | string? | нет | Комментарий к адресу. Если не указано или null, обновление не происходит |
|- fullAddress | string? | нет | Адрес доставки. Если не указано или null, обновление не происходит |
Формат ответа
{
"responseCommon":{
"taskGuid":"guid",
"taskType":"UpdateOrderProducts",
"objectId":number
},
"error":{
"wsError":{
"code":"string",
"desc":"string"
}
}
}
JSON
Параметр | Тип | Описание |
---|---|---|
-taskGuid | guid | Уникальный код этой задачи. Используется при получении задачи через очередь |
-taskType | string enum | Тип задачи |
-objectId | int | Код ресторана в системе лицензирования |
error | Контейнер ошибок, подробнее читайте в статье Описание ошибок |