====== 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 1 inventory 1000 4 5 4 INPROGRESS 2016-08-24 00:00:00 2016-08-24 17:28:01 10 2016-09-05 14:58:10 2 803ad8b6-688c-11e7-849d-74d435ee6043 222 G 929 5 1 15.000 2017-01-31 13:13:17 2 2017-01-31 13:13:17 2 803ad8b6-688c-11e7-849d-74d435ee6043 Оливки черные Acorsa без косточки 350 г жест. банка Не обработана 930 5 2 9.000 2017-01-31 13:13:17 2 2017-01-31 13:13:17 2 803ad8b6-688c-11e7-849d-74d435ee6043 Чипсы картофельные Lay's Золотистые с солью 8г Не обработана ==== Структура ответа сервера ==== **Шапка документа** * **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** - состояние строки ("Не обработана", "Излишек", "Недостача", "Ровно")