CreateOrder
| Назначение | Создать заказ или забронировать стол в ресторане по objectId |
|---|---|
| PluggetSystemType | RKMid |
Формат запроса
ЗАПРОС
{
"taskType": "CreateOrder",
"params": {
"sync": {
"objectId": number,
"timeout": number,
"systemName": "string"
},
"cashStationId": number,
"order": {
"withRkId": "GUID",
"rkFriendsAnchor": "GUID"
"originalOrderId": "string",
"sourceOrderId": "string",
"payMethod": "string",
"booking":{
"time": "string",
"duration":{
"hours": number,
"minutes": number
},
"remindTime": "string"
},
"expectedStartTime": "string",
"customer": {
"name": "string",
"phone": "string",
"email": "string",
"loyalty":{
"clientId": number,
"cardCode": "string"
"interfaceCode": number
}
},
"pickup": {
"courier": {
"name": "string",
"phone": "string"
},
"expectedTime": "2019-10-17T00:00:00+03:00",
"taker": "customer"
},
"payment": {
"type": "string",
"nettingPayment": boolean,
"deliveryFee": number
},
"expeditionType": "string",
"delivery": {
"expectedTime": "2008-10-17T00:00:00+03:00",
"address": {
"fullAddress": "string",
"subway": "string",
"region": "string",
"city": {
"name": "string"
},
"street": {
"name": "string"
},
"houseNumber": "string",
"flatNumber": "string",
"entrance": "string",
"intercom": "string",
"floor": "string",
"coordinates": {
"latitude": "string",
"longitude": "string"
},
"comment":"string"
},
"courier": {
"name": "string",
"phone": "string"
}
},
"changeBackFrom": number,
"products": [
{ // простой вариант
"id": number,
"name": "string",
"price": "string", // в кассе смотрят на цену из кассы, параметр не обязателен
"quantity": number,
"comment": "string",
"discountIds": [
{
"id": number,
"value":number
}
],
"yandexPromos": [
{
"type": "string",
"discount: number
}
]
},
{ // вариант с модификаторами или комбо
"id": number,
"name": "string",
"price": number, // в кассе смотрят на цену из кассы, параметр не обязателен
"quantity": number,
"comment": "string"
"ingredients": [ //массив модификаторов или элементов комбо
{
"id": number,
"name": "string",
"quantity": number,
"price": number, // в кассе смотрят на цену из кассы, параметр не обязателен
"comment": string,
"yandexPromos": [
{
"type": "string",
"discount: number
}
],
"ingredients": [ //массив модификаторов для комбо-компонетов. Только с версии агента 2.7.9.1
{
"id": number,
"name": "string",
"quantity": number,
"price": number // в кассе смотрят на цену из кассы, параметр не обязателен
}
]
}
]
}
],
"platform": "string",
"comment": "string",
"price": {
"total": number
},
"personsQuantity": number,
"tableCode": number,
"extraTableCodes": [
1,
2
],
"orderCategoryCode": number,
"orderTypeCode": number,
"prePayments": [
{
"amount": number,
"currency": "guid",
"cardCode": "string",
"promised": bool
}
],
"guestTypeId": number,
"discountIds": [
number,
number
],
// или
"discountIds": [
{
"id": number,
"value":number
}
],
"source": "string",
"yandexPromos": [
{
"type": "string",
"discount: number
}
],
"deliveryManager": "string",
"deliveryOperator": "string",
"isDeferred": "string",
"site": "string",
"isCalcInInternet": boolean,
"yndexEatsPartnerName": "string",
"yndexEatsAuthorization": "string",
"yndexEatsOrderId": "string",
}
| Параметр | Тип | Обязательный | Описание | Значение по умолчанию | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sync | - | Синхронный вызов метода (либо синхронный, либо асинхронный. Для этого изменить на "async") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |-timeout | int | - | Время ожидания ответа от агента в секундах | 120 секунд | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |-objectId | int | да | Код ресторана в системе лицензирования | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |-systemName | string | нет | Указание конкретной подключенной системы для которой выполняется запрос | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cashStationId | int | - | ID кассовой станции, если не указан, берется из параметров ресторана установленных в админке WS При указании кассовой станции с мида, отличного от выбранного в Параметрах создания заказа, указываем этот мид в поле systemName | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| order | да | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Примечания | |
| 1 | На текущий момент игнорируется WSA2 (опечатки в названии полей на стороне WSA) |
| 2 | На текущий момент игнорируется DTO WS (полей нет в DTO) |
| 3 | Поле отсутствует в DTO мультиагента (сервис доставки) |
| 4 | Поле присутствует в DTO мультиагента (сервис доставки) но не используется в логике |
Формат ответа
Успешный ответ, заказ принят на кассе
Успешный ответ, заказ принят на кассе
{
"taskResponse": {
"order": {
"orderGuid": "guid",
"status":{
"value": "string"
},
"substate": "string",
"waiterId": number,
"tableCode": number,
"queuePosition": "string"
}
},
"responseCommon": {
"taskGuid": "guid",
"taskType": "CreateOrder",
"objectId": number
}
}
Успешный ответ, заказ не принят на кассе
Успешный ответ, заказ не принят на кассе
{
"taskResponse": {
"order": {
"status": {
"value": "string"
},
"rejectingReason": {
"code": "string",
"message": "string"
}
}
},
"responseCommon": {
"taskGuid": "string",
"taskType": "CreateOrder",
"objectId": number
}
}
| Параметр | Тип параметра | Обязательный | Описание |
| orderGuid | guid | + | Полученный из r_keeper Guid созданного заказа |
| tableCode | int | + | Код стола |
| status | object | + | |
| |- value | string | + | Статус заказа. |
| |- isBillPrinted | bool | - | Флаг, показывающий, распечатан ли пречек заказа. |
| substate | string | + | Расширенный статус заказа |
| waiterId | number | - | Код официанта |
| rejectingReason | - | ||
| |- code | string | - | Код отмены на кассе . |
| | -message | string | - | Причина отмены заказа на кассе |
| error | string enum | - | Контейнер ошибок, см Описание ошибок |
queuePosition | string? | - | Номер очереди, который генерирует RK7. WSA 2.7.7.1, RK7 7.06.05.459. Формируется по правилу: код кассы транслируется латинскую букву + последние цифры номера заказа |
| modifierStopList | - | ||
| -dishes | array | Массив модификаторов в стоп-листе. | |
| – id | integer | Идентификатор блюда | |
| – name | string | Название блюда | |
| – type | string | Тип товара. ingredient |
Ответ с ошибкой
Ответ с ошибкой
{
"responseCommon": {
"taskGuid": "string",
"taskType": "CreateOrder",
"objectId": number
},
"error": {
"wsError": {
"code": "string",
"desc": "string"
},
"agentError": {
"code": string,
"desc": "string"
}
}
}
| Параметр | Тип | Описание | ||||||
| taskGuid | guid | Уникальный код этой задачи используется при получении задачи через очередь | ||||||
| taskType | string | Тип задачи | ||||||
| objectId | int | Код ресторана в системе лицензирования | ||||||
| error | string enum | Контейнер ошибок, см Описание ошибок | ||||||
| ||||||||
Примеры структуры вопросов
{
"taskType": "CreateOrder",
"params": {
"sync": {
"objectId": "199990246",
"timeout": 120
},
"order": {
"booking":{
"time": "2026-03-26T21:00:00",
"duration":{
"hours": 2,
"minutes": 50
}
},
"tableCode": 247,
"personsQuantity": 1
}
}
}
{
"taskType": "CreateOrder",
"params": {
"sync": {
"objectId": 199995826,
"timeout": 120
},
"order": {
"originalOrderId": "string",
"customer": {
"name": "string",
"phone": "string"
},
"payment": {
"type": "string"
},
"expeditionType": "string",
"delivery": {
"expectedTime": "2008-10-17T00:00:00+0300",
"address": {
"subway": "string",
"region": "string",
"city": {
"name": "string"
},
"street": {
"name": "string"
},
"houseNumber": "string",
"flatNumber": "string",
"entrance": "string",
"intercom": "string",
"floor": "string",
"coordinates": {
"latitude": "string",
"longitude": "string"
},
"comment":"string"
}
},
"products": [
{
"id": "string",
"name": "string",
"price": "string",
"quantity": 0,
"ingredients": [
{
"id": "string",
"name": "string",
"quantity": 0,
"price": "string"
},
{
"id": "string",
"name": "string",
"quantity": 0,
"price": "string"
}
]
},
{
"id": "string",
"name": "string",
"price": "string",
"quantity": 0,
"ingredients": [
{
"id": "string",
"name": "string",
"quantity": 0,
"price": "string"
},
{
"id": "string",
"name": "string",
"quantity": 0,
"price": "string"
}
]
}
],
"comment": "string",
"price": {
"total": 0
},
"personsQuantity": 0,
"discountIds": [1000032],
// или
"discountIds": [
{
"id": 1000032,
"value": 11.50
}
],
"source": "kiosk"
}
}
}
{
"taskType": "CreateOrder",
"params": {
"sync": {
"objectId": "199990377",
"timeout": 120
},
"order": {
"originalOrderId": "string",
"customer": {
"name": "string",
"phone": "string"
},
"pickup": {
"courier": {
"name": "string",
"phone": "string"
},
"expectedTime": "{{currentdate}}T21:00:00+03:00",
"taker": "customer"
},
"payment": {
"type": "online"
},
"expeditionType": "pickup",
"delivery": {
"expectedTime": "2022-06-07T21:00:00+03:00",
"address": {
"fullAddress": "string",
"subway": "string",
"region": "string",
"city": {
"name": "string"
},
"street": {
"name": "string"
},
"houseNumber": "string",
"flatNumber": "string",
"entrance": "string",
"intercom": "string",
"floor": "string",
"coordinates": {
"latitude": "string",
"longitude": "string"
}
}
},
"products": [
{
"id": "string",
"name": "string",
"price": number,
"quantity": "string"
}
],
"comment": "Тестовый заказ. Оплата онлайн. Предоплата",
"price": {
"total": number
},
"personsQuantity": 0,
"orderCategoryCode": 0,
"orderTypeCode": 0
}
}
}
{
"taskType": "CreateOrder",
"params": {
"sync": {
"objectId": "199990377",
"timeout": 120
},
"order": {
"originalOrderId": "string",
"customer": {
"name": "string",
"phone": "string"
},
"pickup": {
"courier": {
"name": "string",
"phone": "string"
},
"expectedTime": "{{currentdate}}T21:00:00+03:00",
"taker": "customer"
},
"payment": {
"type": "card"
},
"expeditionType": "pickup",
"delivery": {
"expectedTime": "2022-06-07T21:00:00+03:00",
"address": {
"fullAddress": "string",
"subway": "string",
"region": "53",
"city": {
"name": "string"
},
"street": {
"name": "string"
},
"houseNumber": "string",
"flatNumber": "string",
"entrance": "string",
"intercom": "string",
"floor": "string",
"coordinates": {
"latitude": "string",
"longitude": "string"
}
}
},
"products": [
{
"id": "string",
"name": "string",
"price": number,
"quantity": 1
}
],
"comment": "Тестовый заказ. Оплата картой",
"price": {
"total": number
},
"personsQuantity": 1,
"orderCategoryCode": 1,
"orderTypeCode": 4
}
}
}