API предназначен для управления данными в Sellper из внешних приложений.
Это позволяет синхронизировать работу интернет-магазинов с управленческим учётом в Sellper.
API реализован основываясь на принципах REST.
Обмен осуществляется в формате XML по протоколу HTTPS посредством запросов GET, PUT, DELETE, POST.
Авторизация запросов:
Форма запросов:
POST https://<домен>.sellper.ru/admin/clients.xml GET https://<домен>.sellper.ru/admin/client/<id>.xml ...
Подписки на события представляет собой возможность получать уведомления об изменениях на складе путем отправки http-запроса. При возникновении события по указанному в подписке адресу будет выполнен POST-запрос, в теле которого будет передано описание события в формате XML.
Приложения в системе «Sellper» могут быть двух видов: общие и частные. Общие приложения доступны для всех клиентов «Sellper». Частные приложения доступны только их авторам или заказчикам.
Общие положения:
Фактически, приложение может находится где угодно, важно лишь правильно настроить 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:
POST /admin/stores.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <store> <name>Новый склад</name> </store>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <store id="3"> <name>Новый склад</name> </store>
Запроc:
PUT /admin/stores/3.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <store> <name>Другое название склада</name> </store>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <store id="3"> <name>Другое название склада</name> </store>
Запро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> </shop>
Запроc:
PUT /admin/shops/3.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <shop> <name>Другое название магазина</name> <store>2</store> </shop>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <shop id="3"> <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:
POST /admin/visitors.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <item> <shopId>10</shopId> <date>2023-06-29</date> <count>100</count> </item>
Ответ: 200 Ok
Запро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.sellper.ru/12349.jpg</url> <description/> </image> <image id="123321"> <original-url>image.png</original-url> <url>https://image.sellper.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.sellper.ru/1259.jpg</url> <description/> </image> <image id="1231"> <original-url>image5.png</original-url> <url>https://image.sellper.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.sellper.ru/12349.jpg</url> <description/> </image> <image id="123321"> <original-url>image.png</original-url> <url>https://image.sellper.ru/12349.jpg</url> <description/> </image> </images> </product>
Запрос:
POST /admin/products.xml
В случае, если добавляемый товар с указанным extId уже имеется в списке действующих товаров или в списке удаленных (в корзине), то возвращается ошибка 409 с XML конфликтующего товара. Чтобы отличить удаленный товар от действующего, используйте атрибут deleted=0|1 тега <product/> конфликтующего товара.
Если нужно создать товар с пометкой «архивный», то нужно добавить атрибут deleted=«1» в тег <product>
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <product extId="123123123" ns="wb"> <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.sellper.ru/12349.png</url> <description>Вид сбоку</description> </image> <image id="123321"> <original-url>http://site.ru/image2.png</original-url> <url>https://image.sellper.ru/12349.png</url> <description/> </image> </images> </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> <barcodes><barcode>2055566611122</barcode></barcodes> /* если без модификаций товаров */ <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.sellper.ru/12349.png</url> <description>Вид сбоку</description> </image> <image id="123321"> <original-url>http://site.ru/image2.png</original-url> <url>https://image.sellper.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.sellper.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.sellper.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> <products-summa>3060</products-summa> <products-summa-without-discount>3200</products-summa-without-discount> <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.sellper.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.sellper.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> <expenditures> <expenditure id="25555"> <budgetId>33</budgetId> <summa>50</summa> <comment>Логистика до клиента</comment> <action-time>2023-09-22 00:00:00+03</action-time> <cash>1</cash> </expenditure> </expenditures> </order>
Запрос:
PUT /admin/orders/16.xml
При указании тега <reserved-all>1</reserved-all> система попытается зарезервировать полностью товар для заказа. Если это не удается, то возвращается ошибка.
При необходимости поменять сумму всем товарным позициям, не указывая конкретно товар, нужно указать значения стоимости товаров и стоимости товаров без учета скидки соответственно в тегах <products-summa> и <products-summa-without-discount>. В этом случае указанная сумма будет равномерно распределена по предметам в заказе. На практике это удобно применять для заказов внутри которых указаны товарные позиции с одинаковыми ценами.
Тело запроса:
<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> <expenditures action-before="remove-putting-budgets" action-when-setting="update"> <expenditure> <budgetId>33</budgetId> <summa>50</summa> <comment>Логистика до клиента</comment> <action-time>2023-09-22</action-time> </expenditure> </expenditures> </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.sellper.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-мя способами перечисленными в разделе добавления поступления.
По-умолчанию, новый заказ создается с авто-поступлением соответствующего товара, т.е. свободный остаток на складе не изменится. Если нужно поменять поведение заказа по отношению к складу, то необходимо указать атрибут goods-source-behaviour со значениями reserve или find-impersonal-reserve.
При создании заказа можно указать дополнительный атрибут status-change-block-for-user, который запретит пользователю менять в дальнейшем статус данного заказа и может принимать значения:
Тело запроса:
<order ns="ozon"> <shop>1</shop> <number>10150</number> <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>2013-12-12 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>
Запрос:
PUT|POST /admin/orders/:orderId.xml
В каждый расход можно указать, при необходимости, объединяющий признак - атрибут unifyingFeature, который, затем, может быть использован для удаления расходов с этим признаком за одну итерацию. См. раздел «Удаление расходов».
Тело запроса:
<?xml version="1.0"?> <order> <expenditures action-before="remove-all-budgets" > <expenditure> <action-time></action-time> <budgetId>33</budgetId> <summa>307.88</summa> <comment>Логистика до клиента</comment> </expenditure> </expenditures> </order>
Ответ:
<order id="26"> .... <expenditures> <expenditure id="28665"> <budgetId>33</budgetId> <summa>307.88</summa> <comment>Логистика до клиента</comment> <action-time>2023-10-18 18:41:20.134846+03</action-time> <cash>1</cash> </expenditure> </expenditures> </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="delivering">Доставляется</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>
Запрос:
POST /admin/delivery-types.xml
Тело запроса:
<?xml version="1.0"?> <delivery-type> <name>На собачьей упряжке</name> <price>550</price> </delivery-type>
Ответ:
<?xml version="1.0"?> <delivery-type id='28'> <name>На собачьей упряжке</name> <price>550</price> </delivery-type>
В случае, если добавляемый тип уже имеется в списке, то возвращается ошибка 409.
Необязательный тег <price> определяет цену по-умолчанию для данного типа доставки.
Запрос:
PUT /admin/delivery-types/11.xml
Тело запроса:
<?xml version="1.0"?> <delivery-type> <name>Через проводника в поезде</name> <price>5000</price> </delivery-type>
Ответ:
<?xml version="1.0"?> <delivery-type id='11'> <name>Через проводника в поезде</name> <price>5000</price> </delivery-type>
Запроc:
DELETE /admin/delivery-types/11.xml
Ответ:
HTTP/1.1 200 OK
В случае, если удаляемый тип доставки относится хотя бы к одному заказу, то будет ошибка 409.
Запрос:
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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper.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.sellper .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.sellper.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.sellper.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.sellper.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.sellper.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>
Тег <period> указывает на принадлежность расхода ко временному интервалу. Атрибут uniq не позволит добавить расход повторно.
Необязательный атрибут unifyingFeature позволяет указывать объединяющий признак расходам. Он необходим для массового удаления расходов по этому признаку, если потребуется. Это распространяется также на расходы при добавлении или обновлении заказа(ов).
Запрос:
POST /admin/expenditures.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <expenditure uniq="de65d240-ce2c-4044-a81e-589d593de071"> <budget>3</budget> <period>7 days</period> <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>
При необходимости добавить в рамках одной транзакции множество расходов, необходимо их передавать в корневом тэге <expenditures> Разрешается создавать в одном запросе не более 300 расходов.
Запрос:
POST /admin/expenditures.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <expenditures> <expenditure>...</expenditure> ... <expenditure>...</expenditure> </expenditures>
Ответ:
HTTP/1.1 200 OK <expenditures> <expenditure>...</expenditure> ... <expenditure>...</expenditure> </expenditures>
Запрос:
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
При создании расходов или их создании/обновлении в заказах, можно указывать объединяющий атрибут unifyingFeature для дальнейшего возможного удаления таких расходов (см. добавление расходов).
Запроc:
DELETE /admin/expenditures/:unifyingFeature.xml?type=unifyingFeature Ответ:<code> 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
Программа «Sellper» генерирует события определенных типов, перечисленных ниже. У Вас имеется возможность подписаться на любое из них. Под подпиской понимается привязка любого Вашего 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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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-sellper/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.sellper.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>