Различия
Здесь показаны различия между двумя версиями данной страницы.
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** - состояние строки ("Не обработана", "Излишек", "Недостача", "Ровно") |