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> <is_self>1</is_self> <read_only>0</read_only> </store> <store id="2"> <name>Дополнительный склад</name> <is_self>0</is_self> <read_only>1</read_only> </store> </stores>
Тег <read_only> является признаком только чтения, который не дает право пользователю изменять основные свойства склада: название, признак собственного склада.
Тег <is_self> является признаком собственного склада, который может использоваться внешними приложениями при сопоставлении складов, например со складами маркетплейса.
Тег <shops_limit> ограничивает количество действующих магазинов, которые можно связать со складом. По-умолчанию, будет равняться 10.
Запрос:
POST /admin/shops.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <store> <name>Склад магазина</name> <read_only>0</read_only> <is_self>1</is_self> <shops_limit>1</shops_limit> </store>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <store id="2"> <name>Склад магазина</name> <read_only>0</read_only> <is_self>1</is_self> </store>
Запроc:
GET /admin/shops.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <shops type="array"> <shop id="1"> <name>Мой интернет-магазин</name> <store>1</store> <read_only>0</read_only> </shop> <shop id="2"> <name>Моя розничная точка</name> <store>1</store> <read_only>0</read_only> </shop> </shops>
Тег <read_only> является признаком только чтения, который не дает право пользователю изменять основные свойства магазина: название, принадлежность к складу, признак розничного магазина, признак интернет-магазина, принадлежность к маркетплейсу.
Запроc:
POST /admin/shops.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <shop> <name>Новый магазин</name> <read_only>1</read_only> <ns>ozon</ns> </shop>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <shop id="3"> <name>Новый магазин</name> <store>2</store> <read_only>1</read_only> </shop>
Запро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>
Запроc:
PUT /admin/stores_prices.xml?parameter=value
Метод позволяет изменить отпускные цены товара сразу на одном или нескольких складах.
Если параметр stores не передан, изменение будет применено ко всем складам домена. Если параметр передан, цена будет изменена только на указанных складах.
Параметры:
Тело запроса:
Пример одиночного запроса:
<?xml version="1.0" encoding="UTF-8"?> <product> <extId>wb_150204079</extId> <price>11900</price> <discount>200</discount> </product>
Пример пакетного запроса:
<?xml version="1.0" encoding="UTF-8"?> <products> <product> <productId>123</productId> <price>1490</price> <discount>100</discount> </product> <product> <extId>wb_150204079</extId> <price>11900</price> </product> </products>
Ответ на одиночный запрос:
<?xml version="1.0" encoding="UTF-8"?> <product id="123" extId="wb_150204079" stores="67,68" matched-stores="2" updated="1"> <name>Рубашка Апельсин 33549 в полоску</name> <price>11900</price> <discount>200</discount> <final_price>11700</final_price> <applied_stores> <store id="67">Главный склад</store> <store id="68">Склад маркетплейсов</store> </applied_stores> </product>
Ответ на пакетный запрос:
<?xml version="1.0" encoding="UTF-8"?> <products type="array" count="2" stores="67,68"> <product id="123" extId="wb_150204079" stores="67,68" matched-stores="2" updated="1"> <name>Рубашка Апельсин 33549 в полоску</name> <price>11900</price> <discount>200</discount> <final_price>11700</final_price> <applied_stores> <store id="67">Главный склад</store> <store id="68">Склад маркетплейсов</store> </applied_stores> </product> <product extId="wb_missing"> <error code="404">Product with extId='wb_missing' is not found</error> </product> </products>
Атрибут «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.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
Тело запроса:
<?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.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>
В случае, если добавляемый товар с указанным 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.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/metrics.xml
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <metrics type="array" count="2"> <metric id="555"> <code>order_conversion</code> <name>Процент конверсии в заказы</name> <creation_timestamp>2025-05-01 18:50:33</creation_timestamp> </metric> <metric id="556"> <code>cart_adds</code> <name>Добавлено в корзину</name> <creation_timestamp>2025-05-01 18:50:33</creation_timestamp> </metric> </metrics>
Запрос:
POST /admin/metrics.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <metrics> <metric> <code>order_conversion</code> <name>Процент конверсии в заказы</name> </metric> <metric> <code>cart_adds</code> <name>Добавлено в корзину</name> </metric> </metrics>
В случае, если метрика с указанным code уже существует, то она будет обновлена, а не создана заново.
Ответ:
HTTP/1.1 200 OK
<metrics> <metric id="555"> <code>order_conversion</code> <name>Процент конверсии в заказы</name> <creation_timestamp>2025-05-01 18:50:33</creation_timestamp> </metric> <metric id="556"> <code>cart_adds</code> <name>Добавлено в корзину</name> <creation_timestamp>2025-05-01 18:50:33</creation_timestamp> </metric> </metrics>
Запроc:
DELETE /admin/metrics/555.xml
Ответ:
HTTP/1.1 200 OK
Запроc:
POST /admin/product_metric.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <items> <item> <ns>wb</ns> <metric> <code>order_conversion</code> </metric> <product id="1098"/> <date>2025-01-18</date> <value>25</value> </item> <item> <ns>wb</ns> <metric id="556"/> <product id="1098"/> <date>2025-01-18</date> <value>100</value> </item> </items>
В случае, если метрика с указанным code отсутствует, то она будет создана. При этом, можно еще добавить в метрику необязательный тег <name>. Но лучше, для добавления или изменения метрик, пользоваться отдельным запросом.
Запрос:
GET /admin/feedbacks.xml?parameter=value
Параметры:
Ответ 200:
<?xml version="1.0" encoding="UTF-8"?> <feedbacks type="array"> <feedback id="124" uniq="fbk-002"> <marketplace>wb</marketplace> <product id="456">Брюки мужские B2101</product> <action-time>2025-09-21 10:00:00+00</action-time> <rating>4</rating> <text>Хорошо, но есть нюансы</text> <answer>Спасибо за обратную связь!</answer> <answer-time>2025-09-21 12:05:00+00</answer-time> <parent/> <created>2025-09-21 10:00:00+00</created> </feedback> </feedbacks>
Запрос:
GET /admin/feedbacks/124.xml
Описание: По умолчанию метод возвращает полную цепочку, связанную с указанным отзывом (родители и последующие ответы), в тегах `<feedbacks>`.
Ответ 200:
<?xml version="1.0" encoding="UTF-8"?> <feedback id="124" uniq="fbk-002" parent="110"> <marketplace>wb</marketplace> <product id="456">Брюки мужские B2101</product> <action-time>2025-09-21 10:00:00+00</action-time> <rating>4</rating> <text>Хорошо, но есть нюансы</text> <answer>Спасибо за обратную связь!</answer> <answer-time>2025-09-21 12:05:00+00</answer-time> <created>2025-09-21 10:00:00+00</created> <feedbacks> <feedback id="100"> <marketplace>wb</marketplace> <product id="456"/> <action-time>2025-09-20 08:00:00+00</action-time> <rating>4</rating> <text>Корневой отзыв</text> <parent/> </feedback> <feedback id="110" parent="100"> <marketplace>wb</marketplace> <product id="456"/> <action-time>2025-09-20 18:00:00+00</action-time> <rating>4</rating> <text>Ответ на корневой</text> </feedback> <feedback id="124" parent="110"> <marketplace>wb</marketplace> <product id="456"/> <action-time>2025-09-21 10:00:00+00</action-time> <rating>4</rating> <text>Хорошо, но есть нюансы</text> <answer>Спасибо за обратную связь!</answer> <answer-time>2025-09-21 12:05:00+00</answer-time> </feedback> </feedbacks> </feedback>
Примечания: * Цепочка всегда линейная: у каждого отзыва не более одного дочернего элемента. * Ответ продавца хранится в `<answer>` родительского отзыва (без создания новой записи). Ответ клиента после нашего ответа создаётся как новая запись и возвращается в списке `<feedbacks>`. * Порядок внутри `<feedbacks>` — по времени `action-time` от корня к последним сообщениям.
Запрос:
POST /admin/feedbacks.xml
Описание: * Создаёт новый отзыв. * Допустимо сразу передать ответ продавца полями `<answer>` и (опционально) `<answer-time>` — для импорта исторических данных.
Тело запроса (пример без ответа):
<?xml version="1.0" encoding="UTF-8"?> <feedback uniq="fbk-003"> <marketplace>wb</marketplace> <product>456</product> <rating>5</rating> <text>Отличный товар!</text> </feedback>
Тело запроса (пример с немедленным ответом продавца):
<?xml version="1.0" encoding="UTF-8"?> <feedback uniq="fbk-004"> <marketplace>wb</marketplace> <product>456</product> <rating>4</rating> <text>Товар хороший, но упаковка помялась</text> <answer>Приносим извинения, усилим упаковку</answer> <answer-time>2025-09-21 11:05:00+00</answer-time> </feedback>
Ответ 200:
<?xml version="1.0" encoding="UTF-8"?> <feedback id="126" uniq="fbk-003"> <marketplace>wb</marketplace> <product id="456">Брюки мужские B2101</product> <action-time>2025-09-21 11:00:00+00</action-time> <rating>5</rating> <text>Отличный товар!</text> <answer/> <answer-time/> <parent/> <created>2025-09-21 11:00:00+00</created> </feedback>
Варианты: 1) Сразу в POST создания — передать `<answer>` / `<answer-time>` (см. выше). 2) Отдельно:
PUT /admin/feedbacks/{id}.xml
Запрос (PUT):
<?xml version="1.0" encoding="UTF-8"?> <feedback> <marketplace>wb</marketplace> <answer>Мы исправили проблему, спасибо за сигнал!</answer> </feedback>
Ответ 200 (PUT):
<?xml version="1.0" encoding="UTF-8"?> <feedback id="124"> <marketplace>wb</marketplace> <answer>Мы исправили проблему, спасибо за сигнал!</answer> <answer-time>2025-09-21 12:30:00+00</answer-time> </feedback>
Запрос:
POST /admin/feedbacks.xml
Описание: * Создаёт новую запись-элемент цепочки с ссылкой на родителя через `<parent>`. * `rating` наследуется от родителя; можно не передавать.
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <feedback uniq="fbk-003-reply"> <marketplace>wb</marketplace> <product>456</product> <parent by="uniq">fbk-003</parent> <text>Нюансы от клиента... (комментарий клиента на наш ответ)</text> </feedback>
Ответ 200:
<?xml version="1.0" encoding="UTF-8"?> <feedback id="222" uniq="fbk-003-reply" parent="124"> <marketplace>wb</marketplace> <product id="456">Брюки мужские B2101</product> <text>Нюансы от клиента... (комментарий клиента на наш ответ)</text> </feedback>
Запрос:
POST /admin/feedbacks.xml
Описание: Если корневой тег в теле — `<feedbacks>`, запрос обрабатывается как пакетный (аналогично `POST products.xml`). Каждый `<feedback>` может содержать `uniq`, `product`, `rating`, `text`, опционально `<answer>`/`<answer-time>`, `<parent>`, а также `<marketplace>`. При совпадении `uniq` (в пределах одного `ns`) отзыв ПЕРЕЗАПИСЫВАЕТСЯ (upsert). Конфликта нет. В ответе для каждого элемента возвращается атрибут `«created|updated»`.
Изменение отзыва возможно при указании атрибута uniq.
Тело запроса (batch):
<?xml version="1.0" encoding="UTF-8"?> <feedbacks> <feedback uniq="fbk-005"> <marketplace>wb</marketplace> <product>456</product> <rating>5</rating> <text>Всё супер</text> </feedback> <feedback uniq="fbk-006"> <marketplace>wb</marketplace> <product>456</product> <rating>4</rating> <text>Есть небольшие замечания</text> <answer>Принято, поправим</answer> <answer-time>2025-09-21 13:00:00+00</answer-time> </feedback> <feedback uniq="fbk-006"> <marketplace>wb</marketplace> <product>456</product> <rating>5</rating> <text>Перезапись fbk-006</text> </feedback> </feedbacks>
Ответ:
HTTP/1.1 200 OK
<feedbacks> <feedback>...</feedback> ... <feedback>...</feedback> </feedbacks>
Запрос:
PUT /admin/feedbacks/124.xml
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <feedback> <marketplace>wb</marketplace> <answer>Мы исправили проблему, спасибо за сигнал!</answer> </feedback>
Ответ 200:
<?xml version="1.0" encoding="UTF-8"?> <feedback id="124"> <marketplace>wb</marketplace> <answer>Мы исправили проблему, спасибо за сигнал!</answer> <answer-time>2025-09-21 12:30:00+00</answer-time> </feedback>
Запрос:
DELETE /admin/feedbacks/124.xml
Для массового удаления отзывов передайте список id-отзывов через запятую в GET-параметр `ids`:
DELETE /admin/feedbacks.xml?ids=124,567,890
Для удаления отзывов по uniq передайте их через запятую в GET-параметр `uniqs`::
DELETE /admin/feedbacks.xml?uniqs=fbk-1,fbk-2-200
Ответ:
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
Атрибут hidden является признаком скрытого заказа. Скрытые заказы исключаются из аналитики по заказам. По-умолчанию, все заказы не являются скрытыми.
Чтобы указать признак скрытности заказа, нужно указать соответствующий атрибут (hidden=«0|1») в теге order метода POST или PUT.
Ответ:
<orders type="array"> <order id="16" hidden="0"> <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> <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> </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.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-мя способами перечисленными в разделе добавления поступления.
Тело запроса:
<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.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>
- reserve: зарезервировать товар из свободного остатка под заказ.
Тело запроса:
<sale uuid="8d2a202e-4d6b-4d3c-9813-6728dc29baa6"> <shop>1</shop> <fin_doc_number>1001240016</fin_doc_number> <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> <fin_doc_number>1001240016</fin_doc_number> <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> <fin_doc_number>1001240017</fin_doc_number> <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"> <fin_doc_number>1001240017</fin_doc_number> <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>
Так же имеется возможность выполнить возврат сразу всей продаже целиком, просто указав ее id или uuid. Например:
<refund> <action-time>2014-06-26 21:44:27+04</action-time> <sale>35623</sale> </refund>
или
<refund> <action-time>2014-06-26 21:44:27+04</action-time> <sale uuid="8d2a202e-4d6b-4d3c-9813-6728dc29baa6"/> </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-мя способами (в порядке приоритета):
Необязательный тег <price> и <discount> позволяют явно задать конкретные отпускные цены. В этом случае срабатывает правило: проставляем указанные цены всему свободному остатку (единая цена на артикул). И, наоборот, если не указывать тег <price>, то берем цены из свободного остатка.
Тело запроса:
<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>
Запрос:
POST /admin/expenditures.xml
Тег <tag> может быть использован внешними приложениями при дальнейшем полученим расходов по API.
Тело запроса:
<?xml version="1.0" encoding="UTF-8"?> <expenditure> <fin_doc_number>1001240016</fin_doc_number> <budget>3</budget> <employee>22</employee> <shop>2</shop> <value>200</value> <comment>такси</comment> <cash>1</cash> <payment_type>Баланс</payment_type> <action>2013-09-24 12:05:20+04</action> <tag>MarketplaceCorrectionPointOperation</tag> </expenditure>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <expenditure id="2"> <fin_doc_number>1001240016</fin_doc_number> <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> <payment_type>Баланс</payment_type> <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
Программа «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-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> </file>
Ответ:
<?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-кода подписчика обработки события на изменения остатков на складе:
// Получить и разобрать 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>