Создание заказа
Общие концепции
Заказ состоит из 1 или нескольких позиций. Каждая позиция - это блюдо(+вариант порции и выбранные добавки) или товар.
Цены в заказе можно указывать свои, следовать ценам, заданным в программе не обязательно. Таким образом на вашем интернет-магазине могут быть отличные цены от тех, что указаны в кассовой программе.
/order/save
POST
https://api.ytimes.ru/ex/order/save
Создание заказа с выбранными позициями. Данный метод можно вызывать не чаще 60 раз в час. Структура данных заказа (она используется в запросе и она же возвращается в ответ):
//Данные заказа OrderRecord { guid: string, (при заказа оставляем пустым, используется в ответе, чтобы идентифицировать созданный заказ и отслеживать его статус по данному guid) status: string, (при заказе оставляем пустым, в ответе показывает, в каком статусе создался заказ: CREATED или ACCEPTED) shopGuid: string, (идентификатор торговой точки, на которой создаем заказ) type: string, (тип заказа, возможны варианты: TOGO (на вынос), IN (заказ в зале), DELIVERY (заказ на доставку)) client: OrderClient, (контактные данные клиента, могут отсутствовать) itemList: OrderItem[], (позиции заказа, должна быть хотя бы 1 позиция, максимум 40 позиций в одном заказе) comment: string, (комментарий к заказу, например адрес доставки) paidValue: double, (оплаченная сумма, если клиент уже оплатил заказ. Или 0, если оплата в кафе) usedPoints: integer, (сколько бонусов списать с этим заказом. При этом цены за позиции в заказе должны быть без учета списания бонусов) printFiscalCheck: boolean, (требуется или нет автоматически распечатать фискальный чек на кассе кафе при подтверждении заказа) printFiscalCheckEmail: string (если требуется распечатать фискальный чек, то в данном поле можно указать email покупателя для отправки электронного фискального чека) } //Данные клиента. Обязательно указание или телефона или номера существующей карты клиента OrderClient { name: string, (имя клиента, без фамилии) cardNumber: int, (номер существующей карты гостя из CRM, если гостю выдавали скидочную карту) phoneCode: string, (международный код номера телефона страны, только цифры. Для РФ это "7") phone: string, (номер телефона без международного кода, только цифры. Для РФ это 10 цифр, например "9001235533") email: string (электронная почта клиента) } //Данные позиции. Для заказа блюда указать идентификатор блюда и порции menuItemGuid и menuTypeGuid. Для заказа товара указать идентификатор товара: goodsItemGuid. OrderItem { guid: string, (идентификатор позиции. Задать пустое значение, используется в ответе) menuItemGuid: string, (идентификатор блюда) menuTypeGuid: string, (идентификатор порции) supplementList: Map<string, int> (список идентификаторов выбранных добавок и их количество) goodsItemGuid: string, (идентификатор товара) priceWithDiscount: double, (цена 1 позиции с учетом скидки) quantity: int (количество одинаковых позиций, например 2 капучино) }
Path Parameters
Headers
Request Body
Last updated