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 - состояние строки («Не обработана», «Излишек», «Недостача», «Ровно»)