Различия
Показаны различия между двумя версиями страницы.
| public:api:store [25.09.2026 18:17] – создано - внешнее изменение | public:api:store [27.09.2026 01:08] (текущий) – удалено - внешнее изменение (Дата неизвестна) | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Store. Остатки товара ====== | ||
| - | В системе реализован программный интерфейс для получения и обновления данных об остатках товаров в магазинах. Данные выгружаются по http протоколу. Формат на выбор - xml или json. | ||
| - | |||
| - | |||
| - | ===== Пример запроса на получение данных ===== | ||
| - | |||
| - | Пример запроса на получение данных об остатках товаров: | ||
| - | |||
| - | | ||
| - | |||
| - | ==== Параметры запроса на получение данных ==== | ||
| - | Параметры, | ||
| - | * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. | ||
| - | |||
| - | * **format** (get only) - формат, | ||
| - | |||
| - | * **stockonly** (get only) - если " | ||
| - | |||
| - | * **warehouseid** (get only) - код магазина, | ||
| - | |||
| - | * **itemid** (get only) - код товара, | ||
| - | |||
| - | * **article** (get only) - артикул товара, | ||
| - | |||
| - | * **itemname** (get only) - название товара, | ||
| - | |||
| - | * **fields** - список дополнительных полей, которые будут добавлены в ответ сервера. Имена полей разделены символом ":" | ||
| - | * itemname - название товара | ||
| - | * article - артикул товара | ||
| - | * cogs - себестоимость товара | ||
| - | * price - цена продажи по основному прайслисту | ||
| - | * optionalprices - цены товара по дополнительным прайслистам | ||
| - | * turnovercalc - оборачиваемость товара, | ||
| - | * expdate - срок годности товарного остатка | ||
| - | |||
| - | |||
| - | ==== Ответ сервера ==== | ||
| - | |||
| - | В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info | ||
| - | |||
| - | * quantity - текущее количество товара | ||
| - | * available_quantity - количество товара с учетом резервов | ||
| - | |||
| - | ==== Пример ответа сервера ==== | ||
| - | |||
| - | Ниже приведен пример ответа сервера в формате XML | ||
| - | |||
| - | <file xml> | ||
| - | <?xml version=" | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | ===== Получение остатков в разрезе товаров ===== | ||
| - | |||
| - | Альтернативный вариант запроса на получение остатков. В отличие от предыдущего варианта данные группируются не по точкам продаж, | ||
| - | |||
| - | | ||
| - | |||
| - | ==== Параметры запроса на получение данных ==== | ||
| - | * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. | ||
| - | |||
| - | * **format** (get only) - формат, | ||
| - | |||
| - | * **id** - идентификатор товара. Если не указан, | ||
| - | * **from_id** - идентификатор товара, | ||
| - | * **total** - (bool). Если указано " | ||
| - | * **limit** - максимальное число записей, | ||
| - | |||
| - | ====== Изменение данных ====== | ||
| - | |||
| - | ===== Пример запроса на изменение данных ===== | ||
| - | |||
| - | Пример запроса на изменение данных об остатках товаров: | ||
| - | |||
| - | | ||
| - | |||
| - | ==== Параметры запроса на изменение данных ==== | ||
| - | Параметры, | ||
| - | * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. | ||
| - | |||
| - | * **format** (get only) - формат, | ||
| - | |||
| - | * **warehouseid** (get only) - код магазина, | ||
| - | |||
| - | * **itemid** (get only) - код товара, | ||
| - | |||
| - | * **ext_warehouseid** (get only) - код магазина внешней системе (например, | ||
| - | |||
| - | * **ext_itemid** (get only) - код товара внешней системе (например, | ||
| - | |||
| - | * Поля, которые можно изменить: | ||
| - | * quantity - количество товара | ||
| - | * manuf_date - дата изготовления товарного остатка | ||
| - | * cogs - себестоимость товарного остатка | ||
| - | * expir_date - срок годности товарного остатка | ||
| - | * lot_number - серия или партия товарного остатка | ||
| - | |||
| - | ==== Ответ сервера ==== | ||
| - | |||
| - | В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info. Также в ответе присутствуют: | ||
| - | |||
| - | * itemid - внутренний идентификатор товара, | ||
| - | * warehouseid - внутренний идентификатор магазина(склада), | ||
| - | * isnew - " | ||
| - | * quantity_before - количество товара до обновления | ||
| - | |||
| - | |||
| - | ==== Пример ответа сервера ==== | ||
| - | |||
| - | Ниже приведен пример ответа сервера в формате XML | ||
| - | |||
| - | <file xml> | ||
| - | <?xml version=" | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== Механизм обнуления необновленных остатков ===== | ||
| - | |||
| - | Логика обновления: | ||
| - | - Получить текущую версию данных об остатках (getOnhandVersion) | ||
| - | - Обновить товары с ненулевыми остатками (updateOnhand) | ||
| - | - Для всех необновленных товаров (версия данных младше полученной) массово установить нулевой остаток (setZeroOnhand) | ||
| - | |||
| - | ==== Получение текущей версии: | ||
| - | |||
| - | | ||
| - | |||
| - | Параметры, | ||
| - | |||
| - | Параметры: | ||
| - | * int **warehouseid** (get only) - ID склада в ВиП, для которого надо получить версию остатков | ||
| - | * string **ext_warehouseid** (get only) - Внешний ID склада, | ||
| - | |||
| - | ==== Обнуление необновленных остатков ==== | ||
| - | |||
| - | | ||
| - | |||
| - | Параметры, | ||
| - | |||
| - | Параметры: | ||
| - | * int **version** (get only) - версия, | ||
| - | * int **warehouseid** (get only) - ID склада в ВиП, для которого надо обнулить остатки | ||
| - | * string **ext_warehouseid** (get only) - Внешний ID склада, | ||