new_order_delivery
1 Описание
Назначение | Создание заказа на доставку |
Тип запроса | Асинхронный |
Связанные документы:
2 Формат запросов
2.1 Формат запроса
2.1.1 Обычный запрос
Команда с запросом у кассира на создание нового заказа
<?xml version="1.0" encoding="utf-8"?> <RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&param2=2" timeout="int"> <PARAM name="openform_timeout_sec" val="int" /> <PARAM name="cashier_timeout_sec" val="int" /> <PARAM name="object_id" val="int" /> <ORDERREQUEST tablecode="1028" order_num="D111" order_category_code="int_or_empty" order_type_code="int_or_empty" comment="Въезд со двора, второй подъезд" readytime="0000-00-00T00:00:00"> <DISHES> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00" /> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00" /> </DISHES> </ORDERREQUEST> </RQ>
Описание параметров
Параметр | Тип | Обязательный | Описание | Значение по умолчанию | Где узнать? |
---|---|---|---|---|---|
object_id | int | + | Код ресторана в системе лицензирования | ||
groupguid | guid | - | Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем. | ||
callback | string | + | HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды | ||
openform_timeout_sec | int | + | Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени | ||
cashier_timeout_sec | int | + | Время ожидания реакции кассира на открытую форму. Если кассир не выполнит действие за это время, то срабатывает автодействие по таймауту (Автосоздание заказа или автоотмена заказа). Настройка в конфигураторе | ||
order_category_code | int or empty | - | Код категории заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7. | |
order_type_code | int or empty | - | Код типа заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7. | |
Order_Num | string | + | Внешний номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы | ||
tablecode | int | + | Код стола | ||
readytime | DateTime | - | Время, к которому должен быть приготовлен заказ | ||
comment | string | - | Комментарий к заказу, для отображения кассиру | Если атрибут не заполнен, то отобразится пустой блок |
см также WSAgent: Вкладка Rk7 (дополнительные параметры)
2.1.2. Запрос с модификатором
<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&param2=2" timeout="int"> <PARAM name="openform_timeout_sec" val="int" /> <PARAM name="cashier_timeout_sec" val="int" /> <PARAM name="object_id" val="int" /> <ORDERREQUEST tablecode="1028" order_num="D111" order_category_code="int_or_empty" order_type_code="int_or_empty" comment="Въезд со двора, второй подъезд" readytime="0000-00-00T00:00:00"> <DISHES> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00" /> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00"> <MODI guid="00000000-0000-0000-0000-000000000000" quantity="2" /> </DISH> </DISHES> </ORDERREQUEST> </RQ>
Описание параметров
Параметр | Тип | Обязательный | Описание | Значение по умолчанию |
---|---|---|---|---|
object_id | int | + | Код ресторана в системе лицензирования | |
groupguid | guid | - | Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем. | |
callback | string | + | HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды | |
order_category_code | int or empty | - | Код категории заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7 |
order_type_code | int or empty | - | Код типа заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7 |
Order_Num | string | + | Номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы | |
openform_timeout_sec | int | + | Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени | |
cashier_timeout_sec | int | + | Время ожидания реакции кассира на открытую форму | |
tablecode | int | + | Код стола | |
readytime | DateTime | - | Время, к которому должен быть приготовлен заказ | |
comment | string | - | Комментарий к заказу, для отображения кассиру | Если атрибут не заполнен, то отобразится пустой блок |
MODI quantity | int | + | Количество модификаторов |
2.1.3 Запрос с комбо
<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&param2=2" timeout="int"> <PARAM name="openform_timeout_sec" val="int" /> <PARAM name="cashier_timeout_sec" val="int" /> <PARAM name="object_id" val="int" /> <ORDERREQUEST tablecode="1028" order_num="D111" order_category_code="int_or_empty" order_type_code="int_or_empty" comment="Въезд со двора, второй подъезд" readytime="0000-00-00T00:00:00"> <DISHES> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00" /> <COMBO guid="00000000-0000-0000-0000-000000000000" quantity="2.00"> <COMBODISH guid="00000000-0000-0000-0000-000000000000" comboelement_guid="00000000-0000-0000-0000-000000000000"> <MODI guid="00000000-0000-0000-0000-000000000000" quantity="1"/> <MODI guid="00000000-0000-0000-0000-000000000000" quantity="1"/> </COMBODISH> <COMBODISH guid="00000000-0000-0000-0000-000000000000" comboelement_guid="00000000-0000-0000-0000-000000000000"> <MODI guid="00000000-0000-0000-0000-000000000000" quantity="1"/> <MODI guid="00000000-0000-0000-0000-000000000000" quantity="1"/> </COMBODISH> </COMBO> </DISHES> </ORDERREQUEST> </RQ>
Описание параметров
Параметр | Тип | Обязательный | Описание | Значение по умолчанию |
---|---|---|---|---|
object_id | int | + | Код ресторана в системе лицензирования | |
groupguid | guid | - | Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем. | |
callback | string | + | HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды | |
order_category_code | int or empty | - | Код категории заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7 |
order_type_code | int or empty | - | Код типа заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7 |
Order_Num | string | + | Номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы | |
openform_timeout_sec | int | + | Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени | |
cashier_timeout_sec | int | + | Время ожидания реакции кассира на открытую форму | |
tablecode | int | + | Код стола | |
readytime | DateTime | - | Время, к которому должен быть приготовлен заказ | |
comment | string | - | Комментарий к заказу, для отображения кассиру | Если атрибут не заполнен, то отобразится пустой блок |
COMBO guid | guid | + | Guid комбо блюда (справочник блюд) | |
comboelement_guid | guid | + | Guid комбо элемента меню (справочник комбо элементов ) | |
COMBODISH guid | guid | + | Guid блюда, который выбран у комбо элемента меню | |
MODI guid | guid | + | Guid модификатора для блюда COMBODISH (справочник модификаторов, см схему модификаторов у блюда) | |
MODI quantity | int | - | Количество модификаторов.По умолчанию добавляется 1 модификатор. |
2.1.4 Заказ с оплатой
<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&param2=2" guid="00000000-0000-0000-0000-000000000000" timeout="int"> <PARAM name="openform_timeout_sec" val="int" /> <PARAM name="cashier_timeout_sec" val="int" /> <PARAM name="object_id" val="int" /> <ORDERREQUEST tablecode="1028" order_num="D111" order_category_code="int_or_empty" order_type_code="int_or_empty" comment="Въезд со двора, второй подъезд" readytime="0000-00-00T00:00:00"> <DISHES> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00" /> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00" /> </DISHES> <PAYS mode="pay/prepay"> <PAY curr="currency_id.1" summ="money" extinfo="some info"/> <PAY curr="currency_id.2" summ="money"/> </PAYS> </ORDERREQUEST> </RQ>
Описание параметров
Параметр | Тип | Обязательный | Описание | Значение по умолчанию |
---|---|---|---|---|
object_id | int | + | Код ресторана в системе лицензирования | |
groupguid | guid | - | Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем. | |
callback | string | + | HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды | |
order_category_code | int or empty | - | Код категории заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7 |
order_type_code | int or empty | - | Код типа заказа | Если не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7 |
Order_Num | string | + | Номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы | |
openform_timeout_sec | int | + | Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени | |
cashier_timeout_sec | int | + | Время ожидания реакции кассира на открытую форму | |
tablecode | int | + | Код стола | |
readytime | DateTime | - | Время, к которому должен быть приготовлен заказ | |
PAYS mode | pay, prepay | + | Тип оплаты | |
PAY curr | int | + | Код валюты | |
PAY summ | int | + | Сумма | |
extinfo | string | - | Дополнительная информация |
2.1.5 Создать заказ (с информацией о человеке, которому нужно доставить заказ)
<RQ callback="http://domain.ru/page.php?param1=1&param2=2" tasktype="none" cmd="new_order_delivery" timeout="45"> <PARAM name="openform_timeout_sec" val="30" /> <PARAM name="cashier_timeout_sec" val="30" /> <PARAM name="object_id" val="199990106" /> <ORDERREQUEST tablecode="301" order_num="D100500" readytime="2017-11-02T19:59:59"> <DISHES> <DISH guid="1668daee-9ff1-467b-88c6-cf08c1deeb7d" quantity="1" /> <DISH guid="691a3c4b-23d0-44d6-a04e-7f06b23cdc82" quantity="1" /> </DISHES> </ORDERREQUEST> <CUSTOMERINFO fullname="Иванов Владимир Евгеньевич" lname="Иванов" fname="Владимир" mname="Евгеньевич" birthdate="1980-01-26" gender="male/female" comment=""> <CODES externalcode="" /> <CONTACTS phone="12345678901" email="ucs@ucs.ru" /> <ADDRESS id="123"> <COUNTRY id="1" name="Россия" /> <REGION id="1" name="" /> <CITY id="1" name="Воронеж"/> <STREET id="1" name="Московский проспект" /> <HOUSE house_num="4" building="1" entry="1" floor="4" apartments="402" entry_code="в UCS" /> <METRO id="1" name="test" /> <COORDINATES latitude="55.847821" longitude="37.454645"/> </ADDRESS> </CUSTOMERINFO> </RQ>
2.2 Формат ответа
<?xml version="1.0" encoding="utf-8"?> <RP taskguid="6774b0bc-dd5e-4eca-a1f9-d982607feb2e" code="0" version="1.5.0.7155" />
Описание параметров
Параметр | Тип | Описание |
---|---|---|
taskguid | guid | Уникальный код этой задачи. При отправке callback будет использован этот код, чтобы вызывающий сервис мог сопоставить запрос и ответ |
2.3 Формат callback (асинхронного ответа)
<RP taskguid="7b31bad0-1962-44ac-b9f1-dfa14d595800"> <STATUS code="int" /> <CHECK qrid="QRid" order_guid="guid"> <STATE finished="0" paid="0" locked="0" precheck="0"/> </CHECK> <PAYS> <PAY curr="1" name="Рубли" summ="484.00" /> </PAYS> </RP>
Описание параметров
Параметр | Тип | Описание |
---|---|---|
taskguid | guid | Совпадает с taskguid в ответе |
posid | guid | POS id кассового сервера (можно игнорировать) |
Status | int | 0 - accepted, 1 - cancelled |
PAYS | Присутствует если заказ не оплачен и в конфигураторе агента указана валюта | |
PAY curr | int | Код валюты |
PAY name | string | Название валюты |
PAY summ | string | Сумма к оплате |
3 Таблица ошибок метода
<RP taskguid="guid"> <ERROR code="кодОтАгента" text="ТекстОтАгента" /> </RP>
Описание параметров
Параметр | Тип | Описание |
---|---|---|
taskguid | guid | Совпадает с taskguid в ответе |
code | int | Код ошибки |
text | string | Текст ошибки |
4 Примеры вызовов
4.1 Пример
4.1.1 Запрос
<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&param2=2" > <PARAM name="openform_timeout_sec" val="30" /> <PARAM name="cashier_timeout_sec" val="30" /> <PARAM name="object_id" val="199990106" /> <ORDERREQUEST tablecode="1028" order_num="D111" comment="Въезд со двора, второй подъезд" > <DISHES> <DISH guid="00000000-0000-0000-0000-000000000000" quantity="2.00" /> </DISHES> </ORDERREQUEST> </RQ>
4.1.2 Ответ
<RP taskguid="6774b0bc-dd5e-4eca-a1f9-d982607feb2e" code="0" version="1.7.0.7155" />
4.1.3 Callback (асинхронный ответ)
<RP taskguid="6774b0bc-dd5e-4eca-a1f9-d982607feb2e"> <STATUS code="0" /> <CHECK qrid="QRid" order_guid="7b31bad0-1962-44ac-b9f1-dfa14d595800"> <STATE finished="0" paid="0" locked="0" precheck="0"/> </CHECK> <PAYS> <PAY curr="1" name="Рубли" summ="484.00" /> <PAY curr="1053996" name="Доставка БезНал" summ="484.00" /> </PAYS> </RP>