Материал из antisklad.ru
Перейти к: навигация, поиск

Содержание

Команды API

Введение

API предназначен для управления данными в АнтиСклад из внешних приложений.

Это позволяет синхронизировать работу интернет-магазинов с управленческим учётом в АнтиСклад.

API реализован основываясь на принципах REST.

Обмен осуществляется в формате XML по протоколу HTTPS посредством запросов GET, PUT, DELETE, POST.

Авторизация запросов:

  • Basic-авторизация - логин и пароль зарегистрированного в системе пользователя
  • С помощью token-ключа - генерируется системой в момент инсталляции приложения (см. раздел "Приложения") и передается в заголовке запроса "Karkas_token".

Форма запросов:
POST https://<домен>.antisklad.ru/admin/clients.xml
GET https://<домен>.antisklad.ru/admin/client/<id>.xml
...

Подписки на события представляет собой возможность получать уведомления об изменениях на складе путем отправки http-запроса. При возникновении события по указанному в подписке адресу будет выполнен POST-запрос, в теле которого будет передано описание события в формате XML.

Приложения

Приложения в системе "Антисклад" могут быть двух видов: общие и частные. Общие приложения доступны для всех клиентов "Антисклад". Частные приложения доступны только их авторам или заказчикам.

Общие положения:

  1. Изначально разработка приложения производится на собственном хосте разработчика, но при необходимости, разработчику может быть предоставлен выделенный хостинг на сервере АнтиСклад, где будет доступен удобный PHP-класс для работы с крон-службами.
  2. Разработка может вестись с использованием PHP5, а для хранения информации использоваться СУБД Postgres, MySQL или тестовые файлы
  3. Настройка приложения производится администратором(владельцем) домена через форму создания нового приложения (см. ниже) в настройках Антисклад.
  4. Первоначально приложение рассматривается как частное (доступно только в домене, где оно создано)
  5. По окончании тестирования приложение становится общим (доступно всем доменам для установки и настройки)

Фактически, приложение может находится где угодно, важно лишь правильно настроить URL установки, входа и удаления.

После того как пользователь нажал ссылку установки приложения в настройках приложений, генерируется уникальный token-ключ, который отправляется в качестве GET-параметра по указанному URL установки приложения (см. форму редактирования свойств приложения). Помимо параметра "token" отправляется также GET-параметр "domain" c названием текущего домена. В этот момент, полученный token-ключ необходимо сохранить и использовать для token-авторизации для API-запросов (передавать в заголовке "Karkas_token" с каждым запросом).

