> For the complete documentation index, see [llms.txt](https://ytimes-2.gitbook.io/ytimes-kafe/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ytimes-2.gitbook.io/ytimes-kafe/integracii/vneshnii-api/sozdanie-zakaza.md).

# Создание заказа

### Общие концепции

Заказ состоит из 1 или нескольких позиций. Каждая позиция - это блюдо(+вариант порции и выбранные добавки) или товар.

Цены в заказе можно указывать свои, следовать ценам, заданным в программе не обязательно. Таким образом на вашем интернет-магазине могут быть отличные цены от тех, что указаны в кассовой программе.

## /order/save

<mark style="color:green;">`POST`</mark> `https://api.ytimes.ru/ex/order/save`

Создание заказа с выбранными позициями. Данный метод можно вызывать не чаще 60 раз в час. Структура данных заказа (она используется в запросе и она же возвращается в ответ):

\
//Данные заказа\
**OrderRecord** {\
&#x20; guid: *string*,  (при заказа оставляем пустым, используется в ответе, чтобы идентифицировать созданный заказ и отслеживать его статус по данному guid)\
&#x20; status: *string*, (при заказе оставляем пустым, в ответе показывает, в каком статусе создался заказ: CREATED или ACCEPTED)\
&#x20; shopGuid: *string*, (идентификатор торговой точки, на которой создаем заказ)\
&#x20; type: *string*, (тип заказа, возможны варианты: TOGO (на вынос), IN (заказ в зале), DELIVERY (заказ на доставку))\
&#x20; client: *OrderClient*,  (контактные данные клиента, могут отсутствовать)\
&#x20; itemList: *OrderItem\[]*,  (позиции заказа, должна быть хотя бы 1 позиция, максимум 40 позиций в одном заказе) \
&#x20; comment: *string*, (комментарий к заказу, например адрес доставки)\
&#x20; paidValue: *double*, (оплаченная сумма, если клиент уже оплатил заказ. Или 0, если оплата в кафе)\
&#x20; usedPoints: integer, (сколько бонусов списать с этим заказом. При этом цены за позиции в заказе должны быть без учета списания бонусов)\
&#x20; printFiscalCheck: *boolean*,  (требуется или нет автоматически распечатать фискальный чек на кассе кафе при подтверждении заказа)\
&#x20; printFiscalCheckEmail: *string (если требуется распечатать фискальный чек, то в данном поле можно указать email покупателя для отправки электронного фискального чека)*\
}\
\
//Данные клиента. Обязательно указание или телефона или номера существующей карты клиента\
**OrderClient** {\
&#x20; name: *string*,  (имя клиента, без фамилии)\
&#x20; cardNumber: *int*, (номер существующей карты гостя из CRM, если гостю выдавали скидочную карту)\
&#x20; phoneCode: *string*, (международный код номера телефона страны, только цифры. Для РФ это "7")\
&#x20; phone: *string*,  (номер телефона без международного кода, только цифры. Для РФ это 10 цифр, например "9001235533")\
&#x20; email: *string (электронная почта клиента)*\
}\
\
//Данные позиции. Для заказа блюда указать идентификатор блюда и порции menuItemGuid и menuTypeGuid. Для заказа товара указать идентификатор товара: goodsItemGuid.\
**OrderItem** {\
&#x20; guid: *string*,  (идентификатор позиции. Задать пустое значение, используется в ответе)\
&#x20; menuItemGuid: *string*,  (идентификатор блюда)\
&#x20; menuTypeGuid: *string*, (идентификатор порции)\
&#x20; supplementList: *Map\<string, int> (список идентификаторов выбранных добавок и их количество)*\
&#x20; goodsItemGuid: *string*, (идентификатор товара)\
&#x20; priceWithDiscount: *double*, (цена 1 позиции с учетом скидки)\
&#x20; quantity: *int (количество одинаковых позиций, например 2 капучино)* \
}\ <br>

#### Path Parameters

| Name    | Type   | Description  |
| ------- | ------ | ------------ |
| account | string | Имя аккаунта |

#### Headers

| Name          | Type   | Description      |
| ------------- | ------ | ---------------- |
| Authorization | string | Ключ авторизации |

#### Request Body

| Name      | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| json body | string | <p>в теле запроса отправляется JSON OrderRecord, пример заполнения заказа из 2-х позиций (блюда с добавками и товара):<br><br>{<br>  "shopGuid" : "773feebe-747d-40b8-8480-cac2bb3f25da", <br>  "type" : "DELIVERY", <br>  "client" : { <br>    "name" : "Федор", "cardNumber" : null,<br>    "phoneCode" : "+7", <br>    "phone" : "9001112233", <br>    "email" : "<example@ytimes.ru>" <br>  }, <br>  "itemList" : \[ { <br>    "menuItemGuid" : "f7595624-e026-4720-9bde-22a3daf51a1b", <br>    "menuTypeGuid" : "48022c7e-8aab-4151-a219-7cf7f024820f", <br>    "supplementList" : { <br>      "58da5f2a-8730-417d-9bfb-546aecf01df4" : 1, <br>      "574f342a-83ab-4344-8aee-d2beffde1eb2" : 2 }, "<br>    goodsItemGuid" : null, <br>    "priceWIthDiscount" : 105.0, <br>    "quantity" : 2 <br>  }, { <br>    "guid" : null, <br>    "menuItemGuid" : null, <br>    "menuTypeGuid" : null, <br>    "supplementList" : null, <br>    "goodsItemGuid" : "14e760be-5b16-48b0-936e-ea3d33449bd2", <br>    "priceWIthDiscount" : 110.0, <br>    "quantity" : 1 } ], <br>  "comment" : "Комментарий к заказу", <br>  "paidValue" : 320.0, <br>  "printFiscalCheck" : true, <br>  "printFiscalCheckEmail" : "<email@ytimes.ru>" <br>}<br></p> |

{% tabs %}
{% tab title="200 В ответ при создании заказа возвращается та же структура, что и в запросе. В данной структуре прописывается GUID созданного заказа. Его необходимо запомнить, чтобы затем получить статус заказа, когда он изменится.
Так же в ответе будет указан статус заказа: CREATED (если заказ только создан и ожидает действий кассира) или ACCEPTED (если заказ подтвержден программой автоматически без действий кассира)" %}

```javascript
{
  "guid": "9c2adf72-b573-437f-b2d5-f6d016a1f130",
  "shopGuid" : "773feebe-747d-40b8-8480-cac2bb3f25da",
  "type" : "DELIVERY",
  "client" : {
    "name" : "Федор",
    "cardNumber" : null,
    "phoneCode" : "+7",
    "phone" : "9001112233",
    "email" : "example@ytimes.ru"
  },
  "itemList" : [ {
    "guid" : "39734e1d-5353-4f22-941f-e2d7e7d4ea55",
    "menuItemGuid" : "f7595624-e026-4720-9bde-22a3daf51a1b",
    "menuTypeGuid" : "48022c7e-8aab-4151-a219-7cf7f024820f",
    "supplementList" : {
      "58da5f2a-8730-417d-9bfb-546aecf01df4" : 1,
      "574f342a-83ab-4344-8aee-d2beffde1eb2" : 2
    },
    "goodsItemGuid" : null,
    "priceWIthDiscount" : 105.0,
    "quantity" : 2
  }, {
    "guid" : "1584ff15-7b89-458e-99e8-f9dc7dfa83b5",
    "menuItemGuid" : null,
    "menuTypeGuid" : null,
    "supplementList" : null,
    "goodsItemGuid" : "14e760be-5b16-48b0-936e-ea3d33449bd2",
    "priceWIthDiscount" : 110.0,
    "quantity" : 1
  } ],
  "comment" : "Комментарий к заказу",
  "paidValue" : 320.0,
  "printFiscalCheck" : false,
  "printFiscalCheckEmail" : null
}
```

{% endtab %}
{% endtabs %}
