Назначение | Получить заказ по QR |
Тип запроса | Асинхронный |
2.1 Формат запроса
<?xml version="1.0" encoding="utf-8"?>
<RQ cmd="get_order" callback="http://ya.ru" guid="guid" timeout="int">
<CHECK qrid="QRid" />
</RQ>
Описание параметров
Параметр | Тип | Обязательный | Описание | Значение по умолчанию |
---|
callback | string | + | HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды |
|
CHECK qrid | string | + | Qrid заказа, который нужно получить |
|
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 (асинхронного ответа)
<?xml version="1.0" encoding="utf-8"?>
<RP taskguid="guid">
<CHECK total_summ="money" qrid="qrid" order_guid="guid" generateddatetime="xmlDateTime">
<STATE finished="int" paid="int" locked="int" precheck="int"/>
<ExtInfo>
<Item key="string" value="string" />
<Item key="string" value="string" />
</ExtInfo>
<CHECKDATA guests="int" tablename="string">
<CHECKPERSONS count="int">
<PERSON role="int" name="string" code="int"/>
</CHECKPERSONS>
<CHECKLINES count="int">
<LINE id="uuid" name="string" code="int" quantity="float" price="money" sum="money"/>
</CHECKLINES>
</CHECKDATA>
</CHECK>
</RP>
Описание параметров
Параметр | Тип параметра | Обязательный | Описание | Значение по умолчанию |
---|
CHECK |
|
|
|
ext_id | guid |
| guid заказа, переданного в запросе |
|
qrid | qrid |
| qrid заказа |
|
order_guid | guid |
| guid заказа, созданного в rKeeper |
|
ERROR |
|
|
|
code | int |
| Код ошибки |
|
text | string |
| Текстовое описание ошибки |
|
STATE |
|
|
|
finished | int |
| Закрыт ли заказ (0 - нет, 1 - да ) |
|
paid | int |
| Оплачен и заказ (0 - нет, 1 - да ) |
|
locked | int |
| Заблокирован ли заказ (0 - нет, 1 - да ) |
|
precheck | int |
| Сформирован ли пречек по заказу (0 - нет, 1 - да ) |
|
ExtInfo |
|
|
|
Item |
|
|
|
key | string |
| Идентификатор дополнительной информации |
|
value | string |
| Значение дополнительной информации |
|
CHECKDATA |
|
|
|
guests | int |
| Количество гостей |
|
tablename | string |
| Название стола |
|
CHECKPERSONS |
|
|
|
PERSON |
|
|
|
role | int |
| Идентификатор роли сотрудника |
|
name | string |
| Имя сотрудника |
|
code | int |
| Код сотрудника |
|
CHECKLINES |
|
|
|
LINE |
|
|
|
id | uuid |
| uuid блюда |
|
name | string |
| Название блюда |
|
code | int |
| Код блюда |
|
quantity | float |
| Количество |
|
price | money |
| Цена блюда |
|
sum | money |
| Сумма |
|
3.1 Пример
3.1.1 Запрос
<RQ cmd="get_order" callback="http://ya.ru" guid="e905df76-029b-4834-943e-fb375648df99" timeout="120">
<CHECK qrid="EA1F9E70912347ECA860392C7FB23FA2BE766A3D8F7C48BE9A4DB283F80EFDCCC7BDBB82">
</CHECK>
</RQ>
4.1.2 Ответ
<?xml version="1.0" encoding="utf-8"?>
<RP taskguid="0a85447e-f4da-4424-8c36-d20c63fe6b89" code="0" version="1.7.0.8215" />
4.1.3 Callback (асинхронный ответ) успешный
<?xml version="1.0" encoding="utf-8"?>
<RP taskguid="c789fe9e-8287-40f8-ad33-68e5425af936" cmdguid="c789fe9e-8287-40f8-ad33-68e5425af936" posid="2bb71473-5ad4-4470-b161-7a1322613007" code="0">
<CHECK qrid="ED1F9E70912347ECA860392C7FB23FA2BE766A3D8F7C48BE9A4DB283F80EFDCCC7BDBB85" order_guid="be766a3d-8f7c-48be-9a4d-b283f80efdcc" generateddatetime="05/24/2019 04:31:05">
<STATE finished="0" paid="0" locked="0" precheck="1" />
<CHECKDATA tablename="2" guests="1">
<CHECKPERSONS>
<PERSON role="9" name="9" code="9" />
</CHECKPERSONS>
<CHECKLINES>
<LINE id="309c934f-c864-4b7f-9dfe-5788b7c6127e" name="coffee" code="4" quantity="1.000" price="50" sum="50" />
<LINE id="1e9d6617-27ac-46e3-8727-15b4944e4b96" name="tea" code="3" quantity="1.000" price="30" sum="30" />
</CHECKLINES>
</CHECKDATA>
<ExtInfo />
</CHECK>
</RP>
4.1.4 Callback (асинхронный ответ) с ошибкой
<RP taskguid="0a85447e-f4da-4424-8c36-d20c63fe6b89">
<ERROR code="101" text="Заказ не найден"/>
</RP>