Чтобы настроить приложение, администратору необходимо заполнить соответствующие поля, нажав кнопку создания нового приложения в списке приложений (меню Настройки / Приложения):

   * Классификация приложения
   * Название приложения (будет показываться в списке приложений)
   * URL логотипа приложения
   * URL сайта приложения
   * URL описания приложения
   * Текст краткого описания приложения (в html формате, будет показываться в списке приложений)
   * URL для установки приложения (например http://myapp.ru/install)
   * URL страницы входа в приложение, куда попадает пользователь после нажатия кнопки входа в приложение (например http://myapp.ru/login)
   * URL страницы приложения, куда отправляется запрос после нажатия кнопки удаления приложения (например http://myapp.ru/uninstall)
   * Контакты для пользователей.

В дальнейшем, при необходимости сделать разрабатываемое приложение общим для всех клиентов, необходимо получить согласие от администрации. Приложение может быть как бесплатным, так и платным - в зависимости от тарифа и договоренности с администрацией.

Склады и магазины

Получение списка складов

Запроc: GET /admin/stores.xml

Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<stores type="array">
  <store id="1"><name>Главный склад</name></store>
  <store id="2"><name>Дополнительный склад</name></store>
</stores>

Получение списка магазинов

Запроc: GET /admin/shops.xml

Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<shops type="array">
  <shop id="1"><name>Мой интернет-магазин</name><store>1</store></shop>
  <shop id="2"><name>Моя розничная точка</name><store>1</store></shop>
</shops>

Получение товарных остатков у конкретного склада

Помимо общего состояния склада имеется возможность получить вместо полного списка только те позиции, которые подверглись изменению на складе, начиная с указанной даты. К измененным остаткам относится товар, у которого изменились количественно-стоимостные показатели.

Запроc: GET /admin/stores/1.xml?parameter=value


Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся позиции.
  • page-size - размер страницы (количество модификаций товаров на странице). По-умолчанию и не может превышать 250.
  • changed-from=<date time> - только те остатки, которые подверглись изменению с указанной даты. Удаленные товары будут указаны с количеством = 0.
  • product-id=<N> - остатки только по одному товару с идентификатором N
  • extId=<N> - остатки только по одному товару с внешнем кодом N
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
  • with-totals=1 - признак того, что в ответе нужно показать общее кол-во позиций на складе (атрибут totalItemsCount тега store).
  • category - ID категории (фильтр)
  • article - маска поиска по артикулу (фильтр).
  • name - маска поиска по названию (фильтр)
  • barcode - поиск по штрих-коду (фильтр)

Например, чтобы отобрать все товары, у которых артикул начинается на "2", используйте в запросе параметр: ...&article=2%25 , где %25 в url-кодировке (символ % ) означает любую последовательность символов

Примечание: В ответе значение тега <price/> указано без учета скидки. Чтобы получить текущую цену, нужно из значения тега <price> вычесть значение тега <discount>

Ответ:
<?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>
            <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>
        </item>
    </items>
</store>

Получение товарных остатков сразу по нескольким складам

Помимо общего состояния указанных складов имеется возможность получить вместо полного списка только те позиции, которые подверглись изменению на указанных складах, начиная с указанной даты. К измененным остаткам относится товар, у которого изменились количественно-стоимостные показатели.


Запроc: GET /admin/stores_items.xml?parameter=value

Параметры: ... - теже параметры, что у предыдущего запроса

  • stores - идентификаторы рассматриваемых складов, указанные через запятую.
Ответ:
<?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>
        <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>
    </item>
</items>

Категории товаров

Получение списка категорий

Запро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

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все, нужно в цикле листать страницы пока не закончатся позиции.
  • page-size - размер страницы (количество товаров на странице). По-умолчанию и не может превышать 250.
  • order-by-creation - сортировать по времени создания товара. Возможные значения desc (по-убыванию) и asc (по-возрастанию).
  • stores - признак наличия товара на одном из указанных складов (перечислите id складов через запятую) (фильтр)
  • category - ID категории (фильтр)
  • article - маска поиска по артикулу (фильтр).
  • name - маска поиска по названию (фильтр)
  • barcode - поиск по штрих-коду (фильтр)
  • extId - поиск по внешнему коду

Например, чтобы отобрать все товары, у которых артикул начинается на "2", используйте в запросе параметр: ...&article=2%25 , где %25 в url-кодировке (символ % ) означает любую последовательность символов

Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<products type="array">
  <product id="234234" hidden="false" extId="3004">
    <category id="3333">Одежда/Мужская/Сорочки</category>
    <name>Сорочка мужская B101</name>
    <article>W-101/202</article>
    <description>Полное описание товара</description>
    <short-description>Краткое описание</short-description>
    <created>2009-06-04 14:22:34 +0400</created>
    <parameters>
      <parameter name="Торговая марка">Velaner</parameter>
      <parameter name="Производитель">Россия, ООО "Ромашка"</parameter>
      <parameter name="Состав">100% хлопок</parameter>
      <parameter name="Дата"производства">2014-02-13</parameter>
    </parameters>
    <default-prices>
        <cost>856</cost>
        <price>1500</price>
        <old-price>2000</old-price>
    </default-prices>
    <vendor id="10">Chili Technologies S.L.</vendor>
    <modifications>
      <modification>
        <parameter name="Размер">XS</parameter>
        <barcodes>
          <barcode>2046497976600</barcode>
          <barcode>4602347974121</barcode>
        </barcodes>
      </modification>
      <modification>
        <parameter name="Размер">S</parameter>
        <barcodes>
          <barcode>2046497345345</barcode>
        </barcodes>
      </modification>
      <modification>
        <parameter name="Размер">M</parameter>
        <barcodes>
          <barcode>2046497345764</barcode>
          <barcode>2046497345466</barcode>
        </barcodes>
      </modification>
    </modifications>
    <images>
      <image id="123123">
        <original-url>image.png</original-url>
        <url>https://image.antisklad.ru/12349.jpg</url>
        <description/>
      </image>
      <image id="123321">
        <original-url>image.png</original-url>
        <url>https://image.antisklad.ru/12349.jpg</url>
        <description/>
      </image>
    </images>
  </product>
  <product id="234234"  extId="3005">
    <category id="3333">Одежда/Мужская/Брюки</category>
    <name>Брюки мужские B2101</name>
    <article>W-1014/2002</article>
    <description>Полное описание товара</description>
    <created>2009-06-04 14:22:34 +0400</created>
    <parameters>
      <parameter name="Торговая марка">Velaner</parameter>
      <parameter name="Производитель">Россия, ООО "Ромашка"</parameter>
      <parameter name="Состав">70% хлопок</parameter>
      <parameter name="Дата"производства">2014-02-14</parameter>
    </parameters>
    <default-prices>
        <cost>786</cost>
        <price>2000</price>
        <old-price>2400</old-price>
    </default-prices>
    <vendor id="10">Chili Technologies S.L.</vendor>
    <modifications>
      <modification>
        <parameter name="Размер">44</parameter>
        <parameter name="Рост">2</parameter>
        <barcodes>
          <barcode>2046495345355</barcode>
          <barcode>2046345345554</barcode>
        </barcodes>
      </modification>
      <modification>
        <parameter name="Размер">44</parameter>
        <parameter name="Рост">3</parameter>
        <barcodes>
          <barcode>2046497345345</barcode>
        </barcodes>
      </modification>
      <modification>
        <parameter name="Размер">46</parameter>
        <parameter name="Рост">2</parameter>
        <barcodes/>
      </modification>
    </modifications>
    <images>
      <image id="1234">
        <original-url>image4.png</original-url>
        <url>https://image.antisklad.ru/1259.jpg</url>
        <description/>
      </image>
      <image id="1231">
        <original-url>image5.png</original-url>
        <url>https://image.antisklad.ru/123.jpg</url>
        <description/>
      </image>
    </images>
  </product>
</products>

Запрос товарной позиции

Запроc: GET /admin/products/234234.xml

Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<product id="234234" hidden="false"  extId="3004">
  <category id="3333">Одежда/Мужская/Сорочки</category>
  <name>Сорочка мужская B101</name>
  <article>W-101/202</article>
  <description>&lt;p&gt;&lt;span style=&quot;font-family: 'Times New Roman'; font-size: 16px;&quot;&gt; &lt;/span&gt;&lt;/p&gt;</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>
      <parameter name="Размер">XS</parameter>
      <barcodes>
        <barcode>2046497976600</barcode>
        <barcode>4602347974121</barcode>
      </barcodes>
    </modification>
    <modification>
      <parameter name="Размер">S</parameter>
      <barcodes>
        <barcode>2046497972345</barcode>
      </barcodes>
    </modification>
    <modification>
      <parameter name="Размер">M</parameter>
      <barcodes>
        <barcode>2046497976600</barcode>
      </barcodes>
    </modification>
  </modifications>
  <images>
    <image id="123123">
      <original-url>image.png</original-url>
      <url>https://image.antisklad.ru/12349.jpg</url>
      <description/>
    </image>
    <image id="123321">
      <original-url>image.png</original-url>
      <url>https://image.antisklad.ru/12349.jpg</url>
      <description/>
    </image>
  </images>
</product>

Добавление товара

Запрос: POST /admin/products.xml

Тело запроса:

<?xml version="1.0" encoding="UTF-8"?>
<product>
  <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>
      <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>
      <original-url>http://site.ru/image1.png</original-url>
      <description>Вид сбоку</description>
    </image>
    <image>
      <original-url>http://site.ru/image2.png</original-url>
      <description/>
    </image>
  </images>
</product>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
<product id="234234">
  <created>2009-06-04 14:22:34 +0400</created>
  <category id="3333">Одежда/Мужская/Сорочки</category>
  <name>Сорочка мужская B101</name>
  <article>W-101/202</article>
  <description>Полное описание товара</description>
  <short-description>Краткое описание</short-description>
  <parameters>
    <parameter name="Торговая марка">Velaner</parameter>
    <parameter name="Производитель">Россия, ООО "Ромашка"</parameter>
    <parameter name="Состав">100% хлопок</parameter>
    <parameter name="Дата"производства">2014-02-13</parameter>
  </parameters>
  <modifications>
    <modification>
      <parameter name="Размер">XS</parameter>
      <barcodes>
        <barcode>2046497345345</barcode>
      </barcodes>
    </modification>
    <modification>
      <parameter name="Размер">S</parameter>
      <barcodes>
        <barcode>2046497375454</barcode>
      </barcodes>
    </modification>
    <modification>
      <parameter name="Размер">M</parameter>
      <barcodes>
        <barcode>2046498767834</barcode>
      </barcodes>
    </modification>
  </modifications>
  <images>
    <image id="123123">
      <original-url>http://site.ru/image1.png</original-url>
      <url>https://image.antisklad.ru/12349.png</url>
      <description>Вид сбоку</description>
    </image>
    <image id="123321">
      <original-url>http://site.ru/image2.png</original-url>
      <url>https://image.antisklad.ru/12349.png</url>
      <description/>
    </image>
  </images>
</product>

В случае, если добавляемый товар уже имеется в списке действующих товаров или в списке удаленных (в корзине), то возвращается ошибка 409 с XML конфликтующего товара. Чтобы отличить удаленный товар от действующего, используйте атрибут deleted=0|1 тега <product/> конфликтующего товара.

Изменение товара

Запроc: PUT /admin/products/234234.xml

Тело запроса:
<?xml version="1.0" encoding="UTF-8"?>
<product>
  <extId>3004</extId>
  <category>Одежда/Мужская/Сорочки</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>
      <original-url>http://site.ru/image1.png</original-url>
      <description>Вид сбоку</description>
    </image>
    <image>
      <original-url>http://site.ru/image2.png</original-url>
      <description/>
    </image>
  </images>
</product>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
<product id="234234" extId="3004">
  <created>2009-06-04 14:22:34 +0400</created>
  <category id="3333">Одежда/Мужская/Сорочки</category>
  <name>Сорочка мужская B101</name>
  <article>W-101/202</article>
  <description>Полное описание товара</description>
  <short-description>Краткое описание</short-description>
  <parameters>
    <parameter name="Торговая марка">Velaner</parameter>
    <parameter name="Производитель">Россия, ООО "Ромашка"</parameter>
    <parameter name="Состав">100% хлопок</parameter>
    <parameter name="Дата"производства">2014-02-13</parameter>
  </parameters>
  <modifications>
    <modification>
      <parameter name="Размер">XS</parameter>
      <barcodes>
        <barcode>2046497345345</barcode>
      </barcodes>
    </modification>
    <modification>
      <parameter name="Размер">S</parameter>
      <barcodes/>
    </modification>
    <modification>
      <parameter name="Размер">M</parameter>
      <barcodes>
        <barcode>2046498767834</barcode>
      </barcodes>
    </modification>
  </modifications>
  <images>
    <image id="123123">
      <original-url>http://site.ru/image1.png</original-url>
      <url>https://image.antisklad.ru/12349.png</url>
      <description>Вид сбоку</description>
    </image>
    <image id="123321">
      <original-url>http://site.ru/image2.png</original-url>
      <url>https://image.antisklad.ru/12349.png</url>
      <description/>
    </image>
  </images>
</product>

Удаление товара

Запроc: DELETE /admin/products/12343.xml

Ответ:
HTTP/1.1 200 OK


Клиенты

Получение списка клиентов

Запроc: GET /admin/clients.xml?parameter=value

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся позиции.
  • page-size - размер страницы (количество клиентов на странице). По-умолчанию и не может превышать 250.
Ответ:
<?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/employees.xml?parameter=value

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся позиции.
  • page-size - размер страницы (количество сотрудников на странице). По-умолчанию и не может превышать 250.
Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<employees type="array">
  <employee id="1">
    <name>Наталья Иванова</name>
    <created>2013-08-25 20:32:08+04</created>
    <phone>+79115554126</phone>
    <email>ivanov@mail.ru</email>
  </employee>
  <employee id="2">
    <name>Марина Петрова</name>
    <created>2013-09-24 12:05:20+04</created>
    <phone>+79125550252</phone>
    <email>sidr@yandex.ru</email>
  </employee>
</employees>

Получение параметров сотрудника

Запрос: GET /admin/employees/1.xml

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
  <employee id="1">
    <name>Наталья Иванова</name>
    <created>2013-08-25 20:32:08+04</created>
    <phone>+79115554126</phone>
    <email>ivanov@mail.ru</email>
  </employee>


Заказы

Список заказов

Запрос: GET /admin/orders.xml?parameter=value

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся заказы.
  • page-size - размер страницы (количество заказов на странице). По-умолчанию и не может превышать 250.
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе

В ответе присутствует информация о резерве, если заказ еще не отправлен:

 <reserved-percent type="integer">73</reserved-percent> - показывает процент реального наполнения товаром по заказу
 <reserved-all>0</reserved-all> - означает признак полного резервированная (заказ можно отправлять клиенту)
 <reserve id="21153">Резерв по заказу №16</reserve> - краткую информацию о резерве. Для получения полной информации по резерву необходимо выполнить соответствующий запрос admin/reserves/16.xml


Ответ:
<orders type="array">
  <order id="16">
    <shop id="1">Магазин "Ромашка"</shop>
    <number>10003</number>
    <client id="148">
      <name>Сидоров Сидр Сергеевич</name>
      <created>2013-08-15 20:05:41+04</created>
      <phone>+79215454545</phone>
      <card>26725</card>
      <discount>5</discount>
      <address>ул. Сидорова 55 кв.44</address>
      <email>sidr@mail.ru</email>
      <comment/>
      <birthday>1984-12-23</birthday>
    </client>
    <created>2014-06-26 21:44:27+04</created>
    <status>new</status>
    <summa>3360.15</summa>
    <delivery-type id="4">Курьером</delivery-type>
    <delivery-cost>300.15</delivery-cost>
    <delivery-address>на деревню дедушке</delivery-address>
    <delivery-begin-time/>
    <delivery-end-time>2012-12-12 00:00:00+04</delivery-end-time>
    <pay-time/>
    <pay-type>Наличными</pay-type>
    <comment>оплачено 1000р осталось 2360,15р.</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056" ext="4334">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <price>2400</price>
        <discount>0</discount>
        <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <price>400</price>
        <discount>70</discount>
        <quantity>2</quantity>
      </item>
    </items>
    <reserved-percent type="integer">73</reserved-percent>
    <reserved-all>0</reserved-all>
    <reserve id="21153">Резерв по заказу №16</reserve>
  </order>
</orders>

Информация о заказе

Запрос: GET /admin/orders/16.xml?parameter=value

Параметры:

  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе

В ответе присутствует информация о резерве, если заказ еще не отправлен:

 <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>
  <summa>3360.15</summa>
  <delivery-type id="4">Курьером</delivery-type>
  <delivery-cost>300.15</delivery-cost>
  <delivery-address>на деревню дедушке</delivery-address>
  <delivery-begin-time/>
  <delivery-end-time>2012-12-12 00:00:00+04</delivery-end-time>
  <pay-time/>
  <pay-type>Наличными</pay-type>
  <comment>оплачено 1000р осталось 2360,15р.</comment>
  <items type="array">
    <item id="86e03fab6db4c6d9cf33e616622b6c45">
      <product id="1056" ext="4333">
        <name>Рубашка Апельсин 33549 в полоску</name>
        <article>33549</article>
        <category id="3">Рубашка</category>
        <parameters>
          <parameter name="Торговая марка">Апельсин</parameter>
          <parameter name="Производитель">Китай</parameter>
        </parameters>
        <images>
          <image id="1037">
            <original-url>u2ccsAso5FM.jpg</original-url>
            <url>https://demo.antisklad.ru/?image=1037</url>
            <description>Вид сверху</description>
          </image>
        </images>
        <created>2013-02-26 20:15:00+04</created>
      </product>
      <modification>
        <parameter name="Размер">40</parameter>
      </modification>
      <price>2400</price>
      <discount>0</discount>
      <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
    </item>
    <item id="010ef0a8841bd2490a7e39a474cfed03">
      <product id="2557">
        <name>Чулки а-355</name>
        <article>а-355</article>
        <category id="76">Чулки</category>
        <parameters>
          <parameter name="Торговая марка">Колобок</parameter>
          <parameter name="Производитель">Россия</parameter>
        </parameters>
        <images>
          <image id="1037">
            <original-url>chulki-355.jpg</original-url>
            <url>https://demo.antisklad.ru/?image=3455</url>
            <description/>
          </image>
        </images>
        <created>2013-06-16 22:16:00+04</created>
      </product>
      <modification>
        <parameter name="Рост">30</parameter>
        <parameter name="Цвет">Красный</parameter>
      </modification>
      <price>400</price>
      <discount>70</discount>
      <quantity>2</quantity>
    </item>
  </items>
  <reserved-percent type="integer">73</reserved-percent>
  <reserved-all>0</reserved-all>
  <reserve id="21153">Резерв по заказу №16</reserve>
</order>

Изменение заказа

Запрос: PUT /admin/orders/16.xml

При указании тега <reserved-all>1</reserved-all> система попытается зарезервировать полностью товар для заказа. Если это не удается, то возвращается ошибка.

Тело запроса:
<order>
  <number>10003</number>
  <client>148</client>
  <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>
  <summa>1960.15</summa>
  <delivery-type id="4">Курьером</delivery-type>
  <delivery-cost>300.15</delivery-cost>
  <delivery-address>на деревню дедушке</delivery-address>
  <delivery-begin-time/>
  <delivery-end-time>2012-12-12 00:00:00+04</delivery-end-time>
  <pay-time/>
  <pay-type>Наличными</pay-type>
  <comment>заказ изменен</comment>
  <items type="array">
    <item id="010ef0a8841bd2490a7e39a474cfed03">
      <product id="2557" ext="4334">
        <name>Чулки а-355</name>
        <article>а-355</article>
        <category id="76">Чулки</category>
        <parameters>
          <parameter name="Торговая марка">Колобок</parameter>
          <parameter name="Производитель">Россия</parameter>
        </parameters>
        <images>
          <image id="1037">
            <original-url>chulki-355.jpg</original-url>
            <url>https://demo.antisklad.ru/?image=3455</url>
            <description/>
          </image>
        </images>
        <created>2013-06-16 22:16:00+04</created>
      </product>
      <modification>
        <parameter name="Рост">30</parameter>
        <parameter name="Цвет">Красный</parameter>
      </modification>
      <price>400</price>
      <discount>70</discount>
      <quantity>5</quantity>
    </item>
  </items>
  <reserved-percent type="integer">100</reserved-percent>
  <reserved-all>1</reserved-all>
  <reserve id="21153">Резерв по заказу №16</reserve>
</order>

Добавление заказа

Запрос: POST /admin/orders.xml

Примечание: Если не указать в запросе идентификатор магазина (тег <shop>), то заказ будет привязан автоматически к первому действующему магазину из списка магазинов.

Тело запроса:
<order>
  <shop>1</shop>
  <number>10150</number>
  <client>238</client>
  <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>6557</product>
      <modification>
        <parameter name="Цвет">Синий</parameter>
      </modification>
      <price>300</price>
      <discount>60</discount>
      <quantity>1</quantity>
    </item>
    <item id="010ef0a8841bd2490a7e39a474cfed03">
      <product>67</product>
      <modification/>
      <price>1300</price>
      <discount>0</discount>
      <quantity>2</quantity>
    </item>
  </items>
  <reserved-all>1</reserved-all>
</order>
Ответ:
<order id="26">
  <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>
  <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

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся продажи.
  • page-size - размер страницы (количество продаж на странице). По-умолчанию и не может превышать 250.
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
<sales type="array">
  <sale id="16">
    <shop id="1">Ромашка</shop>
    <store id="1">Склад "Ромашка"</store>
     <client id="148">Сидоров Сидр Сергеевич</client>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <summa>3360.15</summa>
    <cash>3360.15</cash>
    <comment>оплачено наличными</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <price>2400</price>
        <discount>0</discount>
        <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <price>400</price>
        <discount>70</discount>
        <quantity>2</quantity>
      </item>
    </items>
  </sale>
</sales>

Информация о продаже

Запрос: GET /admin/sales/16.xml

Параметры:

  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
  <sale id="16">
    <shop id="1">Ромашка</shop>
    <store id="1">Склад "Ромашка"</store>
     <client id="148">Сидоров Сидр Сергеевич</client>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <summa>3360.15</summa>
    <cash>3360.15</cash>
    <comment>оплачено наличными</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <price>2400</price>
        <discount>0</discount>
        <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <price>400</price>
        <discount>70</discount>
        <quantity>2</quantity>
      </item>
    </items>
  </sale>

Добавление продажи

Запрос: POST /admin/sales.xml

Примечание: Если не указать в запросе идентификатор магазина (тег <shop>), то продажа будет привязана автоматически к первому действующему магазину из списка магазинов.

Примечание: Тег <cash> задает сумму оплаты продажи наличными. Соответственно, остаток суммы оплаты система проведет по безналу. Таким образом, <cash>0<cash> задает признак оплаты по безналу. Если тег <cash/> опущен, то, по-умолчанию, рассматривается как оплата наличными.


Тело запроса:
<sale>
  <shop>1</shop>
  <client>238</client>
  <user>23</user>
  <seller>24</seller>
  <action_time>2018-10-20 10:36:00</action_time>
  <cash>500</cash>
  <comment>новая супер продажа</comment>
  <items type="array">
    <item>
      <product>6557</product>
      <modification>
        <parameter name="Цвет">Синий</parameter>
      </modification>
      <price>300</price>
      <discount>60</discount>
      <quantity>1</quantity>
    </item>
    <item>
      <product>67</product>
      <modification/>
      <price>1300</price>
      <discount>0</discount>
      <quantity>2</quantity>
    </item>
  </items>
</sale>
Ответ:
<sale id="26768">
  <shop>1</shop>
  <user id="23">
      <name>Иванова Лариса</name>
  </user>
  <client id="238">
    <name>Иванов Иван Сергеевич</name>
    <created>2013-03-25 10:05:31+04</created>
    <phone>+79291212121</phone>
    <card>3425</card>
    <discount>3</discount>
    <address>ул. Иванова 55 кв.44</address>
    <email>ivan@mail.ru</email>
    <comment/>
    <birthday>1904-10-23</birthday>
  </client>
  <created>2012-06-26 21:44:27+04</created>
  <summa>2840</summa>
  <cash>500</cash>
  <comment>новая супер продажа</comment>
  <items type="array">
    <item id="86e03fab6db4c6d9cf33e616622b6c45">
      <product id="6557">
        <name>Носки б-355</name>
        <article>б-355</article>
        <category id="54">Носки</category>
        <parameters>
          <parameter name="Торговая марка">Колобок</parameter>
          <parameter name="Производитель">Россия</parameter>
        </parameters>
        <images/>
        <created>2013-01-16 02:06:10+04</created>
      </product>
      <modification>
        <parameter name="Цвет">Синий</parameter>
      </modification>
      <price>300</price>
      <discount>60</discount>
      <quantity>1</quantity>
    </item>
    <item id="010ef0a8841bd2490a7e39a474cfed03">
      <product id="67">
        <name>Табурет</name>
        <article>2125м</article>
        <category id="58">Мебель</category>
        <parameters>
          <parameter name="Цвет">Красный</parameter>
        </parameters>
        <images/>
        <created>2013-06-24 22:06:10+04</created>
      </product>
      <modification/>
      <price>1300</price>
      <discount>0</discount>
      <quantity>2</quantity>
    </item>
  </items>
</sale>

Отмена продажи

Запрос: DELETE /admin/sales/16.xml

Ответ:
HTTP/1.1 200 OK


Возвраты от клиентов

Список возвратов от клиентов

Запрос: GET /admin/refunds.xml?parameter=value

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся возвраты.
  • page-size - размер страницы (количество возвратов на странице). По-умолчанию и не может превышать 250.
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
<refunds type="array">
  <refund id="16">
    <sale id="35623"></sale>
    <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

Параметры:

  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
  <refund id="16">
    <sale id="35623"></sale>
    <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

Примечание: Возврат создается через указание номера продажи (тег <sale>). Т.е. вернуть можно только тот товар, который был проведен через систему.

Примечание: Тег <cash> задает сумму возврата наличных денег. Соответственно, остаток суммы возврата система проведет по безналу. Таким образом, <cash>0<cash> задает признак возврата по безналу. Если тег <cash/> опущен, то, по-умолчанию, рассматривается возврат наличности.

Тело запроса:
<refund>
  <sale>35623</sale>
  <user>23</user>
  <cash>500</cash>
  <comment>возврат брака</comment>
  <items type="array">
    <item>
      <product>6557</product>
      <modification>
        <parameter name="Цвет">Синий</parameter>
      </modification>
      <price>300</price>
      <discount>60</discount>
      <quantity>1</quantity>
    </item>
    <item>
      <product>67</product>
      <modification/>
      <price>1300</price>
      <discount>0</discount>
      <quantity>2</quantity>
    </item>
  </items>
</refund>
Ответ:
  <refund id="16">
    <sale id="35623"></sale>
    <user id="23"></user>
    <shop id="1">Ромашка</shop>
    <store id="1">Склад "Ромашка"</store>
    <client id="148">Сидоров Сидр Сергеевич</client>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <summa>2300</summa>
    <cash>500</cash>
    <comment>возвращено по безналу</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">Рубашка Апельсин 33549 в полоску</product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <price>2400</price>
        <discount>100</discount>
        <quantity>1</quantity>
      </item>
    </items>
  </refund>

Отмена возврата

Запрос: DELETE /admin/refunds/16.xml

Ответ:
HTTP/1.1 200 OK

Поступления и закупки от поставщиков

Закупка от поставщика отличается от обычного поступления только наличием тега <vendor>. Тег <cost> определяет закупочную стоимость поступления и его позиций.

Список поступлений

Запрос: GET /admin/purchases.xml

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся поступления.
  • page-size - размер страницы (количество поступлений на странице). По-умолчанию и не может превышать 250.
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
<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>
    <quantity>3</quantity>
    <comment>возврат брака</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <cost>2400</cost>
        <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <cost>400</cost>
        <quantity>2</quantity>
      </item>
    </items>
  </purchase>
</purchases>

Информация о поступлении

Запрос: GET /admin/purchases/16.xml

Параметры:

  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
  <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>
    <quantity>3</quantity>
    <comment>возврат брака</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <cost>2400</cost>
        <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <cost>400</cost>
        <quantity>2</quantity>
      </item>
    </items>
  </purchase>

Добавление поступления

Запрос: POST /admin/purchases.xml

закупка от поставщика отличается от обычного поступления только наличием тега <vendor>. Тег <cost> определяет закупочную стоимость позиций поступления/возврата.

Тело запроса:
<purchase>
  <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>
        <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>
    <quantity>3</quantity>
    <comment>возврат брака</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <cost>2400</cost>
        <quantity>1</quantity>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <cost>400</cost>
        <quantity>2</quantity>
      </item>
    </items>
</purchase>

Отмена поступления

Запрос: DELETE /admin/purchases/116.xml

Ответ:
HTTP/1.1 200 OK

Перемещения

Список перемещений

Запрос: GET /admin/migrations.xml?parameter=value

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся перемещения.
  • page-size - размер страницы (количество перемещений на странице). По-умолчанию и не может превышать 250.
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
<migrations type="array">
  <migration id="16">
    <store_from id="1">Склад "Ромашка"</store>
    <store_to id="2">Главный склад</store>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <cost>3360.15</cost>
    <quantity>3</quantity>
    <comment>оплачено наличными</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <price>2400</price>
        <discount>0</discount>
        <quantity>1</quantity>
       <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <price>400</price>
        <discount>70</discount>
        <quantity>2</quantity>
      </item>
    </items>
  </migration>
</migrations>

Информация о перемещении

Запрос: GET /admin/migrations/16.xml

Параметры:

  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
  <migration id="16">
    <store_from id="1">Склад "Ромашка"</store>
    <store_to id="2">Главный склад</store>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <cost>3360.15</cost>
    <comment>оплачено наличными</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <price>2400</price>
        <discount>0</discount>
        <quantity>1</quantity>
       <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <price>400</price>
        <discount>70</discount>
        <quantity>2</quantity>
      </item>
    </items>
  </migration>

Добавление перемещения

Запрос: POST /admin/migrations.xml

Тело запроса:
<migration>
  <store_from>1</store_from>
  <store_to>2</store_to>
  <user>23</user>
  <comment>новое супер-перемещение</comment>
  <items type="array">
    <item id="86e03fab6db4c6d9cf33e616622b6c45">
      <product>6557</product>
      <modification>
        <parameter name="Цвет">Синий</parameter>
      </modification>
      <quantity>1</quantity>
    </item>
    <item id="010ef0a8841bd2490a7e39a474cfed03">
      <product>67</product>
      <modification/>
      <quantity>2</quantity>
    </item>
  </items>
</migration>
Ответ:
<migration id="116">
  <store_from>1</store_from>
  <store_to>2</store_to>
  <user id="23">Иванова Лариса</user>
  <created>2012-06-26 21:44:27+04</created>
  <cost>2840</cost>
  <comment>новое супер-перемещение</comment>
  <items type="array">
    <item id="86e03fab6db4c6d9cf33e616622b6c45">
      <product id="6557">
        <name>Носки б-355</name>
        <article>б-355</article>
        <category id="54">Носки</category>
        <parameters>
          <parameter name="Торговая марка">Колобок</parameter>
          <parameter name="Производитель">Россия</parameter>
        </parameters>
        <images/>
        <created>2013-01-16 02:06:10+04</created>
      </product>
      <modification>
        <parameter name="Цвет">Синий</parameter>
      </modification>
      <price>300</price>
      <discount>60</discount>
      <quantity>1</quantity>
    </item>
    <item id="010ef0a8841bd2490a7e39a474cfed03">
      <product id="67">
        <name>Табурет</name>
        <article>2125м</article>
        <category id="58">Мебель</category>
        <parameters>
          <parameter name="Цвет">Красный</parameter>
        </parameters>
        <images/>
        <created>2013-06-24 22:06:10+04</created>
      </product>
      <modification/>
      <price>1300</price>
      <discount>0</discount>
      <quantity>2</quantity>
    </item>
  </items>
</migration>

Отмена перемещения

Запрос: DELETE /admin/migrations/116.xml

Ответ:
HTTP/1.1 200 OK

Списания и возвраты поставщикам

Возврат поставщику отличается от обычного списания только наличием тега <vendor>. Тег <cost> определяет закупочную стоимость списания и его позиций.

Список списаний

Запрос: GET /admin/restores.xml

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся списания.
  • page-size - размер страницы (количество списаний на странице). По-умолчанию и не может превышать 250.
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
<restores type="array">
  <restore id="16">
    <store id="1">Склад "Ромашка"</store>
    <vendor id="22">ИП "Иванов И.И."</vendor>
    <user id="23">Иванов Андрей</user>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <cost>3200</cost>
    <quantity>3</quantity>
    <comment>возврат брака</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <cost>2400</cost>
        <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <cost>400</cost>
        <quantity>2</quantity>
      </item>
    </items>
  </restore>
</restores>

Информация о списании

Запрос: GET /admin/restores/16.xml

Параметры:

  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
  <restore id="16">
    <store id="1">Склад "Ромашка"</store>
    <vendor id="22">ИП "Иванов И.И."</vendor>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <cost>3200</cost>
    <quantity>3</quantity>
    <comment>возврат брака</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <cost>2400</cost>
        <quantity>1</quantity>
        <barcodes>
             <barcode>2032914541315</barcode>
        </barcodes>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <cost>400</cost>
        <quantity>2</quantity>
      </item>
    </items>
  </restore>

Добавление списания

Запрос: POST /admin/restores.xml

Возврат поставщику отличается от обычного списания только наличием тега <vendor>. Тег <cost> определяет закупочную стоимость позиций списания/возврата.

Тело запроса:
<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>
        <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>
</restore>
Ответ:
<restore id="116">
     <store id="1">Склад "Ромашка"</store>
    <vendor id="22">ИП "Иванов И.И."</vendor>
    <user id="23">Иванов Андрей</user>
    <created>2014-06-26 21:44:27+04</created>
    <action-time>2014-06-26 21:44:27+04</action-time>
    <cost>3200</cost>
    <quantity>3</quantity>
    <comment>возврат брака</comment>
    <items type="array">
      <item id="86e03fab6db4c6d9cf33e616622b6c45">
        <product id="1056">
          <name>Рубашка Апельсин 33549 в полоску</name>
          <article>33549</article>
          <category id="3">Рубашка</category>
          <parameters>
            <parameter name="Торговая марка">Апельсин</parameter>
            <parameter name="Производитель">Китай</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>u2ccsAso5FM.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=1037</url>
              <description>Вид сверху</description>
            </image>
          </images>
          <created>2013-02-26 20:15:00+04</created>
        </product>
        <modification>
          <parameter name="Размер">40</parameter>
        </modification>
        <cost>2400</cost>
        <quantity>1</quantity>
      </item>
      <item id="010ef0a8841bd2490a7e39a474cfed03">
        <product id="2557">
          <name>Чулки а-355</name>
          <article>а-355</article>
          <category id="76">Чулки</category>
          <parameters>
            <parameter name="Торговая марка">Колобок</parameter>
            <parameter name="Производитель">Россия</parameter>
          </parameters>
          <images>
            <image id="1037">
              <original-url>chulki-355.jpg</original-url>
              <url>https://demo.antisklad.ru/?image=3455</url>
              <description/>
            </image>
          </images>
          <created>2013-06-16 22:16:00+04</created>
        </product>
        <modification>
          <parameter name="Рост">30</parameter>
          <parameter name="Цвет">Красный</parameter>
        </modification>
        <cost>400</cost>
        <quantity>2</quantity>
      </item>
    </items>
</restore>

Отмена списания

Запрос: DELETE /admin/restores/116.xml

Ответ:
HTTP/1.1 200 OK

Резервы

Список резервов

Запрос: GET /admin/reserves.xml?parameter=value

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончатся резервы.
  • page-size - размер страницы (количество резервов на странице). По-умолчанию и не может превышать 250.
  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
  • type - тип(назначение) резерва: migration|reject|order|other
Ответ:
<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

Параметры:

  • products=detail - развернутые теги <product>
  • show-barcodes - признак наличия штрих-кодов в ответе
Ответ:
  <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>
  <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

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончится список.
  • page-size - размер страницы (количество позиций на странице). По-умолчанию равен и не может превышать 250.
  • expense - признак расходов (указывается без значения).
  • income - признак доходов (указывается без значения).
Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<expenditures type="array">
  <expenditure id="1">
    <budget id="3" class="retail">Из кассы</budget>
    <expense>1</expense>
    <employee id="22">Иванов Иван Иванович</employee> 
    <shop id="2">Магазин "Ромашка"</shop>
    <value>200</value>
    <comment>такси</comment>
    <cash>1</cash>
    <action>2013-09-24 12:05:20+04</action>
  </expenditure>
  <expenditure id="1">
    <budget id="4" class="retail">В кассу</budget>
    <income>1</income>
    <employee id="22">Иванов Иван Иванович</employee> 
    <shop id="2">Магазин "Ромашка"</shop>
    <value>500</value>
    <comment>за опоздание</comment>
    <cash>1</cash>
    <action>2013-09-24 13:05:20+04</action>
  </expenditure>
</expenditures>

Теги:

- cash - признак наличных денег
- [employee] - необязательный тег, привязка расхода к конкретному сотруднику (записать за сотрудником)
- [shop] - необязательный тег, привязка расхода к конкретному магазину (записать за магазином)
- expense - признак расхода
- income - признак дохода

Получение параметров расхода/дохода

Запрос: GET /admin/expenditures/2.xml

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
  <expenditure id="2">
    <budget id="3" class="retail">Из кассы</budget>
    <expense>1</expense>
    <employee id="22">Иванов Иван Иванович</employee> 
    <shop id="2">Магазин "Ромашка"</shop>
    <value>200</value>
    <comment>такси</comment>
    <cash>1</cash>
    <action>2013-09-24 12:05:20+04</action>
  </expenditure>

Добавление расхода/дохода

Запрос: POST /admin/expenditures.xml

Тело запроса:

<?xml version="1.0" encoding="UTF-8"?>
  <expenditure>
    <budget>3</budget>
    <employee>22</employee> 
    <shop>2</shop>
    <value>200</value>
    <comment>такси</comment>
    <cash>1</cash>
    <action>2013-09-24 12:05:20+04</action>
  </expenditure>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
  <expenditure id="2">
    <budget id="3" class="retail">Из кассы</budget>
    <expense>1</expense>
    <employee id="22">Иванов Иван Иванович</employee> 
    <shop id="2">Магазин "Ромашка"</shop>
    <value>200</value>
    <comment>такси</comment>
    <cash>1</cash>
    <action>2013-09-24 12:05:20+04</action>
  </expenditure>

Изменение параметров расхода/дохода

Запрос: PUT /admin/expenditures/2.xml

Тело запроса:

<?xml version="1.0" encoding="UTF-8"?>
  <expenditure>
    <value>250</value>
  </expenditure>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
  <expenditure id="2">
    <budget id="3" class="retail">Из кассы</budget>
    <expense>1</expense>
    <employee id="22">Иванов Иван Иванович</employee> 
    <shop id="2">Магазин "Ромашка"</shop>
    <value>250</value>
    <comment>такси</comment>
    <cash>1</cash>
    <action>2013-09-24 12:05:20+04</action>
  </expenditure>

Удаление дохода/расхода

Запроc: DELETE /admin/expenditures/2.xml

Ответ:
HTTP/1.1 200 OK

Справочники

Справочник статей расходов и доходов

Получение списка статей

Запроc: GET /admin/budgets?parameter=value

Параметры:

  • page - номер страницы, начиная с нуля. Используется для листания списка. Чтобы получить все нужно в цикле листать страницы пока не закончится список.
  • page-size - размер страницы (количество позиций на странице). По-умолчанию и не может превышать 250.
  • expense - признак расходов (указывается без значения).
  • income - признак доходов (указывается без значения).
Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<budgets type="array">
  <budget id="1">
    <name>Зарплата</name>
    <parent/>
    <comment>основная часть</comment>    
    <default_summa>30000</default_summa>
    <permanent>1</permanent>
    <analysis>1</analysis>
    <expense>1</expense>
    <income>0</income>
    <class/>
    <user id="23">Иванов Иван Иванович</user>
    <created>2013-09-24 12:05:20+04</created>
  </budget>
  <budget id="2">
    <name>Процент от продаж</name>
    <parent id="1">Зарплата</parent>
    <comment/>    
    <default_summa/>
    <permanent>0</permanent>
    <analysis>1</analysis>
    <expense>1</expense>
    <income>0</income>
    <class/>
     <created>2013-09-24 12:05:20+04</created>
  </budget>
  <budget id="3">
    <name>Из кассы</name>
    <parent/>
    <comment/>    
    <default_summa/>
    <permanent>0</permanent>
    <analysis>1</analysis>
    <expense>1</expense>
    <income>0</income>
    <class>retail</class>
     <created>2013-09-24 12:05:20+04</created>
  </budget>
</budgets>

Теги:

- default_summa - сумма, которая будет подставляться по-умолчанию при вводе, если не указана другая
- parent - родительская статья
- permanent 0|1 - признак постоянной статьи
- analysis 0|1 - признак участия в анализе работы предприятия
- expense 0|1 - признак того, что статья является статьей расхода
- income 0|1 - признак того, что статья является статьей дохода
- class - произвольная классификация статьи для внутреннего использования

Получение параметров статьи

Запрос: GET /admin/budgets/2.xml

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
  <budget id="2">
    <name>Процент от продаж</name>
    <parent id="1">Зарплата</parent>
    <comment/>    
    <default_summa/>
    <permanent>0</permanent>
    <analysis>1</analysis>
    <expense>1</expense>
    <income>0</income>
    <class/>
    <created>2013-09-24 12:05:20+04</created>
  </budget>

Добавление статьи

Запрос: POST /admin/budgets.xml

Тело запроса:

<?xml version="1.0" encoding="UTF-8"?>
  <budget>
    <name>Процент от продаж</name>
    <parent>1</parent>
  </budget>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
  <budget id="2">
    <name>Процент от продаж</name>
    <parent id="1">Зарплата</parent>
    <comment/>    
    <default_summa/>
    <permanent>0</permanent>
    <analysis>1</analysis>
    <expense>1</expense>
    <income>0</income>
    <class/>
    <created>2013-09-24 12:05:20+04</created>
  </budget>

Изменение статьи

Запрос: PUT /admin/budgets/2.xml

Тело запроса:

<?xml version="1.0" encoding="UTF-8"?>
  <budget>
    <name>% от продаж</name>
  </budget>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
  <budget id="2">
    <name>% от продаж</name>
    <parent id="1">Зарплата</parent>
    <comment/>    
    <default_summa/>
    <permanent>0</permanent>
    <analysis>1</analysis>
    <expense>1</expense>
    <income>0</income>
    <class/>
    <created>2013-09-24 12:05:20+04</created>
  </budget>

Удаление статьи

Запроc: DELETE /admin/budgets/2.xml

Ответ:
HTTP/1.1 200 OK

Подписки на события

Программа "АнтиСклад" генерирует события определенных типов, перечисленных ниже. У Вас имеется возможность подписаться на любое из них. Под подпиской понимается привязка любого Вашего URL к конкретному типу события, при наступлении которого, по соответствующему URL будет отправлен POST-запрос с XML-данными события, в том числе данные объекта события <info/> (заказа, товара, клиента, склада). На одно событие можно оформить любое количество подписок.

Типы событий в программе:

  • order.create - создание нового заказа
  • order.update - изменение свойств заказа
  • client.create - создание нового клиента
  • client.update - изменение свойств клиента
  • client.delete - удаление клиента
  • product.create - создание нового товара
  • product.update - изменение свойств товара
  • product.delete - удаление товара
  • store.update - изменение остатков на складе

Фактически подписчик информируется о происшедшем событии не сразу после его наступления, а через небольшой промежуток времени. В теге <time/> передается реальное время возникновения события - именно когда событие было инициировано программой, а не доставлено подписчику.

Пример данных передаваемых подписчику при генерации события:

<?xml version="1.0" encoding="UTF-8"?>
<event>
    <time>2015-10-20 16:43:33</time>
    <name>order.update</name>
    <info><order id="10323"> ... </order></info>
</event>

Примечание: При создании новой подписки у которой URL подписчика и название событие совпали с уже ранее созданной подпиской, новая подписка создана не будет, а будет возвращен XML ранее созданной подписки с указанием соответствующего атрибута (already-exists=1).


Подписка на создание нового заказа

Запроc: POST /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>
  <shop>1</shop>
</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>
  <shop>1</shop> /* если опустить этот тег, то будет взят первый из списка магазинов */
</sub>

POST-данные передаваемые подписчику:

<?xml version="1.0" encoding="UTF-8"?>
<event>
    <time>2015-10-22 19:45:43</time>
    <name>order.create</name>
    <info><order id="10323"> ... </order></info>
</event>

Подписка на изменение заказа

Запроc: POST /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>
  <shop>1</shop> /* если опустить этот тег, то будет взят первый из списка магазинов */
</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>
  <shop>1</shop>
</sub>

POST-данные передаваемые подписчику:

<?xml version="1.0" encoding="UTF-8"?>
<event>
    <time>2015-10-22 19:45:43</time>
    <name>order.update</name>
    <info><order id="10323"> ... </order></info>
</event>

Подписка на добавление клиента

Запроc: POST /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 /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 /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 /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 /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 /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>

Подписка на изменение свободного остатка склада

Запроc: POST /subs.xml

Тело запроса:
<?xml version="1.0" encoding="UTF-8"?>
<sub>
  <event>store.update</event>
  <url>https://my-inet-magaz.ru/from-antisklad/action.php</url>
  <store>1</store> /* если опустить этот тег, то будет взят первый из списка складов */
</sub>
Ответ:
<?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-кода подписчика обработки события на изменения остатков на складе:

<?php
// Получить и разобрать XML объекта события
$data = file_get_contents('php://input');
$xevent = new SimpleXMLElement($data);
$eventName = (string)$xevent->name;
$storeID = (int)$xevent->info->store->attributes()['id'];
$time = (string)$xevent->info->store->attributes()['modified-time'];

// получить измененные позиции склада для store.update
$time = urlencode($time);
$request = new HTTP_Request2("https://mylogin:mypassword@mydomain.antisklad.ru/admin/stores/{$storeID}.xml?changed-from={$time}", HTTP_Request2::METHOD_GET);
$request->setConfig(array(
     'ssl_verify_peer'   => FALSE,
     'ssl_verify_host'   => FALSE
));
$response = $request->send();
$response_Body = $response->getBody();  
$xstoreItems = new \SimpleXMLElement($response_Body);

// сохранить измененные позиции остатков товаров в файл
file_put_contents("/tmp/{$eventName}.{$storeID}.xml", $xstoreItems->asXML());
?>

Получение списка подписок

Запроc: GET /admin/subs.xml

Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<subs type="array">
  <sub id="100">
    <event>order.create</event>
    <url>https://my-inet-magaz.ru/admin/create-order.php</url>
    <shop>1</shop>
  </sub>
  <sub id="102">
    <event>client.create</event>
    <url>https://my-inet-magaz.ru/admin/create-client.php</url>
  </sub>
</subs>

Получение данных по конкретной подписке

Запроc: GET /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 /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>