В системе реализован программный интерфейс для получения и обновления данных об остатках товаров в магазинах. Данные выгружаются по http протоколу. Формат на выбор - xml или json.
Пример запроса на получение данных об остатках товаров:
Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info
Ниже приведен пример ответа сервера в формате XML
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <type>store</type> <stockonly>1</stockonly> <count>1</count> <warehouses> <warehouse> <id>3</id> <name>Магазин 1</name> <count>1</count> <items> <item> <id>17007</id> <quantity>2.000</quantity> <available_quantity>1.000</available_quantity> <lot_number>12345</lot_number> <name>63838 Корм для собак 2кг</name> <article>63838</article> <cogs>0.00</cogs> <price>1126.00</price> <prices> <price> <pricelistid>4</pricelistid> <price>1126.00</price> </price> <price> <pricelistid>3</pricelistid> <price>866.00</price> </price> </prices> </item> </items> </warehouse> </warehouses> </root>
Альтернативный вариант запроса на получение остатков. В отличие от предыдущего варианта данные группируются не по точкам продаж, а по товарам. Это позволяет запросить остатки одного товара сразу во всех точках продаж:
Пример запроса на изменение данных об остатках товаров:
Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info. Также в ответе присутствуют:
Ниже приведен пример ответа сервера в формате XML
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <id>3</id> <itemid>8</itemid> <warehouseid>1</warehouseid> <isnew>0</isnew> <quantity_before>1.700</quantity_before> </root>
Логика обновления:
http://mycompany.virtpos.ru/api/store/getOnhandVersion?apikey=MySecret&format=xml&ext_warehouseid=1
Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
Параметры:
http://mycompany.virtpos.ru/api/store/setZeroOnhand?apikey=MySecret&format=xml&ext_warehouseid=1
Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
Параметры: