create_or_edit_order

Работа с любым заказом начинается с его создания, а созидание сопровождается редактированием.

  1. В СКО записывается краткая информация о заказе - Сумма + Номер счёта, если имеется
  2. Если для заказа был распечатан счёт и вызван метод редактирования этого заказа, номер счёта будет сброшен
  3. При редактировании заказа, изменение суммы заказа влечет за собой увеличение счётчиков "Коррекции" или "Сумма заказов"
  4. Если заказ не был закрыт / отменен / оплачен, на момент закрытия смены он увеличивает счётчики "Перемещенных" заказов
  5. Детальная информация о заказе хранится на ФС. В случае ее повреждения и/или несоответствия данным в СКО требуется повторно вызвать этот метод. Если заказ существует в СКО и его сумма совпадает с известной - увеличения счётчиков не произойдет

Взаимодействие

Входные данные:

ПолеТипПримечание
idstringID заказа. Макс. длина - 36 символов
cashierstringКассир, работающий с заказом
tableu32Номер столика
placeu32?Номер места за столиком, если имеется
itemsМассив ItemМассив товарных позиций
markupMoney?Надбавка, если имеется
discountMoney?Скидка, если имеется
prepaymentPayment?Предоплата с указанием способа. На момент оплаты будет преобразовано в тип оплаты "Предоплата"

Ответ:

ПолеТипПримечание
errorsErrors?Объект с ошибками, не связанными с СКО, если они возникали

Пример запроса:

{
  "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
  }
}