НазначениеПолучить список товаров
Тип запросаАсинхронный
Версия SHSH4, SH5

2.1 Формат запроса

2.1.1 Без указания групп

<?xml version="1.0" encoding="utf-8"?>
<RQ cmd="sh_get_goods" tasktype="any_call" callback="ya.ru" timeout="int">
  <PARAM name="object_id" val="000000000"/>
  <PARAM name="goodgroup_rid" val="int"/>
</RQ>

Запрос на получение группы блюд:

<?xml version="1.0" encoding="utf-8"?>
<RQ cmd="sh_get_goodgroups" tasktype="any_call" callback="ya.ru" timeout="int">
  <PARAM name="object_id" val="000000000"/>
    <PARAM name="goodgroup_rid" val="int"/>
</RQ>

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


ПараметрТипОбязательныйОписаниеЗначение по умолчанию
object_idint+Код ресторана в системе лицензирования
groupguidguid-Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем.
callbackstring+HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды
goodgroup_ridint+Ссылка на группу товаров


2.1.2 С указанием групп

<?xml version="1.0" encoding="utf-8"?>
<RQ cmd="sh_get_goods" tasktype="any_call" callback="ya.ru" timeout="int">
  <PARAM name="object_id" val="000000000"/>
  <PARAM name="goodgroup_rid" val="int"/>
    <GROUPS>
    <GROUP rid="int" include_goods="int"/>
    <GROUP rid="int" include_goods="int"/>
  </GROUPS> 
</RQ>

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

ПараметрТипОбязательныйОписаниеЗначение по умолчанию
object_idint+Код ресторана в системе лицензирования
groupguidguid-Необязательный guid для группировки запросов в рамках одного пользовательского сценария. Если создаётся серия запросов (создан заказ, сохранён, оплачен), то лучше группировать их в один сценарий для упрощения диагностики проблем.
callbackstring+HTTP адрес, по которому WhiteServer отправит запрос после выполнения команды
goodgroup_ridint+Ссылка на группу товаров
GROPS ridint-rid группы
GROPS include_goodsint-Должны ли возвращаться товары из указанной группы (если передано значение 1, то должны)0


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 (асинхронного ответа)

2.3.1 Без указания групп

<RP cmdguid="d87eb27c-6220-4ff4-9d1b-0951b50447a7" posid="4D7B18F2-58CE-4F0F-A2B6-2D90A6BFCF67">
  <ITEM rid="int" name="name good" group="int">
    <MUNITS>
      <MUNIT rid="int" name="кг.">
        <BARCODE val="000011860003"/>
        <BARCODE val="000011860004"/>
      </MUNIT>
      <MUNIT rid="2" name="л."/>
    </MUNITS>
  </ITEM>
  <ITEM rid="300" name="name good2" group="2">
    <MUNITS>
      <MUNIT rid="1" name="кг."/>
      <MUNIT rid="3" name="ящ."/>
    </MUNITS>
  </ITEM>
</RP>

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


ПараметрТипОписание
cmdguidguidСовпадает с taskguid в ответе
posidguidPOS id кассового сервера (можно игнорировать)
groupintСсылка на родителя
MUNIT
Единица измерения
BARCODEstringБаркод для конкретной единицы измерения.


2.3.2 С указанием групп

<RP cmdguid="d87eb27c-6220-4ff4-9d1b-0951b50447a7" posid="4D7B18F2-58CE-4F0F-A2B6-2D90A6BFCF67">
 <ITEM rid="int" name="string" parent="int">
		<GOODS_LIST>
			<ITEM rid="int" name="string">
				<MUNITS>
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
				</MUNITS>
			</ITEM>
			<ITEM rid="int" name="string">
				<MUNITS>
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
				</MUNITS>
			</ITEM>
		</GOODS_LIST>
	</ITEM>
	<ITEM rid="int" name="string" parent="int">
		<GOODS_LIST>
			<ITEM rid="int" name="string">
				<MUNITS>
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
				</MUNITS>
			</ITEM>
			<ITEM rid="int" name="string">
				<MUNITS>
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
					<MUNIT rid="int" name="string" isbase="int"/>
						<BARCODE val="string" />
						<BARCODE val="string" />
				</MUNITS>
			</ITEM>
		</GOODS_LIST>
	</ITEM>
</RP>

3.1 Пример

3.1.1 Запрос

<?xml version="1.0" encoding="utf-8"?>
<RQ cmd="sh_get_goods" tasktype="any_call" callback="ya.ru" >
  <PARAM name="object_id" val="199990106"/>
  <PARAM name="goodgroup_rid" val="1"/>
</RQ>

3.1.2 Ответ

<?xml version="1.0" encoding="utf-8"?>
<RP taskguid="0a85447e-f4da-4424-8c36-d20c63fe6b89" code="0" version="1.7.0.8215" />

3.1.3 Callback (асинхронный ответ)

<RP cmdguid="0a85447e-f4da-4424-8c36-d20c63fe6b89" posid="797C3E3B-3C33-4D97-87F8-25578FE48BE6">
  <ITEM rid="int" name="name good" group="int">
    <MUNITS>
      <MUNIT rid="int" name="кг.">
        <BARCODE val="000011860003"/>
        <BARCODE val="000011860004"/>
      </MUNIT>
      <MUNIT rid="2" name="л."/>
    </MUNITS>
  </ITEM>
  <ITEM rid="300" name="name good2" group="2">
    <MUNITS>
      <MUNIT rid="1" name="кг."/>
      <MUNIT rid="3" name="ящ."/>
    </MUNITS>
  </ITEM>
</RP>

Обратите внимание, что в 4.1.2 taskguid и 4.1.3 cmdguid совпадают.

V2 ShGetGoods