НазначениеСоздание заказа на доставку
Тип запросаАсинхронный

Связанные документы:

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&amp;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_idint+Код ресторана в системе лицензирования

groupguidguid-Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем.

callbackstring+HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды

openform_timeout_secint+Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени

cashier_timeout_secint+Время ожидания реакции кассира на открытую форму. Если кассир не выполнит действие за это время, то срабатывает автодействие по таймауту (Автосоздание заказа или автоотмена заказа). Настройка в конфигураторе

order_category_codeint or empty-Код категории заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7.

 В РК7 «Категории заказов» → «Категория заказа» → поле «Код»

order_type_codeint or empty-Код типа заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7.

 В РК7 «Типы заказов» → «Тип заказа» → поле «Код»

Order_Numstring+Внешний номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы

tablecodeint+Код стола

readytimeDateTime-Время, к которому должен быть приготовлен заказ

commentstring-Комментарий к заказу, для отображения кассируЕсли атрибут не заполнен, то отобразится пустой блок


см также WSAgent: Вкладка Rk7 (дополнительные параметры)

2.1.2. Запрос с модификатором

<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&amp;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_idint+Код ресторана в системе лицензирования
groupguidguid-Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем.
callbackstring+HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды
order_category_codeint or empty-Код категории заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7
order_type_codeint or empty-Код типа заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7
Order_Numstring+Номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы
openform_timeout_secint+Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени
cashier_timeout_secint+Время ожидания реакции кассира на открытую форму
tablecodeint+Код стола
readytimeDateTime-Время, к которому должен быть приготовлен заказ
commentstring-Комментарий к заказу, для отображения кассируЕсли атрибут не заполнен, то отобразится пустой блок
MODI quantityint+Количество модификаторов


2.1.3 Запрос с комбо

<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&amp;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_idint+Код ресторана в системе лицензирования
groupguidguid-Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем.
callbackstring+HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды
order_category_codeint or empty-Код категории заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7
order_type_codeint or empty-Код типа заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7
Order_Numstring+Номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы
openform_timeout_secint+Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени
cashier_timeout_secint+Время ожидания реакции кассира на открытую форму
tablecodeint+Код стола
readytimeDateTime-Время, к которому должен быть приготовлен заказ
commentstring-Комментарий к заказу, для отображения кассируЕсли атрибут не заполнен, то отобразится пустой блок
COMBO guidguid+Guid комбо блюда (справочник блюд)
comboelement_guidguid+Guid комбо элемента меню (справочник комбо элементов )
COMBODISH guidguid+Guid блюда, который выбран у комбо элемента меню
MODI guidguid+Guid модификатора для блюда COMBODISH (справочник модификаторов, см схему модификаторов у блюда)
MODI quantityint-Количество модификаторов.По умолчанию добавляется 1 модификатор.


2.1.4 Заказ с оплатой

<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&amp;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_idint+Код ресторана в системе лицензирования
groupguidguid-Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем.
callbackstring+HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды
order_category_codeint or empty-Код категории заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7
order_type_codeint or empty-Код типа заказаЕсли не заполнен, то агент попытается взять значение из своих настроек. Если эти настройки так же не заданы, то этот параметр не будет использоваться при создании заказа в RK7
Order_Numstring+Номер заказа, лучше делать уникальным в рамках дня, чтобы не было путаницы
openform_timeout_secint+Время на попытку открытия сообщения на кассе. Если не удалось сразу отобразить, то попытки повторяются в течение этого времени
cashier_timeout_secint+Время ожидания реакции кассира на открытую форму
tablecodeint+Код стола
readytimeDateTime-Время, к которому должен быть приготовлен заказ
PAYS modepay, prepay+Тип оплаты
PAY currint+Код валюты
PAY summint+Сумма
extinfostring-Дополнительная информация


2.1.5 Создать заказ (с информацией о человеке, которому нужно доставить заказ)

<RQ callback="http://domain.ru/page.php?param1=1&amp;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" />

Описание параметров

ПараметрТипОписание
taskguidguidУникальный код этой задачи. При отправке 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> 

Описание параметров

ПараметрТипОписание
taskguidguidСовпадает с taskguid в ответе
posidguidPOS id кассового сервера (можно игнорировать)
Statusint0 - accepted, 1 - cancelled
PAYS
Присутствует если заказ не оплачен и в конфигураторе агента указана валюта
PAY currintКод валюты
PAY namestringНазвание валюты
PAY summstringСумма к оплате
<RP taskguid="guid">
   <ERROR code="кодОтАгента" text="ТекстОтАгента" />
</RP>

Описание параметров

ПараметрТипОписание
taskguidguidСовпадает с taskguid в ответе
codeintКод ошибки
textstringТекст ошибки

4.1 Пример

4.1.1 Запрос

<RQ cmd="new_order_delivery" callback="http://domain.ru/page.php?param1=1&amp;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>

V2 NewOrderDelivery