API предназначен для управления данными в АнтиСклад из внешних приложений.
Это позволяет синхронизировать работу интернет-магазинов с управленческим учётом в АнтиСклад.
API реализован основываясь на принципах REST.
Обмен осуществляется в формате XML по протоколу HTTPS посредством запросов GET, PUT, DELETE, POST.
Авторизация запросов:
Форма запросов:
POST https://<домен>.antisklad.ru/admin/clients.xml GET https://<домен>.antisklad.ru/admin/client/<id>.xml ...
Подписки на события представляет собой возможность получать уведомления об изменениях на складе путем отправки http-запроса. При возникновении события по указанному в подписке адресу будет выполнен POST-запрос, в теле которого будет передано описание события в формате XML.
Приложения в системе «Антисклад» могут быть двух видов: общие и частные. Общие приложения доступны для всех клиентов «Антисклад». Частные приложения доступны только их авторам или заказчикам.
Общие положения:
Фактически, приложение может находится где угодно, важно лишь правильно настроить URL установки, входа и удаления.
После того как пользователь нажал ссылку установки приложения в настройках приложений, генерируется уникальный token-ключ, который отправляется в качестве GET-параметра по указанному URL установки приложения (см. форму редактирования свойств приложения). Помимо параметра «token» отправляется также GET-параметр «domain» c названием текущего домена. В этот момент, полученный token-ключ необходимо сохранить и использовать для token-авторизации для API-запросов (передавать в заголовке «Karkas_token» с каждым запросом).
Чтобы настроить приложение, администратору необходимо заполнить соответствующие поля, нажав кнопку создания нового приложения в списке приложений (меню Настройки / Приложения):
В дальнейшем, при необходимости сделать разрабатываемое приложение общим для всех клиентов, необходимо получить согласие от администрации. Приложение может быть как бесплатным, так и платным - в зависимости от тарифа и договоренности с администрацией.
Запроc:
GET /admin/stores.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <stores type="array"> <store id="1"><name>Главный склад</name></store> <store id="2"><name>Дополнительный склад</name></store> </stores>
Запроc:
GET /admin/shops.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <shops type="array"> <shop id="1"><name>Мой интернет-магазин</name><store>1</store></shop> <shop id="2"><name>Моя розничная точка</name><store>1</store></shop> </shops>
Запроc:
POST /admin/shops.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <shop> <name>Новый магазин</name> </shop>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <shop id="3"> <name>Новый магазин</name> <created type="timestamp">2012-01-01 01:01:01 +0400</created> </category>
Запроc:
PUT /admin/shops/1.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <shop> <name>Другое название магазина</name> <store>2</store> </shop>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <shop id=5> <name>Другое название магазина</name> <store>2</store> </shop>
Помимо общего состояния склада имеется возможность получить вместо полного списка только те позиции, которые подверглись изменению на складе, начиная с указанной даты. К измененным остаткам относится товар, у которого изменились количественно-стоимостные показатели.
Запроc:
GET /admin/stores/1.xml?parameter=value
Параметры:
Например, чтобы отобрать все товары, у которых артикул начинается на «2», используйте в запросе параметр: …&article=2%25 , где %25 в url-кодировке (символ % ) означает любую последовательность символов
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <store type="array"> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="123" extId="3004">Товар 1</product> <modification> <parameter name="Размер">55</parameter> </modification> <quantity>100</quantity> <price>10</price> <cost>2</cost> <currency>RUB</currency> <rate>1</rate> <discount>0</discount> <barcodes> <barcode>2047308355270</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="123" extId="3004">Товар 1</product> <modification> <parameter name="Размер">57</parameter> </modification> <quantity>10</quantity> <price>10</price> <cost>2</cost> <currency>RUB</currency> <rate>1</rate> </item> </items> </store>
Помимо общего состояния указанных складов имеется возможность получить вместо полного списка только те позиции, которые подверглись изменению на указанных складах, начиная с указанной даты. К измененным остаткам относится товар, у которого изменились количественно-стоимостные показатели.
Запроc:
GET|POST /admin/stores_items.xml?parameter=value
Параметры: … - теже параметры, что у предыдущего запроса
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="123" extId="3004">Товар 1</product> <modification> <parameter name="Размер">55</parameter> </modification> <quantity>100</quantity> <price>10</price> <cost>2</cost> <currency>RUB</currency> <rate>1</rate> <barcodes> <barcode>2047308355270</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="123" extId="3004">Товар 1</product> <modification> <parameter name="Размер">57</parameter> </modification> <quantity>10</quantity> <price>10</price> <cost>2</cost> <currency>RUB</currency> <rate>1</rate> </item> </items>
Атрибут «quantity» тега <offer> в ответе содержит количество товарной позиции на всех складах.
Запроc:
GET /admin/icml.xml
Параметры:
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <yml_catalog date="2013-06-20 10:09:18"> <shop> <name>Vorsh</name> <company>Интернет-магазин Vorsh</company> <categories> <category id="12">Кроссовки</category> <category id="13">Мокасины</category> <category id="14">Туфли</category> <category id="15">Ботинки</category> <category id="16">Сабо</category> <category id="17">Сандалеты</category> <category id="18">Полусапоги</category> </categories> <offers> <offer id="97709e3f36e134e02ca69192ba8414da" productId="5970" quantity="0"> <price>4700.00</price> <xmlId>97709e3f36e134e02ca69192ba8414da</xmlId> <purchasePrice>2150.00</purchasePrice> <categoryId>12</categoryId> <name>Vorsh Кроссовки V534 черн CITY "черная кожа шнурки" (Размер 39)</name> <productName>Vorsh Кроссовки V534 черн CITY "черная кожа шнурки"</productName> <picture>http://localhost/clients_as/vmens/images/3338.jpg</picture> <picture>http://localhost/clients_as/vmens/images/3170.jpg</picture> <param name="Артикул" code="article">V534 черн CITY</param> <param name="Размер" is-modificator="1">39</param> <param name="Цвет" is-modificator="0">Черный</param> <param name="Подкладка" is-modificator="0">натур. кожа</param> <param name="Материал верха" is-modificator="0">натур. кожа</param> <param name="Производство" is-modificator="0">Bochetti</param> <param name="Тип товара" is-modificator="0">обычный</param> <barcode>2083782861821</barcode> </offer> <offer id="c5febc1bc1e95d99622e53069b51f3f6" productId="5970" quantity="2"> <price>4700.00</price> <xmlId>c5febc1bc1e95d99622e53069b51f3f6</xmlId> <purchasePrice>2150.00</purchasePrice> <categoryId>12</categoryId> <name>Vorsh Кроссовки V534 черн CITY "черная кожа шнурки" (Размер 40)</name> <productName>Vorsh Кроссовки V534 черн CITY "черная кожа шнурки"</productName> <picture>http://localhost/clients_as/vmens/images/3338.jpg</picture> <picture>http://localhost/clients_as/vmens/images/3170.jpg</picture> <param name="Артикул" code="article">V534 черн CITY</param> <param name="Размер" is-modificator="1">40</param> <param name="Цвет" is-modificator="0">Черный</param> <param name="Подкладка" is-modificator="0">натур. кожа</param> <param name="Материал верха" is-modificator="0">натур. кожа</param> <param name="Производство" is-modificator="0">Bochetti</param> <param name="Тип товара" is-modificator="0">обычный</param> <barcode>2092300603737</barcode> </offer> <offer id="1430b747b8dfae0894c1b72443553aad" productId="5970" quantity="1"> <price>4700.00</price> <xmlId>1430b747b8dfae0894c1b72443553aad</xmlId> <purchasePrice>2150.00</purchasePrice> <categoryId>12</categoryId> <name>Vorsh Кроссовки V534 черн CITY "черная кожа шнурки" (Размер 41)</name> <productName>Vorsh Кроссовки V534 черн CITY "черная кожа шнурки"</productName> <picture>http://localhost/clients_as/vmens/images/3338.jpg</picture> <picture>http://localhost/clients_as/vmens/images/3170.jpg</picture> <param name="Артикул" code="article">V534 черн CITY</param> <param name="Размер" is-modificator="1">41</param> <param name="Цвет" is-modificator="0">Черный</param> <param name="Подкладка" is-modificator="0">натур. кожа</param> <param name="Материал верха" is-modificator="0">натур. кожа</param> <param name="Производство" is-modificator="0">Bochetti</param> <param name="Тип товара" is-modificator="0">обычный</param> <barcode>2090315165004</barcode> </offer> </offers> </shop> </yml_catalog>
Запроc:
GET /admin/categories.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <categories type="array"> <category id=23> <name>Брюки</name> <created type="timestamp">2012-01-01 01:01:01 +0400</created> </category> <category id=25> <name>Сапоги</name> <created type="timestamp">2012-01-01 01:01:01 +0400</created> </category> </categories>
Запроc :
GET /admin/categories/25.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <category id=25> <name>Одежда/Костюмы</name> <created type="timestamp">2012-01-01 01:01:01 +0400</created> </category>
Запроc:
POST /admin/categories.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <category> <name>Одежда/Мужская/Сорочки</name> </category>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <category id="56"> <name>Одежда/Мужская/Сорочки</name> <created type="timestamp">2012-01-01 01:01:01 +0400</created> </category>
Запроc:
PUT /admin/categories/55.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <category> <name>Сапоги</name> </category>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <category id=55> <name>Сапоги</name> <created type="timestamp">2012-01-01 01:01:01 +0400</created> </category>
Запроc:
DELETE /admin/categories/77.xml
Ответ:
HTTP/1.1 200 OK
Запроc:
GET /admin/products.xml?parameter=value
По-умолчанию, список сортируется по времени создания товара. Чтобы поменять направление сортировки используйте параметр order-by-creation=desc
Параметры:
Например, чтобы отобрать все товары, у которых артикул начинается на «2», используйте в запросе параметр: …&article=2%25 , где %25 в url-кодировке (символ % ) означает любую последовательность символов
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <products type="array"> <product id="234234" hidden="false" extId="3004"> <category id="3333">Одежда/Мужская/Сорочки</category> <name>Сорочка мужская B101</name> <article>W-101/202</article> <description>Полное описание товара</description> <short-description>Краткое описание</short-description> <created>2009-06-04 14:22:34 +0400</created> <parameters> <parameter name="Торговая марка">Velaner</parameter> <parameter name="Производитель">Россия, ООО "Ромашка"</parameter> <parameter name="Состав">100% хлопок</parameter> <parameter name="Дата производства">2014-02-13</parameter> </parameters> <default-prices> <cost>856</cost> <price>1500</price> <old-price>2000</old-price> </default-prices> <vendor id="10">Chili Technologies S.L.</vendor> <modifications> <modification> <parameter name="Размер">XS</parameter> <barcodes> <barcode>2046497976600</barcode> <barcode>4602347974121</barcode> </barcodes> </modification> <modification> <parameter name="Размер">S</parameter> <barcodes> <barcode>2046497345345</barcode> </barcodes> </modification> <modification> <parameter name="Размер">M</parameter> <barcodes> <barcode>2046497345764</barcode> <barcode>2046497345466</barcode> </barcodes> </modification> </modifications> <images> <image id="123123"> <original-url>image.png</original-url> <url>https://image.antisklad.ru/12349.jpg</url> <description/> </image> <image id="123321"> <original-url>image.png</original-url> <url>https://image.antisklad.ru/12349.jpg</url> <description/> </image> </images> </product> <product id="234234" extId="3005"> <category id="3333">Одежда/Мужская/Брюки</category> <name>Брюки мужские B2101</name> <article>W-1014/2002</article> <description>Полное описание товара</description> <created>2009-06-04 14:22:34 +0400</created> <parameters> <parameter name="Торговая марка">Velaner</parameter> <parameter name="Производитель">Россия, ООО "Ромашка"</parameter> <parameter name="Состав">70% хлопок</parameter> <parameter name="Дата производства">2014-02-14</parameter> </parameters> <default-prices> <cost>786</cost> <price>2000</price> <old-price>2400</old-price> </default-prices> <vendor id="10">Chili Technologies S.L.</vendor> <modifications> <modification> <parameter name="Размер">44</parameter> <parameter name="Рост">2</parameter> <barcodes> <barcode>2046495345355</barcode> <barcode>2046345345554</barcode> </barcodes> </modification> <modification> <parameter name="Размер">44</parameter> <parameter name="Рост">3</parameter> <barcodes> <barcode>2046497345345</barcode> </barcodes> </modification> <modification> <parameter name="Размер">46</parameter> <parameter name="Рост">2</parameter> <barcodes/> </modification> </modifications> <images> <image id="1234"> <original-url>image4.png</original-url> <url>https://image.antisklad.ru/1259.jpg</url> <description/> </image> <image id="1231"> <original-url>image5.png</original-url> <url>https://image.antisklad.ru/123.jpg</url> <description/> </image> </images> </product> </products>
Запроc:
GET /admin/products/234234.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <product id="234234" hidden="false" extId="3004"> <category id="3333">Одежда/Мужская/Сорочки</category> <name>Сорочка мужская B101</name> <article>W-101/202</article> <description><p><span style="font-family: 'Times New Roman'; font-size: 16px;"> </span></p></description> <short-description>Тут краткое описание товара</short-description> <created>2009-06-04 14:22:34 +0400</created> <parameters> <parameter name="Торговая марка">Velaner</parameter> <parameter name="Производитель">Россия, ООО "Ромашка"</parameter> <parameter name="Состав">100% хлопок</parameter> <parameter name="Дата производства">2014-02-13</parameter> </parameters> <default-prices> <cost>786</cost> <price>2000</price> <old-price>2400</old-price> </default-prices> <vendor id="10">Chili Technologies S.L.</vendor> <modifications> <modification itemId="60a70f9aeb399bec32500d331bbe4152"> <parameter name="Размер">XS</parameter> <barcodes> <barcode>2046497976600</barcode> <barcode>4602347974121</barcode> </barcodes> </modification> <modification itemId="b78f692708305e860c1068819a74457e"> <parameter name="Размер">S</parameter> <barcodes> <barcode>2046497972345</barcode> </barcodes> </modification> <modification itemId="5bb39ec9322f1a831f6c1d3f7bd883ac"> <parameter name="Размер">M</parameter> <barcodes> <barcode>2046497976600</barcode> </barcodes> </modification> </modifications> <images> <image id="123123"> <original-url>image.png</original-url> <url>https://image.antisklad.ru/12349.jpg</url> <description/> </image> <image id="123321"> <original-url>image.png</original-url> <url>https://image.antisklad.ru/12349.jpg</url> <description/> </image> </images> </product>
Запрос:
POST /admin/products.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <product extId="123123123"> <categoryId>202</categoryId> или <category>Одежда/Мужская/Сорочки</category> <name>Сорочка мужская B101</name> <article>W-101/202</article> <description>Полное описание товара</description> <short-description>Краткое описание</short-description> <default-prices> <cost>856</cost> <price>1500</price> <old-price>2000</old-price> </default-prices> <parameters> <parameter name="Торговая марка">Velaner</parameter> <parameter name="Производитель">Россия, ООО "Ромашка"</parameter> <parameter name="Состав">100% хлопок</parameter> <parameter name="Дата производства">2014-02-13</parameter> </parameters> <barcodes><barcode>2055566611122</barcode></barcodes> /* если без модификаций товаров */ <modifications> <modification itemId="03f544613917945245041ea1581df0c2"> <parameter name="Размер">XS</parameter> <barcodes> <barcode>2046497345345</barcode> </barcodes> </modification> <modification itemId="a20695d961021da9ca2faca910b5d7de"> <parameter name="Размер">S</parameter> <barcodes> <barcode>2046497375454</barcode> </barcodes> </modification> <modification itemId="9f36407ead0629fc166f14dde7970f68"> <parameter name="Размер">M</parameter> <barcodes> <barcode>2046498767834</barcode> </barcodes> </modification> </modifications> <images> <image> <original-url>http://site.ru/image1.png</original-url> <description>Вид сбоку</description> </image> <image> <original-url>http://site.ru/image2.png</original-url> <description/> </image> </images> </product>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <product id="234234"> <created>2009-06-04 14:22:34 +0400</created> <category id="3333">Одежда/Мужская/Сорочки</category> <name>Сорочка мужская B101</name> <article>W-101/202</article> <description>Полное описание товара</description> <short-description>Краткое описание</short-description> <parameters> <parameter name="Торговая марка">Velaner</parameter> <parameter name="Производитель">Россия, ООО "Ромашка"</parameter> <parameter name="Состав">100% хлопок</parameter> <parameter name="Дата производства">2014-02-13</parameter> </parameters> <modifications> <modification> <parameter name="Размер">XS</parameter> <barcodes> <barcode>2046497345345</barcode> </barcodes> </modification> <modification> <parameter name="Размер">S</parameter> <barcodes> <barcode>2046497375454</barcode> </barcodes> </modification> <modification> <parameter name="Размер">M</parameter> <barcodes> <barcode>2046498767834</barcode> </barcodes> </modification> </modifications> <images> <image id="123123"> <original-url>http://site.ru/image1.png</original-url> <url>https://image.antisklad.ru/12349.png</url> <description>Вид сбоку</description> </image> <image id="123321"> <original-url>http://site.ru/image2.png</original-url> <url>https://image.antisklad.ru/12349.png</url> <description/> </image> </images> </product>
В случае, если добавляемый товар с указанным extId уже имеется в списке действующих товаров или в списке удаленных (в корзине), то возвращается ошибка 409 с XML конфликтующего товара. Чтобы отличить удаленный товар от действующего, используйте атрибут deleted=0|1 тега <product/> конфликтующего товара.
При необходимости добавить в рамках одной транзакции множество товаров, необходимо их передавать в корневом тэге <products> Разрешается создавать в одном запросе не более 300 товаров.
Запрос:
POST /admin/products.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <products> <product>...</product> ... <product>...</product> </products>
Ответ:
HTTP/1.1 200 OK <products> <product>...</product> ... <product>...</product> </products>
Запроc:
PUT /admin/products/234234.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <product> <extId>3004</extId> <categoryId>202</categoryId> <name>Сорочка мужская B101</name> <article>W-101/202</article> <description>Полное описание товара</description> <short-description>Краткое описание</short-description> <parameters> <parameter name="Торговая марка">Velaner</parameter> <parameter name="Производитель">Россия, ООО "Ромашка"</parameter> <parameter name="Состав">100% хлопок</parameter> <parameter name="Дата производства">2014-02-13</parameter> </parameters> <modifications> <modification> <parameter name="Размер">XS</parameter> <barcodes> <barcode>2046497345345</barcode> </barcodes> </modification> <modification> <parameter name="Размер">S</parameter> <barcodes/> </modification> <modification> <parameter name="Размер">M</parameter> <barcodes> <barcode>2046498767834</barcode> </barcodes> </modification> </modifications> <images> <image> <original-url>http://site.ru/image1.png</original-url> <description>Вид сбоку</description> </image> <image> <original-url>http://site.ru/image2.png</original-url> <description/> </image> </images> </product>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <product id="234234" extId="3004"> <created>2009-06-04 14:22:34 +0400</created> <category id="3333">Одежда/Мужская/Сорочки</category> <name>Сорочка мужская B101</name> <article>W-101/202</article> <description>Полное описание товара</description> <short-description>Краткое описание</short-description> <parameters> <parameter name="Торговая марка">Velaner</parameter> <parameter name="Производитель">Россия, ООО "Ромашка"</parameter> <parameter name="Состав">100% хлопок</parameter> <parameter name="Дата производства">2014-02-13</parameter> </parameters> <modifications> <modification> <parameter name="Размер">XS</parameter> <barcodes> <barcode>2046497345345</barcode> </barcodes> </modification> <modification> <parameter name="Размер">S</parameter> <barcodes/> </modification> <modification> <parameter name="Размер">M</parameter> <barcodes> <barcode>2046498767834</barcode> </barcodes> </modification> </modifications> <images> <image id="123123"> <original-url>http://site.ru/image1.png</original-url> <url>https://image.antisklad.ru/12349.png</url> <description>Вид сбоку</description> </image> <image id="123321"> <original-url>http://site.ru/image2.png</original-url> <url>https://image.antisklad.ru/12349.png</url> <description/> </image> </images> </product>
Запроc:
DELETE /admin/products/12343.xml
Ответ:
HTTP/1.1 200 OK
Запроc:
GET /admin/clients.xml?parameter=value
Параметры:
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <clients type="array"> <client id="167"> <name>Иванов Иван Иванович</name> <created>2013-08-25 20:32:08+04</created> <phone>+79115554126</phone> <card>26323</card> <discount>5</discount> <address>ул.Ленина д.5</address> <email>ivanov@mail.ru</email> <comment/> <birthday>1996-01-25</birthday> </client> <client id="185"> <name>Сидоров Сидр Сидорович</name> <created>2013-09-24 12:05:20+04</created> <phone>+79125550252</phone> <card>27652</card> <discount>5</discount> <address/> <email>sidr@yandex.ru</email> <comment/> <birthday/> </client> </clients>
Запрос:
GET /admin/clients/167.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <client id="167"> <type>person</type> <name>Иванов Иван Иванович</name> <created>2013-08-25 20:32:08+04</created> <phone>+79115554126</phone> <card>26323</card> <discount>5</discount> <start-sales-sum>2000</start-sales-sum> <address>ул.Ленина д.5</address> <email>ivanov@mail.ru</email> <comment/> <sex>1</sex> <birthday>1996-01-25</birthday> </client>
Запрос:
POST /admin/clients.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <client> <name>Иванов Иван Иванович</name> <phone>+79115554126</phone> <card>26323</card> <discount>5</discount> <address>ул.Ленина д.5</address> <email>ivanov@mail.ru</email> <comment/> <birthday>1996-01-25</birthday> </client>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <client id="167"> <name>Иванов Иван Иванович</name> <created>2013-08-25 20:32:08+04</created> <phone>+79115554126</phone> <card>26323</card> <discount>5</discount> <address>ул.Ленина д.5</address> <email>ivanov@mail.ru</email> <comment/> <birthday>1996-01-25</birthday> </client>
Запрос:
PUT /admin/clients/167.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <client> <name>Иванов Иван Иванович</name> <phone>+79115554126</phone> <card>26323</card> <discount>5</discount> <address>ул.Ленина д.5</address> <email>ivanov@mail.ru</email> <comment/> <birthday>1996-01-25</birthday> </client>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <client id="167"> <name>Иванов Иван Иванович</name> <created>2013-08-25 20:32:08+04</created> <phone>+79115554126</phone> <card>26323</card> <discount>5</discount> <address>ул.Ленина д.5</address> <email>ivanov@mail.ru</email> <comment/> <birthday>1996-01-25</birthday> </client>
Запроc:
DELETE /admin/clients/234.xml
Ответ:
HTTP/1.1 200 OK
Запроc:
GET /admin/users.xml?parameter=value
Параметры:
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <users type="array"> <user id="1"> <name>Наталья Иванова</name> <created>2013-08-25 20:32:08+04</created> <phone>+79115554126</phone> <email>ivanov@mail.ru</email> </user> <user id="2"> <name>Марина Петрова</name> <created>2013-09-24 12:05:20+04</created> <phone>+79125550252</phone> <email>sidr@yandex.ru</email> </user> </users>
Запроc:
POST /admin/users.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <user> <first_name>Мария</first_name> <login>Мария</login> <password>md5(явный_пароль)</password> </user>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <shop id="3"> <name>Новый магазин</name> <created type="timestamp">2012-01-01 01:01:01 +0400</created> </category>
Запрос:
GET /admin/users/1.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <user id="1"> <name>Наталья Иванова</name> <created>2013-08-25 20:32:08+04</created> <phone>+79115554126</phone> <email>ivanov@mail.ru</email> </user>
Запрос:
GET /admin/orders.xml?parameter=value
Параметры:
В ответе присутствует информация о резерве, если заказ еще не отправлен:
<reserved-percent type="integer">73</reserved-percent> - показывает процент реального наполнения товаром по заказу <reserved-all>0</reserved-all> - означает признак полного резервированная (заказ можно отправлять клиенту) <reserve id="21153">Резерв по заказу №16</reserve> - краткую информацию о резерве. Для получения полной информации по резерву необходимо выполнить соответствующий запрос admin/reserves/16.xml
Ответ:
<orders type="array"> <order id="16"> <shop id="1">Магазин "Ромашка"</shop> <number>10003</number> <client id="148"> <name>Сидоров Сидр Сергеевич</name> <created>2013-08-15 20:05:41+04</created> <phone>+79215454545</phone> <card>26725</card> <discount>5</discount> <address>ул. Сидорова 55 кв.44</address> <email>sidr@mail.ru</email> <comment/> <birthday>1984-12-23</birthday> </client> <created>2014-06-26 21:44:27+04</created> <status>new</status> <summa>3360.15</summa> <delivery-type id="4">Курьером</delivery-type> <delivery-cost>300.15</delivery-cost> <delivery-address>на деревню дедушке</delivery-address> <delivery-begin-time/> <delivery-end-time>2012-12-12 00:00:00+04</delivery-end-time> <pay-time/> <pay-type>Наличными</pay-type> <comment>оплачено 1000р осталось 2360,15р.</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056" ext="4334"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>0</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>2</quantity> </item> </items> <reserved-percent type="integer">73</reserved-percent> <reserved-all>0</reserved-all> <reserve id="21153">Резерв по заказу №16</reserve> </order> </orders>
Запрос:
GET /admin/orders/16.xml?parameter=value
Параметры:
В ответе присутствует информация о резерве, если заказ еще не отправлен:
<reserved-percent type="integer">73</reserved-percent> - показывает процент реального наполнения товаром по заказу <reserved-all>0</reserved-all> - означает признак полного резервированная (заказ можно отправлять клиенту) <reserve id="21153">Резерв по заказу №16</reserve> - краткую информацию о резерве.
Для получения полной информации по резерву необходимо выполнить соответствующий запрос admin/reserves/16.xml
Ответ:
<order id="16"> <shop id="1">Магазин "Ромашка"</shop> <number>10003</number> <client id="148"> <name>Сидоров Сидр Сергеевич</name> <created>2013-08-15 20:05:41+04</created> <phone>+79215454545</phone> <card>26725</card> <discount>5</discount> <address>ул. Сидорова 55 кв.44</address> <email>sidr@mail.ru</email> <comment/> <birthday>1984-12-23</birthday> </client> <created>2014-06-26 21:44:27+04</created> <status>new</status> <dispatch-required-time/> <summa>3360.15</summa> <delivery-type id="4">Курьером</delivery-type> <delivery-cost>300.15</delivery-cost> <delivery-address>на деревню дедушке</delivery-address> <delivery-begin-time/> <delivery-end-time>2012-12-12 00:00:00+04</delivery-end-time> <pay-time/> <pay-type>Наличными</pay-type> <comment>оплачено 1000р осталось 2360,15р.</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056" ext="4333"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>0</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>2</quantity> </item> </items> <reserved-percent type="integer">73</reserved-percent> <reserved-all>0</reserved-all> <reserve id="21153">Резерв по заказу №16</reserve> </order>
Запрос:
PUT /admin/orders/16.xml
При указании тега <reserved-all>1</reserved-all> система попытается зарезервировать полностью товар для заказа. Если это не удается, то возвращается ошибка.
Тело запроса:
<order> <number>10003</number> <client>148</client> <dispatch-required-time/> <status>accepted</status> <delivery-type>Курьером</delivery-type> <delivery-cost>300.15</delivery-cost> <delivery-address>на деревню дедушке</delivery-address> <delivery-begin-time/> <delivery-end-time>2012-12-12 00:00:00+04</delivery-end-time> <pay-time/> <pay-type>Наличными</pay-type> <comment>заказ изменен</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product>2557</product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Зеленый</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>5</quantity> </item> </items> <reserved-all>1</reserved-all> </order>
Ответ:
<order id="16"> <shop>1</shop> <number>10003</number> <client id="148"> <name>Сидоров Сидр Сергеевич</name> <created>2013-08-15 20:05:41+04</created> <phone>+79215454545</phone> <card>26725</card> <discount>5</discount> <address>ул. Сидорова 55 кв.44</address> <email>sidr@mail.ru</email> <comment/> <birthday>1984-12-23</birthday> </client> <created>2014-06-26 21:44:27+04</created> <status>new</status> <dispatch-required-time/> <summa>1960.15</summa> <delivery-type id="4">Курьером</delivery-type> <delivery-cost>300.15</delivery-cost> <delivery-address>на деревню дедушке</delivery-address> <delivery-begin-time/> <delivery-end-time>2012-12-12 00:00:00+04</delivery-end-time> <pay-time/> <pay-type>Наличными</pay-type> <comment>заказ изменен</comment> <items type="array"> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557" ext="4334"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>5</quantity> </item> </items> <reserved-percent type="integer">100</reserved-percent> <reserved-all>1</reserved-all> <reserve id="21153">Резерв по заказу №16</reserve> </order>
Запрос:
POST /admin/orders.xml
Товарную позицию можно идентифицировать 3-мя способами перечисленными в разделе добавления поступления.
Тело запроса:
<order ns="ozon"> <shop>1</shop> <number>10150</number> <creation-time>2023-01-22 00:00:00+04</creation-time> <status>packing</status> <status-time>2023-01-23 00:00:00+04</status-time> <client>238</client> <dispatch-required-time/> <delivery-type id="8">Самовывоз</delivery-type> <delivery-cost>500</delivery-cost> <delivery-address>на деревню бабушке</delivery-address> <delivery-begin-time/> <delivery-end-time>2023-01-25 00:00:00+04</delivery-end-time> <pay-time/> <pay-type>Наличными</pay-type> <comment>новый супер заказ</comment> <items type="array"> <item> /* запись по id товара и модификации без кода позиции */ <product>6557</product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <price>300</price> <discount>60</discount> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> /* запись по коду позиции */ <price>1300</price> <discount>0</discount> <quantity>2</quantity> </item> </items> <reserved-all>1</reserved-all> </order>
Ответ:
<order id="26" ns="ozon"> <shop>1</shop> <number>10150</number> <client id="238"> <name>Иванов Иван Сергеевич</name> <created>2013-03-25 10:05:31+04</created> <phone>+79291212121</phone> <card>3425</card> <discount>3</discount> <address>ул. Иванова 55 кв.44</address> <email>ivan@mail.ru</email> <comment/> <birthday>1904-10-23</birthday> </client> <created>2012-06-26 21:44:27+04</created> <dispatch-required-time/> <status>new</status> <summa>3140</summa> <delivery-type id="8">Самовывоз</delivery-type> <delivery-cost>500</delivery-cost> <delivery-address>на деревню бабушке</delivery-address> <delivery-begin-time/> <delivery-end-time>2013-12-12 00:00:00+04</delivery-end-time> <pay-time/> <pay-type>Наличными</pay-type> <comment>новый супер заказ</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="6557"> <name>Носки б-355</name> <article>б-355</article> <category id="54">Носки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images/> <created>2013-01-16 02:06:10+04</created> </product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <price>300</price> <discount>60</discount> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="67"> <name>Табурет</name> <article>2125м</article> <category id="58">Мебель</category> <parameters> <parameter name="Цвет">Красный</parameter> </parameters> <images/> <created>2013-06-24 22:06:10+04</created> </product> <modification/> <price>1300</price> <discount>0</discount> <quantity>2</quantity> </item> </items> <reserved-percent type="integer">100</reserved-percent> <reserved-all>1</reserved-all> <reserve id="21153">Резерв по заказу №16</reserve> </order>
Запрос:
DELETE /admin/orders/16.xml
Ответ:
HTTP/1.1 200 OK
Запрос:
GET /admin/orders-statuses.xml
Ответ:
<orders-statuses type="array"> <status id="new">Новый</status> <status id="accepted">В обработке</status> <status id="approved">Согласован</status> <status id="packing">На комплектации</status> <status id="packed">Готов к отправке</status> <status id="dispatched">Отправлен</status> <status id="delivered">Выполнен</status> <status id="declined">Отменен</status> </orders-statuses>
Запрос:
GET /admin/pay-types.xml
Ответ:
<pay-types type="array"> <pay-type id="bn">Безналичный расчет</pay-type> <pay-type id="cash">Наличными</pay-type> </pay-types>
Запрос:
GET /admin/delivery-types.xml
Ответ:
<delivery-types type="array"> <delivery-type id="1">Доставка курьером в черте города</delivery-type> <delivery-type id="2">Самовывоз</delivery-type> </delivery-types>
Запрос:
GET /admin/sales.xml?parameter=value
Параметры:
Ответ:
<sales type="array"> <sale id="16"> <shop id="1">Ромашка</shop> <store id="1">Склад "Ромашка"</store> <client id="148">Сидоров Сидр Сергеевич</client> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <summa>3360.15</summa> <cash>3360.15</cash> <comment>оплачено наличными</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>0</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>2</quantity> </item> </items> </sale> </sales>
Запрос:
GET /admin/sales/16.xml
Параметры:
Ответ:
<sale id="16"> <shop id="1">Ромашка</shop> <store id="1">Склад "Ромашка"</store> <client id="148">Сидоров Сидр Сергеевич</client> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <summa>3360.15</summa> <cash>3360.15</cash> <comment>оплачено наличными</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>0</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>2</quantity> </item> </items> </sale>
Запрос:
POST /admin/sales.xml
Каждая товарная позиция может быть идентифицирована как уникальным атрибутом <item id='…'>, полученным ранее, так и тегом <product> с тегом модификации, при необходимости. Атрибут <item id='…'> считается более приоритетным над тегами <product> + <modification>
Тело запроса:
<sale uuid="8d2a202e-4d6b-4d3c-9813-6728dc29baa6"> <shop>1</shop> <client>238</client> <user>23</user> <seller>24</seller> <action-time>2018-10-20 10:36:00</action-time> <cash>500</cash> <comment>новая супер продажа</comment> <items type="array"> <item> <product>6557</product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <price>300</price> <discount>60</discount> <quantity>1</quantity> </item> <item> <product>67</product> <modification/> <price>1300</price> <discount>0</discount> <quantity>2</quantity> </item> </items> </sale>
Ответ:
<sale id="26768"> <shop>1</shop> <user id="23"> <name>Иванова Лариса</name> </user> <client id="238"> <name>Иванов Иван Сергеевич</name> <created>2013-03-25 10:05:31+04</created> <phone>+79291212121</phone> <card>3425</card> <discount>3</discount> <address>ул. Иванова 55 кв.44</address> <email>ivan@mail.ru</email> <comment/> <birthday>1904-10-23</birthday> </client> <created>2012-06-26 21:44:27+04</created> <summa>2840</summa> <cash>500</cash> <comment>новая супер продажа</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="6557"> <name>Носки б-355</name> <article>б-355</article> <category id="54">Носки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images/> <created>2013-01-16 02:06:10+04</created> </product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <price>300</price> <discount>60</discount> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="67"> <name>Табурет</name> <article>2125м</article> <category id="58">Мебель</category> <parameters> <parameter name="Цвет">Красный</parameter> </parameters> <images/> <created>2013-06-24 22:06:10+04</created> </product> <modification/> <price>1300</price> <discount>0</discount> <quantity>2</quantity> </item> </items> </sale>
Запрос:
DELETE /admin/sales/16.xml
Ответ:
HTTP/1.1 200 OK
Запрос:
GET /admin/refunds.xml?parameter=value
Параметры:
Ответ:
<refunds type="array"> <refund id="16"> <saleId>35623</saleId> <shop id="1">Ромашка</shop> <store id="1">Склад "Ромашка"</store> <client id="148">Сидоров Сидр Сергеевич</client> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <summa>2300</summa> <cash>0</cash> <comment>возвращено по безналу</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> </items> </refund> </refunds>
Запрос:
GET /admin/refunds/16.xml
Параметры:
Ответ:
<refund id="16"> <saleId>35623</saleId> <shop id="1">Ромашка</shop> <store id="1">Склад "Ромашка"</store> <client id="148">Сидоров Сидр Сергеевич</client> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <summa>2300</summa> <cash>0</cash> <comment>возвращено по безналу</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> </items> </refund>
Запрос:
POST /admin/refunds.xml
Тело запроса:
<refund> <sale>35623</sale> <user>23</user> <cash>500</cash> <comment>возврат брака</comment> <items type="array"> <item> <product>6557</product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <price>300</price> <discount>60</discount> <quantity>1</quantity> </item> <item> <product>67</product> <modification/> <price>1300</price> <discount>0</discount> <quantity>2</quantity> </item> </items> </refund>
Ответ:
<refund id="16"> <saleId>35623</saleId> <user id="23"></user> <shop id="1">Ромашка</shop> <store id="1">Склад "Ромашка"</store> <client id="148">Сидоров Сидр Сергеевич</client> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <summa>2300</summa> <cash>500</cash> <comment>возвращено по безналу</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056">Рубашка Апельсин 33549 в полоску</product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>1</quantity> </item> </items> </refund>
Запрос:
DELETE /admin/refunds/16.xml
Ответ:
HTTP/1.1 200 OK
Закупка от поставщика отличается от обычного поступления только наличием тега <vendor>. Тег <cost> определяет суммарную закупочную стоимость всех позиций поступления.
Запрос:
GET /admin/purchases.xml
Параметры:
Ответ:
<purchases type="array"> <purchase id="16"> <store id="1">Склад "Ромашка"</store> <vendor id="22">ИП "Иванов И.И."</vendor> <user id="23">Иванов Андрей</user> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3200</cost> <currency>RUB</currency> <rate>1</rate> <quantity>3</quantity> <comment>возврат брака</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>2</quantity> </item> </items> </purchase> </purchases>
Запрос:
GET /admin/purchases/16.xml
Параметры:
Ответ:
<purchase id="16"> <store id="1">Склад "Ромашка"</store> <vendor id="22">ИП "Иванов И.И."</vendor> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3200</cost> <currency>RUB</currency> <rate>1</rate> <quantity>3</quantity> <comment>возврат брака</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>2</quantity> </item> </items> </purchase>
Запрос:
POST /admin/purchases.xml
Закупка от поставщика отличается от обычного поступления только наличием тега <vendor>. Тег <cost> определяет закупочную стоимость позиций поступления/возврата.
Тег <currency> определяет валюту текущего поступления. Одно из значений (RUB, USD, EUR, BYN, KZT, UAH).
Тег <rate> определяет курс указанной валюты для текущего поступления.
Товарную позицию можно идентифицировать 3-мя способами (в порядке приоритета):
Тело запроса:
<purchase> <store>1</store> <vendor>22</vendor> <user>23</user> <action-time>2020-06-26 21:53</action-time> <comment>новое супер-поступление</comment> <currency>RUB</currency> <rate>1</rate> <items> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product>1056</product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product>2557</product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <quantity>2</quantity> </item> </items> </purchase>
Ответ:
<purchase id="116"> <store id="1">Склад "Ромашка"</store> <vendor id="22">ИП "Иванов И.И."</vendor> <user id="23">Иванов Андрей</user> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3200</cost> <currency>RUB</currency> <rate>1</rate> <quantity>3</quantity> <comment>возврат брака</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>2</quantity> </item> </items> </purchase>
Если поступление еще не проведено (планируемое поступление), то в нем можно менять все.
Если поступление проведено (находится в архиве), то изменить в нем можно все, кроме склада и количества.
Запрос:
PUT /admin/purchases/116.xml
Тело запроса:
<purchase> <store>1</store> <vendor>22</vendor> <user>23</user> <action-time>2020-06-26 21:53</action-time> <comment>новое супер-поступление</comment> <currency>RUB</currency> <rate>1</rate> <items> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product>1056</product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product>2557</product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <quantity>2</quantity> </item> </items> </purchase>
Ответ: Аналогичен, ответу на добавление поступления.
Запрос:
DELETE /admin/purchases/116.xml
Ответ:
HTTP/1.1 200 <?xml version="1.0"?> <purchase id="8284"> <store id="1">2-oй Муринский пр. 38</store> <vendor id="3">жанна произвдство</vendor> <created>2022-01-29 17:29:07+03</created> <action-time/> <cost>0</cost> <currency>RUB</currency> <rate>1.00</rate> <quantity>20</quantity> <comment>новое супер-поступление</comment> <items type="array" count="1"> <item id="93a47e2f8219b9304ae61eb25496c7fe"> <product id="48">Халат жен. 215(сатори)</product> <modification> <parameter name="size">40</parameter> <parameter name="colour-sleeve">белый-2</parameter> </modification> <cost>111</cost> <rate>77</rate> <cost_nat>8547</cost_nat> <price>3990</price> <discount>1000</discount> <quantity>20</quantity> </item> </items> </purchase>
Запрос:
GET /admin/migrations.xml?parameter=value
Параметры:
Ответ:
<migrations type="array"> <migration id="16"> <store_from id="1">Склад "Ромашка"</store> <store_to id="2">Главный склад</store> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3360.15</cost> <quantity>3</quantity> <comment>оплачено наличными</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>0</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>2</quantity> </item> </items> </migration> </migrations>
Запрос:
GET /admin/migrations/16.xml
Параметры:
Ответ:
<migration id="16"> <store_from id="1">Склад "Ромашка"</store> <store_to id="2">Главный склад</store> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3360.15</cost> <comment>оплачено наличными</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>0</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <price>400</price> <discount>70</discount> <quantity>2</quantity> </item> </items> </migration>
Запрос:
POST /admin/migrations.xml
Тело запроса:
<migration> <store_from>1</store_from> <store_to>2</store_to> <user>23</user> <comment>новое супер-перемещение</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product>6557</product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product>67</product> <modification/> <quantity>2</quantity> </item> </items> </migration>
Ответ:
<migration id="116"> <store_from>1</store_from> <store_to>2</store_to> <user id="23">Иванова Лариса</user> <created>2012-06-26 21:44:27+04</created> <cost>2840</cost> <comment>новое супер-перемещение</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="6557"> <name>Носки б-355</name> <article>б-355</article> <category id="54">Носки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images/> <created>2013-01-16 02:06:10+04</created> </product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <price>300</price> <discount>60</discount> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="67"> <name>Табурет</name> <article>2125м</article> <category id="58">Мебель</category> <parameters> <parameter name="Цвет">Красный</parameter> </parameters> <images/> <created>2013-06-24 22:06:10+04</created> </product> <modification/> <price>1300</price> <discount>0</discount> <quantity>2</quantity> </item> </items> </migration>
Запрос:
DELETE /admin/migrations/116.xml
Ответ:
HTTP/1.1 200 OK
Возврат поставщику отличается от обычного списания только наличием тега <vendor>. Тег <cost> определяет закупочную стоимость списания и его позиций.
Запрос:
GET /admin/restores.xml
Параметры:
Ответ:
<restores type="array"> <restore id="16"> <store id="1">Склад "Ромашка"</store> <vendor id="22">ИП "Иванов И.И."</vendor> <user id="23">Иванов Андрей</user> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3200</cost> <quantity>3</quantity> <comment>возврат брака</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>2</quantity> </item> </items> </restore> </restores>
Запрос:
GET /admin/restores/16.xml
Параметры:
Ответ:
<restore id="16"> <store id="1">Склад "Ромашка"</store> <vendor id="22">ИП "Иванов И.И."</vendor> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3200</cost> <quantity>3</quantity> <comment>возврат брака</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>2</quantity> </item> </items> </restore>
Запрос:
POST /admin/restores.xml
Возврат поставщику отличается от обычного списания только наличием тега <vendor>. Тег <cost> определяет закупочную стоимость позиций списания/возврата.
Товарную позицию можно идентифицировать 3-мя способами перечисленными в разделе добавления поступления.
Тело запроса:
<restore> <store>1</store> <vendor>22</vendor> <user>23</user> <comment>новое супер-списание</comment> <items> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product>1056</product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product>2557</product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>2</quantity> </item> </items> </restore>
Ответ:
<restore id="116"> <store id="1">Склад "Ромашка"</store> <vendor id="22">ИП "Иванов И.И."</vendor> <user id="23">Иванов Андрей</user> <created>2014-06-26 21:44:27+04</created> <action-time>2014-06-26 21:44:27+04</action-time> <cost>3200</cost> <quantity>3</quantity> <comment>возврат брака</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056"> <name>Рубашка Апельсин 33549 в полоску</name> <article>33549</article> <category id="3">Рубашка</category> <parameters> <parameter name="Торговая марка">Апельсин</parameter> <parameter name="Производитель">Китай</parameter> </parameters> <images> <image id="1037"> <original-url>u2ccsAso5FM.jpg</original-url> <url>https://demo.antisklad.ru/?image=1037</url> <description>Вид сверху</description> </image> </images> <created>2013-02-26 20:15:00+04</created> </product> <modification> <parameter name="Размер">40</parameter> </modification> <cost>2400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>1</quantity> </item> <item id="010ef0a8841bd2490a7e39a474cfed03"> <product id="2557"> <name>Чулки а-355</name> <article>а-355</article> <category id="76">Чулки</category> <parameters> <parameter name="Торговая марка">Колобок</parameter> <parameter name="Производитель">Россия</parameter> </parameters> <images> <image id="1037"> <original-url>chulki-355.jpg</original-url> <url>https://demo.antisklad.ru/?image=3455</url> <description/> </image> </images> <created>2013-06-16 22:16:00+04</created> </product> <modification> <parameter name="Рост">30</parameter> <parameter name="Цвет">Красный</parameter> </modification> <cost>400</cost> <currency>RUB</currency> <rate>1</rate> <quantity>2</quantity> </item> </items> </restore>
Запрос:
DELETE /admin/restores/116.xml
Ответ:
HTTP/1.1 200 OK
Запрос:
GET /admin/reserves.xml?parameter=value
Параметры:
Ответ:
<reserves type="array"> <reserve id="16"> <type>migration</type> <status>new</status> <name>Мой резерв</name> <store id="1">Склад "Ромашка"</store> <store_to id="2">Склад "Второй"</store_to> <vendor id="2">ООО "Поставщик 1"</vendor> <order id="1001">100023</order> <client id="148">Сидоров Сидр Сергеевич</client> <created>2014-06-26 21:44:27+04</created> <comment>возвращено по безналу</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056">Рубашка Апельсин 33549 в полоску</product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>1</quantity> </item> <barcodes> <barcode>2032914541315</barcode> </barcodes> </items> </reserve> </reserves>
Запрос:
GET /admin/reserves/16.xml
Параметры:
Ответ:
<reserve id="16"> <type>migration</type> <status>new</status> <name>Мой резерв</name> <store id="1">Склад "Ромашка"</store> <store_to id="2">Склад "Второй"</store_to> <vendor id="2">ООО "Поставщик 1"</vendor> <order id="1001">100023</order> <client id="148">Сидоров Сидр Сергеевич</client> <created>2014-06-26 21:44:27+04</created> <comment>возвращено по безналу</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056">Рубашка Апельсин 33549 в полоску</product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>1</quantity> <barcodes> <barcode>2032914541315</barcode> </barcodes> </item> </items> </reserve>
Запрос:
POST /admin/reserves.xml
Тело запроса:
<reserve> <store>1</store> <type>migration</type> /* 'migration', 'restore', 'reject' */ <store_to>2</store_to> /* идентификатор склада-приемника */ <name>Мой резерв</name> <comment>произвольный коментарий…</comment> <items> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product>1056</product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>1</quantity> </item> </items> </reserve>
Ответ:
<reserve id="16"> <type>other</type> <status>new</status> <name>Мой резерв</name> <store id="1">Склад "Ромашка"</store> <created>2014-06-26 21:44:27+04</created> <comment>возвращено по безналу</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056">Рубашка Апельсин 33549 в полоску</product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>1</quantity> </item> </items> </reserve>
Запрос:
PUT /admin/reserves/16.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <reserve> <items> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product>1056</product> <modification> <parameter name="Цвет">Синий</parameter> </modification> <quantity>2</quantity> </item> </items> </reserve>
Ответ:
<reserve id="16"> <type>other</type> <status>new</status> <name>Мой резерв</name> <store id="1">Склад "Ромашка"</store> <created>2014-06-26 21:44:27+04</created> <comment>возвращено по безналу</comment> <items type="array"> <item id="86e03fab6db4c6d9cf33e616622b6c45"> <product id="1056">Рубашка Апельсин 33549 в полоску</product> <modification> <parameter name="Размер">40</parameter> </modification> <price>2400</price> <discount>100</discount> <quantity>2</quantity> </item> </items> </reserve>
Запрос:
DELETE /admin/reserves/16.xml
Ответ:
HTTP/1.1 200 OK
Запроc:
GET /admin/expenditures?parameter=value
Параметры:
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <expenditures type="array"> <expenditure id="1"> <budget id="3" class="retail">Из кассы</budget> <expense>1</expense> <employee id="22">Иванов Иван Иванович</employee> <shop id="2">Магазин "Ромашка"</shop> <value>200</value> <comment>такси</comment> <cash>1</cash> <action>2013-09-24 12:05:20+04</action> </expenditure> <expenditure id="1"> <budget id="4" class="retail">В кассу</budget> <income>1</income> <employee id="22">Иванов Иван Иванович</employee> <shop id="2">Магазин "Ромашка"</shop> <value>500</value> <comment>за опоздание</comment> <cash>1</cash> <action>2013-09-24 13:05:20+04</action> </expenditure> </expenditures>
Теги: - cash - признак наличных денег - employee - необязательный тег, привязка расхода к конкретному сотруднику (записать за сотрудником) - shop - необязательный тег, привязка расхода к конкретному магазину (записать за магазином) - expense - признак расхода - income - признак дохода
Запрос:
GET /admin/expenditures/2.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <expenditure id="2"> <budget id="3" class="retail">Из кассы</budget> <expense>1</expense> <employee id="22">Иванов Иван Иванович</employee> <shop id="2">Магазин "Ромашка"</shop> <value>200</value> <comment>такси</comment> <cash>1</cash> <action>2013-09-24 12:05:20+04</action> </expenditure>
Запрос:
POST /admin/expenditures.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <expenditure> <budget>3</budget> <employee>22</employee> <shop>2</shop> <value>200</value> <comment>такси</comment> <cash>1</cash> <action>2013-09-24 12:05:20+04</action> </expenditure>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <expenditure id="2"> <budget id="3" class="retail">Из кассы</budget> <expense>1</expense> <employee id="22">Иванов Иван Иванович</employee> <shop id="2">Магазин "Ромашка"</shop> <value>200</value> <comment>такси</comment> <cash>1</cash> <action>2013-09-24 12:05:20+04</action> </expenditure>
Запрос:
PUT /admin/expenditures/2.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <expenditure> <value>250</value> </expenditure>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <expenditure id="2"> <budget id="3" class="retail">Из кассы</budget> <expense>1</expense> <employee id="22">Иванов Иван Иванович</employee> <shop id="2">Магазин "Ромашка"</shop> <value>250</value> <comment>такси</comment> <cash>1</cash> <action>2013-09-24 12:05:20+04</action> </expenditure>
Запроc:
DELETE /admin/expenditures/2.xml
Ответ:
HTTP/1.1 200 OK
Запроc:
GET /admin/budgets?parameter=value
Параметры:
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <budgets type="array"> <budget id="1"> <name>Зарплата</name> <parent/> <comment>основная часть</comment> <default_summa>30000</default_summa> <permanent>1</permanent> <analysis>1</analysis> <expense>1</expense> <income>0</income> <class/> <user id="23">Иванов Иван Иванович</user> <created>2013-09-24 12:05:20+04</created> </budget> <budget id="2"> <name>Процент от продаж</name> <parent id="1">Зарплата</parent> <comment/> <default_summa/> <permanent>0</permanent> <analysis>1</analysis> <expense>1</expense> <income>0</income> <class/> <created>2013-09-24 12:05:20+04</created> </budget> <budget id="3"> <name>Из кассы</name> <parent/> <comment/> <default_summa/> <permanent>0</permanent> <analysis>1</analysis> <expense>1</expense> <income>0</income> <class>retail</class> <created>2013-09-24 12:05:20+04</created> </budget> </budgets>
Теги: - default_summa - сумма, которая будет подставляться по-умолчанию при вводе, если не указана другая - parent - родительская статья - permanent 0|1 - признак постоянной статьи - analysis 0|1 - признак участия в анализе работы предприятия - expense 0|1 - признак того, что статья является статьей расхода - income 0|1 - признак того, что статья является статьей дохода - class - произвольная классификация статьи для внутреннего использования
Запрос:
GET /admin/budgets/2.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <budget id="2"> <name>Процент от продаж</name> <parent id="1">Зарплата</parent> <comment/> <default_summa/> <permanent>0</permanent> <analysis>1</analysis> <expense>1</expense> <income>0</income> <class/> <created>2013-09-24 12:05:20+04</created> </budget>
Запрос:
POST /admin/budgets.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <budget> <name>Процент от продаж</name> <parent>1</parent> </budget>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <budget id="2"> <name>Процент от продаж</name> <parent id="1">Зарплата</parent> <comment/> <default_summa/> <permanent>0</permanent> <analysis>1</analysis> <expense>1</expense> <income>0</income> <class/> <created>2013-09-24 12:05:20+04</created> </budget>
Запрос:
PUT /admin/budgets/2.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <budget> <name>% от продаж</name> </budget>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <budget id="2"> <name>% от продаж</name> <parent id="1">Зарплата</parent> <comment/> <default_summa/> <permanent>0</permanent> <analysis>1</analysis> <expense>1</expense> <income>0</income> <class/> <created>2013-09-24 12:05:20+04</created> </budget>
Запроc:
DELETE /admin/budgets/2.xml
Ответ:
HTTP/1.1 200 OK
Программа «АнтиСклад» генерирует события определенных типов, перечисленных ниже. У Вас имеется возможность подписаться на любое из них. Под подпиской понимается привязка любого Вашего URL к конкретному типу события, при наступлении которого, по соответствующему URL будет отправлен POST-запрос с XML-данными события, в том числе данные объекта события <info/> (товара, клиента, склада). На одно событие можно оформить любое количество подписок.
Типы событий в программе:
Фактически подписчик информируется о происшедшем событии не сразу после его наступления, а через небольшой промежуток времени (несколько секунд). В теге <time/> передается реальное время возникновения события - именно когда событие было инициировано программой, а не доставлено подписчику.
Пример данных передаваемых подписчику при генерации события:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-20 16:43:33</time> <name>product.create</name> <objectId>5362</objectId> <info><product id="10323"> ... </product></info> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>order.create</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="101"> <event>order.create</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2020-10-22 19:45:43</time> <name>order.create</name> <objectId>1001</objectId> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>order.update</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="102"> <event>order.update</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2020-10-22 19:45:43</time> <name>order.update</name> <objectId>1001</objectId> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>client.create</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="103"> <event>client.create</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-22 19:45:43</time> <name>client.create</name> <info><client id="443"> ... </client></info> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>client.update</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="104"> <event>client.update</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-22 19:45:43</time> <name>client.update</name> <info><client id="443"> ... </client></info> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>client.delete</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="105"> <event>client.delete</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-22 19:45:43</time> <name>client.delete</name> <info><client id="443"> ... </client></info> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>product.create</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="106"> <event>product.create</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-22 19:45:43</time> <name>product.create</name> <info><product id="5432"> ... </product></info> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>product.update</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="107"> <event>product.update</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-22 19:45:43</time> <name>product.update</name> <info><product id="5432"> ... </product></info> </event>
Запроc:
POST /admin/subs.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <sub> <event>product.delete</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="108"> <event>product.delete</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-22 19:45:43</time> <name>product.delete</name> <info><product id="5432"> ... </product></info> </event>
</sub></code>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="109"> <event>store.update</event> <url>https://my-inet-magaz.ru/from-antisklad/action.php</url> <store>1</store> </sub>
POST-данные передаваемые подписчику:
<?xml version="1.0" encoding="UTF-8"?> <event> <time>2015-10-22 19:45:43</time> <name>store.update</name> <info><store id="1" modified-time="2015-10-22 19:44:01"></store></info> </event>
Пример PHP-кода подписчика обработки события на изменения остатков на складе:
<code> <?php // Получить и разобрать XML объекта события $data = file_get_contents('php://input'); $xevent = new SimpleXMLElement($data); $eventName = (string)$xevent->name; $storeID = (int)$xevent->info->store->attributes()[['id']]; $time = (string)$xevent->info->store->attributes()[['modified-time']]; // получить измененные позиции склада для store.update $time = urlencode($time); $request = new HTTP_Request2("https://mylogin:mypassword@mydomain.antisklad.ru/admin/stores/{$storeID}.xml?changed-from={$time}", HTTP_Request2::METHOD_GET); $request->setConfig(array( 'ssl_verify_peer' => FALSE, 'ssl_verify_host' => FALSE )); $response = $request->send(); $response_Body = $response->getBody(); $xstoreItems = new SimpleXMLElement($response_Body); // сохранить измененные позиции остатков товаров в файл file_put_contents("/tmp/{$eventName}.{$storeID}.xml", $xstoreItems->asXML()); ?>
*/
Запроc:
GET /admin/subs.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <subs type="array"> <sub id="100"> <event>order.create</event> <url>https://my-inet-magaz.ru/admin/create-order.php</url> <shop>1</shop> </sub> <sub id="102"> <event>client.create</event> <url>https://my-inet-magaz.ru/admin/create-client.php</url> </sub> </subs>
Запроc:
GET /admin/subs/56.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <sub id="56"> <event>order.create</event> <url>https://my-inet-magaz.ru/admin/create-order.php</url> <shop>1</shop> </sub>
Запроc:
DELETE /admin/subs/77.xml
Ответ:
HTTP/1.1 200 OK
В ответе сервера, в случае ошибки 500, может придти xml с логической ошибкой работы приложения.
Например, при попытке создать карточку товара с названием, аналогичным в списке, система вернет xml:
<?xml version="1.0" encoding="UTF-8"?> <error type="logic" index="ALREADY EXISTS" class="product" id="3497" name="1000">Аналогичная карточка товара "1000" уже существует</error>
, где, в качестве атрибутов ошибки, выступает вся необходимая для анализа информация. В значении тега будет представлен «читаемый» текст ошибки.
400 => 'Bad request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not found', 500 => 'Internal Server Error', 501 => 'Not Implemented', 503 => 'Service Temporarily Unavailable',
Запроc:
GET /admin/errors.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <errors> <error>IS NOT FOUND</error> <error>ALREADY EXISTS</error> <error>EMPTY VALUE</error> <error>INVALID VALUE</error> <error>IMPOSSIBLE TO DO</error> </errors>