API :: Inventory. Получение документов Инвентаризации

В системе реализован программный интерфейс для получения данных о документах «Инвентаризация». Данные выгружаются по HTTP протоколу. Формат на выбор - XML или JSON.

Пример запроса на получение данных

Глубина запроса по умолчанию - последние 30 дней. Для изменения глубины необходимо использовать параметр days.

Пример запроса на получение данных о документах «Инвентаризация»:

http://mycompany.virtpos.ru/api/inventory?apikey=MySecret&format=xml

Параметры запроса на получение данных

параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • date - получение инвентаризаций на определенную дату. Формат: ГГГГММДД. Необязательный параметр.
  • datefrom - получение инвентаризаций начиная с определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • dateto - получение инвентаризаций начиная до определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • cdatefrom - получение инвентаризаций, созданных начиная с определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • cdateto - получение инвентаризаций, созданных до определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • warehouse_id - код магазина. для которого надо вернуть инвентаризации. Если не указан, то возвращаются инвентаризации для всех магазинов. Необязательный параметр.
  • external_warehouse_id - код магазина во внешней системе (например, в 1С). Параметр игнорируется, если передан warehouse_id. Необязательный параметр.
  • id - ID документа Инвентаризации. Необязательный параметр. Если не указан, возвращаются все документы.
  • external_id - код инвентаризации во внешней системе (например, в 1С). Если указан, возвращается только документ с указанным кодом.
  • last_id - Необязательный параметр. Используется для получения новых документов с момента последнего обмена. Если параметр указан, то передаются все более новые инвентаризации (с бОльшим ID)
  • days - задает глубину поиска. Определяет, за какое количество дней от текущей даты надо вернуть документы инвентаризаций. Если указан 0 - выгружается весь список. Необязательный параметр.
  • withitems - принимает значение «1» или «0». Если «1», то возвращает строки списания, иначе только «шапки» списаний.

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<success>1</success>
	<type>inventory</type>
	<days_limit>1000</days_limit>
	<count>4</count>
	<inventories>
		<inventory>
			<id>5</id>
			<warehouse_id>4</warehouse_id>
			<status>INPROGRESS</status>
			<docnum/>
			<docdate>2016-08-24 00:00:00</docdate>
			<comment/>
			<created_date>2016-08-24 17:28:01</created_date>
			<created_by>10</created_by>
			<last_update_date>2016-09-05 14:58:10</last_update_date>
			<last_update_by>2</last_update_by>
			<attribute1/>
			<attribute2/>
			<attribute3/>
			<attribute4/>
			<attribute5/>
			<attribute6/>
			<attribute7/>
			<attribute8/>
			<attribute9/>
			<attribute10/>
			<attribute11/>
			<attribute12/>
			<attribute13/>
			<attribute14/>
			<attribute15/>
			<external_id/>
			<guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid>
			<warehouse_external_id>222</warehouse_external_id>
			<type>G</type>
			<items>
				<item>
					<id>929</id>
					<inventory_id>5</inventory_id>
					<item_id>1</item_id>
					<onhand_id/>
					<quantity_initial/>
					<quantity>15.000</quantity>
					<lot_number/>
					<cogs/>
					<price/>
					<created_date>2017-01-31 13:13:17</created_date>
					<created_by>2</created_by>
					<last_update_date>2017-01-31 13:13:17</last_update_date>
					<last_update_by>2</last_update_by>
					<guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid>
					<item_external_id/>
					<item_name>Оливки черные Acorsa без косточки 350 г жест. банка</item_name>
					<state>Не обработана</state>
				</item>
				<item>
					<id>930</id>
					<inventory_id>5</inventory_id>
					<item_id>2</item_id>
					<onhand_id/>
					<quantity_initial/>
					<quantity>9.000</quantity>
					<lot_number/>
					<cogs/>
					<price/>
					<created_date>2017-01-31 13:13:17</created_date>
					<created_by>2</created_by>
					<last_update_date>2017-01-31 13:13:17</last_update_date>
					<last_update_by>2</last_update_by>
					<guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid>
					<item_external_id/>
					<item_name>Чипсы картофельные Lay's Золотистые с солью 8г</item_name>
					<state>Не обработана</state>
				</item>
			</items>
		</inventory>
	</inventories>
</root>

Структура ответа сервера

Шапка документа

  • id - ID документа инвентаризации
  • warehouse_id - ID магазина, на который оформлена инвентаризация
  • docdate - дата документа инвентаризации
  • docnum - номер документа инвентаризации
  • warehouse_external_id - код Магазина во внешней системе учета (например, в 1С)
  • status - статус инвентаризации (NEW – новая, INPROGRESS – в работе, CLOSED - завершена)
  • created_date - дата создания документа инвентаризации (может не совпадать с датой документа Инвентаризации)
  • created_by - ID пользователя, создавшего инвентаризацию
  • last_update_date - дата и время последнего изменения в инвентаризации
  • last_update_by - ID пользователя, сделавшего последние изменения
  • external_id - код Поступления во внешней системе (например, в 1С)
  • type - тип инвентаризации (G - инвентаризация товаров, M - инвентаризация материальных ценностей)
  • comment - комментарий
  • guid - GUID документа

Содержание документа (зависит от настройки загружаемых полей и гибких полей на товарный остаток)

  • id - сквозной ID строки в транзакциях инвентаризаций
  • inventory_id - ID инвентаризации
  • item_id - ID товарной позиции по номенклатурному справочнику
  • item_external_id - идентификатор товара во внешней системе
  • onhand_id - ID в таблице остатков
  • quantity_initial - остаток (по системе)
  • quantity - остаток (факт)
  • lot_number - характеристика (серия, партия и пр) позиции
  • cogs - себестоимость
  • price - цена продажи
  • created_date - дата создания документа инвентаризации (может не совпадать с датой документа Инвентаризации)
  • created_by - ID пользователя, создавшего инвентаризацию
  • last_update_date - дата и время последнего изменения в инвентаризации
  • last_update_by - ID пользователя, сделавшего последние изменения
  • guid - GUID строки
  • item_name - наименование позиции
  • state - состояние строки («Не обработана», «Излишек», «Недостача», «Ровно»)