Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:dev:api:store [04.09.2016 20:40]
rlysov [Пример запроса на изменение данных]
doc:dev:api:store [23.10.2020 16:09] (текущий)
sshevchuk [Получение остатков в разрезе товаров]
Строка 11: Строка 11:
  
 ==== Параметры запроса на получение данных ==== ==== Параметры запроса на получение данных ====
 +Параметры,​ которые не отмечены как **get only**, могут быть переданы как get- или как post-параметры.
   * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.   * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.
  
-  * **format** - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.+  * **format** ​(get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.
  
-  * **stockonly** - если "​1",​ то возвращает только те товары,​ которые есть в наличии (остаток больше нуля)+  * **stockonly** ​(get only) - если "​1",​ то возвращает только те товары,​ которые есть в наличии (остаток больше нуля)
  
-  * **warehouseid** - код магазина,​ для которого надо вернуть данные об остатках. Если не указан,​ то возвращаются данные обо всех магазинах.+  * **warehouseid** ​(get only) - код магазина,​ для которого надо вернуть данные об остатках. Если не указан,​ то возвращаются данные обо всех магазинах.
  
-  * **itemid** - код товара,​ данные о котором надо вернуть. Если не задан, то будут отданы данные обо всех товарах.+  * **itemid** ​(get only) - код товара,​ данные о котором надо вернуть. Если не задан, то будут отданы данные обо всех товарах.
  
-  * **article** - артикул товара,​ данные о котором надо вернуть. Если не задан, то будут отданы данные обо всех товарах.+  * **article** ​(get only) - артикул товара,​ данные о котором надо вернуть. Если не задан, то будут отданы данные обо всех товарах.
  
-  * **itemname** - название товара,​ данные о котором надо вернуть. Если не задан, то будут отданы данные обо всех товарах.+  * **itemname** ​(get only) - название товара,​ данные о котором надо вернуть. Если не задан, то будут отданы данные обо всех товарах.
  
   * **fields** - список дополнительных полей, которые будут добавлены в ответ сервера. Имена полей разделены символом ":"​. Необязательный параметр. Поддерживаются следующие поля: ​   * **fields** - список дополнительных полей, которые будут добавлены в ответ сервера. Имена полей разделены символом ":"​. Необязательный параметр. Поддерживаются следующие поля: ​
Строка 32: Строка 32:
     * price - цена продажи по основному прайслисту     * price - цена продажи по основному прайслисту
     * optionalprices - цены товара по дополнительным прайслистам ​     * optionalprices - цены товара по дополнительным прайслистам ​
 +    * turnovercalc - оборачиваемость товара,​ рассчитанная системой ​
  
  
Строка 38: Строка 39:
 В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info
  
 +  * quantity - текущее количество товара 
 +  * available_quantity - количество товара с учетом резервов
  
 ==== Пример ответа сервера ==== ==== Пример ответа сервера ====
Строка 59: Строка 61:
                 <​item>​                 <​item>​
                     <​id>​17007</​id>​                     <​id>​17007</​id>​
-                    <​quantity>​1.000</​quantity>​+                    <​quantity>​2.000</​quantity
 +                    <​available_quantity>​1.000</​available_quantity>​ 
 +                    <​lot_number>​12345</​lot_number>
                     <​name>​63838 Корм для собак 2кг</​name>​                     <​name>​63838 Корм для собак 2кг</​name>​
                     <​article>​63838</​article>​                     <​article>​63838</​article>​
Строка 83: Строка 87:
  
  
-====== Изменение ​данных ======+===== Получение ​остатков в разрезе товаров ​=====
  
 +Альтернативный вариант запроса на получение остатков. В отличие от предыдущего варианта данные группируются не по точкам продаж,​ а по товарам. Это позволяет запросить остатки одного товара сразу во всех точках продаж:​
 +
 + ​http://​mycompany.myvirtualpos.ru/​api/​store/​byItem?​apikey=MySecret&​format=xml&​id=1&​from_id=0&​total=1&​limit=10
 +
 +==== Параметры запроса на получение данных ====
 +  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.
 +
 +  * **format** (get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.
 +
 +  * **id** - идентификатор товара. Если не указан,​ то возвращаются данные по всем товарам. Если указан,​ будут отданы остатки по всем точкам продаж для этого товара
 +  * **from_id** - идентификатор товара,​ начиная с которого надо вернуть данные. Если указан,​ то возвращаются только те товары,​ идентификатор которых больше указанного. Используется совместно с параметром limit и total для получения данных пачками
 +  * **total** - (bool). Если указано "​yes",​ "​true"​ или "​1",​ то в ответ будет добавлено поле "​total"​ с общим количеством строк данных,​ соответствующих запросу. Используется совместно с limit для получения общего количества строк
 +  * **limit** - максимальное число записей,​ которые можно вернуть.
 +
 +====== Изменение данных ======
  
 ===== Пример запроса на изменение данных ===== ===== Пример запроса на изменение данных =====
Строка 90: Строка 109:
 Пример запроса на изменение данных об остатках товаров:​ Пример запроса на изменение данных об остатках товаров:​
  
- ​http://​mycompany.virtpos.ru/​api/​store/​updateOnhand?​apikey=MySecret&​format=xml&​warehouseid=1&​itemd=1&​quantity=20+ ​http://​mycompany.virtpos.ru/​api/​store/​updateOnhand?​apikey=MySecret&​format=xml&​warehouseid=1&​itemid=1&​quantity=20
  
 ==== Параметры запроса на изменение данных ==== ==== Параметры запроса на изменение данных ====
 +Параметры,​ которые не отмечены как **get only**, могут быть переданы как get- или как post-параметры.
   * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.   * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.
  
-  * **format** - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.+  * **format** ​(get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.
  
-  * **warehouseid** - код магазина,​ в котором надо изменить данные об остатках. ​+  * **warehouseid** ​(get only) - код магазина,​ в котором надо изменить данные об остатках. ​
  
-  * **itemid** - код товара,​ данные о котором надо изменить.+  * **itemid** ​(get only) - код товара,​ данные о котором надо изменить.
  
-  * **ext_warehouseid** - код магазина внешней системе (например,​ 1С), в котором надо изменить данные об остатках. Используется только если не указан warehouseid+  * **ext_warehouseid** ​(get only) - код магазина внешней системе (например,​ 1С), в котором надо изменить данные об остатках. Используется только если не указан warehouseid
  
-  * **ext_itemid** - код товара внешней системе (например,​ 1С), данные о котором надо изменить. . Используется только если не указан itemid+  * **ext_itemid** ​(get only) - код товара внешней системе (например,​ 1С), данные о котором надо изменить. . Используется только если не указан itemid
  
   * Поля, которые можно изменить: ​   * Поля, которые можно изменить: ​
Строка 150: Строка 169:
  
  ​http://​mycompany.virtpos.ru/​api/​store/​getOnhandVersion?​apikey=MySecret&​format=xml&​ext_warehouseid=1  ​http://​mycompany.virtpos.ru/​api/​store/​getOnhandVersion?​apikey=MySecret&​format=xml&​ext_warehouseid=1
 +
 +Параметры,​ которые не отмечены как **get only**, могут быть переданы как get- или как post-параметры.
  
 Параметры:​ Параметры:​
-  * int **warehouseid** - ID склада в ВиП, для которого надо получить версию остатков +  * int **warehouseid** ​(get only) - ID склада в ВиП, для которого надо получить версию остатков 
-  * string **ext_warehouseid** - Внешний ID склада, ​ для которого надо получить версию остатков+  * string **ext_warehouseid** ​(get only) - Внешний ID склада, ​ для которого надо получить версию остатков
  
 ==== Обнуление необновленных остатков ==== ==== Обнуление необновленных остатков ====
  
  ​http://​mycompany.virtpos.ru/​api/​store/​setZeroOnhand?​apikey=MySecret&​format=xml&​ext_warehouseid=1  ​http://​mycompany.virtpos.ru/​api/​store/​setZeroOnhand?​apikey=MySecret&​format=xml&​ext_warehouseid=1
 +
 +Параметры,​ которые не отмечены как **get only**, могут быть переданы как get- или как post-параметры.
  
 Параметры:​ Параметры:​
-  * int **version** - версия,​ полученная с помощью функции getOnhandVersion +  * int **version** ​(get only) - версия,​ полученная с помощью функции getOnhandVersion 
-  * int **warehouseid** - ID склада в ВиП, для которого надо обнулить остатки +  * int **warehouseid** ​(get only) - ID склада в ВиП, для которого надо обнулить остатки 
-  * string **ext_warehouseid** - Внешний ID склада, ​ для которого надо обнулить остатки+  * string **ext_warehouseid** ​(get only) - Внешний ID склада, ​ для которого надо обнулить остатки