Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

doc:dev:api:inventory [01.09.2017 13:22]
mzubkov [Параметры запроса на получение данных]
doc:dev:api:inventory [02.06.2018 10:42]
Строка 1: Строка 1:
-====== 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** - задает глубину поиска. Определяет,​ за какое количество дней от текущей даты надо вернуть документы списаний. Необязательный параметр. 
- 
-  * **withitems** - принимает значение "​1"​ или "​0"​. Если "​1",​ то возвращает строки списания,​ иначе только "​шапки"​ списаний. 
- 
-==== Ответ сервера ==== 
- 
-В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info 
- 
-==== Пример ответа сервера ==== 
- 
-Ниже приведен пример ответа сервера в формате XML 
- 
-<file 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>​ 
-</​file>​ 
- 
- 
-==== Структура ответа сервера ==== 
- 
-**Шапка документа** 
- 
-  * **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** - состояние строки ("Не обработана",​ "​Излишек",​ "​Недостача",​ "​Ровно"​)