PatchOrder
| Назначение | Изменение полей заказа без изменения состава заказа |
|---|---|
| Тип запроса | асинхронный/синхронный |
| Поддерживаемая версия агента, SH | WSA v2.8.5.7 |
| PluggetSystemType | RKMid |
Формат запроса
{
"taskType": "PatchOrder",
"params": {
"sync": {
"objectId": number,
"timeout": number
},
"orderGuid": "string",
"fields":[
{ "name": "string", "value": "string"}
]
}
}
Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| taskType | string | + | Тип задачи (PatchOrder) |
| sync | Синхронный вызов метода (либо синхронный, либо асинхронный) | ||
| |-timeout | int | - | Время ожидания ответа от агента в секундах, по умолчанию 120 секунд |
| |-objectId | int | + | Код ресторана в системе лицензирования |
| orderGuid | guid | + | Guid заказа в кипере |
| fields | array | + | Массив: список изменяемых полей |
| |- name | string | + | Наименование изменяемого поля. Список доступных к изменению полей см. в таблице ниже |
| |- value | string | + | Новое значение поля. Может быть null – старое значение удаляется |
Список полей, доступных для обновления:
Наименование | Описание |
|---|---|
ChangeBackFrom | Сумма, с которой необходима сдача |
Comment | Комментарий к заказу |
Delivery.Courier.Name | Имя курьера доставки |
Delivery.Courier.Phone | Телефон курьера доставки |
Delivery.Address | Адрес доставки |
Delivery.Address.Comment | Комментарий к адресу доставки |
PayMethod | Способ оплаты |
| DeliveryManager | "Менеджер доставки" — менеджер, который является основным менеджером по заказу |
| DeliveryOperator | "Доставка - оператор" — оператор КЦ, который является основным оператором по заказу |
| IsDeferred | "Отложенный заказ" — это признак в явном виде того, что заказ является отложенным |
| GuestsCount | Количество гостей. Должно быть числом больше 0. Новые гости создаются с меткой, обозначающей порядковый номер |
| TableCode | Код стола |
| Booking | Должно быть в формате "ГГГГ-ММ-ДДTЧЧ:ММ:СС ЧЧ:ММ" т.е. дата и время брони и через пробел продолжительность брони, например: "2025-03-13T15:00:00 02:30" Важно: полноценно работает, только если заказ изначально был создан как бронь. Т.к. если заказ уже пошел в работу, то его нельзя вернуть в бронирование. Подразумевается, что блюда по этому заказу уже могли начать готовиться. |
Site | Место расчета |
IsCalcInInternet | Признак расчета в интернете (значение "true" или "false") |
Формат ответа
// Успешный ответ {
"taskResponse": {
"fields": [
{
"name": "string",
"isSuccess": boolean,
"error": null | "string"
}
]
},
"responseCommon": {
"taskGuid": "string",
"taskType": "PatchOrder",
"objectId": number,
"agentGuid": "string"
}
}
// Ответ с ошибкой
{
"responseCommon": {
"taskGuid": "string",
"taskType": "PatchOrder",
"objectId": number
},
"error": {
"wsError": {
"code": "string",
"desc": "string"
},
"agentError": {
"code": "string",
"desc": "string"
}
}
}
Параметр | Тип параметра | Обязательный | Описание |
|---|---|---|---|
| fields | array | + | Массив: список изменяемых полей |
| |- name | string | + | Наименование изменяемого поля |
| |- isSuccess | boolean | + | Поле изменено успешно/не обновлено (см. error) |
| |- error | string | - | Описание ошибки если поле не обновлено |
Пример запроса
{
"taskType": "PatchOrder",
"params": {
"sync": {
"objectId": "199990246",
"timeout": 120
},
"orderGuid": "0bf84cf5-754c-4b60-9aa7-ef6b33d02be9",
"fields":[
{ "name": "Comment", "value": "Тестовый комментарий из патча"},
{ "name": "PayMethod", "value": "Наличные"},
{ "name": "Delivery.Address", "value": "37 лет Победы 1/3"},
{ "name": "Delivery.Courier.Name", "value": "Иван И.И."},
{ "name": "Delivery.Courier.Phone", "value": "+79876543210"},
{ "name": "ChangeBackFrom", "value": "5000"},
{ "name": "Delivery.Address.Comment", "value": "Победная парадная"}
{ "name": "DeliveryManager", "value": "Иван Менеджер"},
{ "name": "DeliveryOperator", "value": "Оператор Ксения"},
{ "name": "IsDeferred", "value": "true"},
{ "name": "Booking", "value": "2025-08-09T14:52:28 16:50"},
{ "name": "GuestCount", "value": "1"},
{ "name": "TableCode", "value": "2"}
{ "name": "Site", "value": "Test"},
{ "name": "IsCalcInInternet", "value": "false"}
]
}
}
Пример ответа
{
"taskResponse": {
"fields": [
{
"name": "Comment",
"isSuccess": true
},
{
"name": "PayMethod",
"isSuccess": true
},
{
"name": "Delivery.Address",
"isSuccess": true
},
{
"name": "Delivery.Courier.Name",
"isSuccess": true
},
{
"name": "Delivery.Courier.Phone",
"isSuccess": true
},
{
"name": "ChangeBackFrom",
"isSuccess": true
},
{
"name": "Delivery.Address.Comment",
"isSuccess": true
"name": "DeliveryManager",
"isSuccess": true
},
{
"name": "DeliveryOperator",
"isSuccess": true
},
{
"name": "IsDeferred",
"isSuccess": true
},
{
"name": "Booking",
"isSuccess": true
},
{
"name": "GuestCount",
"isSuccess": true
},
{
"name": "TableCode",
"isSuccess": true
},
{
"name": "Site",
"isSuccess": true
},
{
"name": "IsCalcInInternet",
"isSuccess": true
}
]
},
"responseCommon": {
"taskGuid": "3bc26173-c9a8-486b-9f7a-e68b4159b5c8",
"taskType": "PatchOrder",
"objectId": 199990246,
"agentGuid": "d564619a-50c3-3d87-0816-de67ed9c8e18"
}
}