create_or_edit_order
Работа с любым заказом начинается с его создания, а созидание сопровождается редактированием.
- В СКО записывается краткая информация о заказе -
Сумма
+Номер счёта
, если имеется - Если для заказа был распечатан счёт и вызван метод редактирования этого заказа, номер счёта будет сброшен
- При редактировании заказа, изменение суммы заказа влечет за собой увеличение счётчиков "Коррекции" или "Сумма заказов"
- Если заказ не был закрыт / отменен / оплачен, на момент закрытия смены он увеличивает счётчики "Перемещенных" заказов
- Детальная информация о заказе хранится на ФС. В случае ее повреждения и/или несоответствия данным в СКО требуется повторно вызвать этот метод. Если заказ существует в СКО и его сумма совпадает с известной - увеличения счётчиков не произойдет
Взаимодействие
Входные данные:
Поле | Тип | Примечание |
---|---|---|
id | string | ID заказа. Макс. длина - 36 символов |
cashier | string | Кассир, работающий с заказом |
table | u32 | Номер столика |
place | u32? | Номер места за столиком, если имеется |
items | Массив Item | Массив товарных позиций |
markup | Money? | Надбавка, если имеется |
discount | Money? | Скидка, если имеется |
prepayment | Payment? | Предоплата с указанием способа. На момент оплаты будет преобразовано в тип оплаты "Предоплата" |
Ответ:
Поле | Тип | Примечание |
---|---|---|
errors | Errors? | Объект с ошибками, не связанными с СКО, если они возникали |
Пример запроса:
{
"address": "ik.service.token.orders",
"type": "send",
"headers": {
"action": "create_or_edit_order"
},
"data": {
"id": "test_id",
"cashier": "test",
"table": 1,
"items": [
{
"code": {
"code": "1059429"
},
"price": "10.99",
"quantity": "1.000",
"name": "Вазелин"
}
]
}
}
Пример успешного запроса:
{
"type": "send",
"data": {
"errors": null
}
}