Пример XML файла
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2018-09-25 17:22">
  <shop>
    <categories>
      <category id="1278">Электроника</category>
      <category id="1293" parentId="1278">Смартфоны</category>
      <category id="1345" parentId="1278">Телефоны</category>
      <category id="3761" parentId="1278">Телевизоры</category>
      <category id="1553" parentId="3761">Медиа-плееры</category>
      <category id="3798">Бытовая техника</category>     
    </categories>
    <offers>
      <offer id="1637" available="false" group_id="12345">
        <url>http://example.com/product/id1637</url>
        <price>226.50</price>
        <oldprice>250</oldprice>
        <categoryId>1293</categoryId>
        <categoryId>1345</categoryId>
        <picture>http://example.com/images/1637_1.jpg</picture>
        <name>Товар 1</name>
        <param name="Цвет">Чёрный</param>
        <description>Описание товара 1637</description>
        <vendor>Название производителя</vendor>
        <model>Модель товарного предложения</model>
        <stock id="Москва">
          <available>true</available>
          <price>230.30</price>
          <oldprice>252</oldprice>
          <url>http://example.com/product/id1637</url>
          <picture>http://example.com/images/1637_2.jpg</picture>
        </stock>
        <stock id="Екатеринбург">
          <available>false</available>
          <price>235</price>
          <oldprice>251.60</oldprice>
          <url>http://example.com/product/id1637</url>
          <picture>http://example.com/images/1637_2.jpg</picture>
        </stock>
      </offer>
      <offer id="1638" available="false" group_id="12345">
        <url>http://example.com/product/id1638</url>
        <price>545.30</price>
        <categoryId>1293</categoryId>
        <categoryId>1345</categoryId>
        <picture>http://example.com/images/1638_1.jpg</picture>
        <name>Товар 2</name>
        <param name="Цвет">Белый</param>
        <description>Описание товара 1638</description>
        <vendor>Название производителя</vendor>
        <model>Модель товарного предложения</model>
        <stock id="Москва">
          <available>true</available>
          <price>500</price>
          <oldprice>550</oldprice>
          <url>http://example.com/product/id1638</url>
          <picture>http://example.com/images/1638_2.jpg</picture>
        </stock>
        <stock id="Екатеринбург">
          <available>true</available>
          <price>540.50</price>
          <oldprice>600</oldprice>
          <url>http://example.com/product/id1638</url>
          <picture>http://example.com/images/1638_3.jpg</picture>
        </stock>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Обязательные параметры XML:

  • <?xml version="1.0" encoding="UTF-8"?> - стандартный XML-заголовок. Должен начинаться с первой строки, с нулевого символа.
  • <yml_catalog> - обозначает начало XML файла, где:
      • "date" - дата генерации XML файла. Дата должна иметь формат YYYY-MM-DD hh:mm.
    • <shop> - включает в себя информацию о категориях и товарной базе.
    • <categories> - включает в себя объявление всех категорий магазина.
    • <category> объявление одной категории магазина. Атрибуты элемента:
      • "id" - число, идентификатор категории;
      • "parentId" - идентификатор родительской категории (создает вложенность).
    • <offers> - включает в себя объявление всех товарных предложений.
    • <offer> - объявление товарного предложения с описанием. Атрибуты элемента:
      • "id" - число, идентификатор товарного предложения;
      • "available" - указывает отсутствие товара в продаже вне региона, всегда "false";
      • "group_id" - число, идентификатор группы товаров. Объединяет все предложения, которые являются вариациями одной модели. Должен иметь одинаковое значение. Значение должно быть целым числом. Если товар не является групповым предложением, то в параметр нужно передавать идентификатор товарного предложения.
    • <name> - название товарного предложения.
    • <url> -  ссылка на товарное предложение. Указывается полностью, начиная с http или https.
    • <picture> - ссылка на изображение товарного предложения, указывается полностью, начиная с http или https. Изображения могут быть разрешением до 400x400px или размером до 1 МБ. Формат изображений JPEG или PNG. Рекомендуем указывать ссылку на изображение со страницы категории. Эти изображения будут использованы для отображения в блоках рекомендаций и письмах.
    • <price> - цена товарного предложения, без пробелов, дробная часть указывается через точку.
    • <categoryId> - число, идентификатор категории, где находится товарное предложение, можно указывать несколько. В одном параметре указывается только один id категории.
    • <stock> - объявление региона (склада) товарного предложения, где:
      • "id" - идентификатор региона (склада). Можно использовать буквы и цифры. Для каждого склада (региона) обязательным тегом является наличие. Наличие объявляется отдельно в теге <available>
    • <available> - указывает наличие (отсутствие) товарного предложения в продаже. Может принимать значения true или false. Для тега <stock> можно дополнительно указывать параметры <price>, <oldprice>, <description>, чтобы персонализировать информацию для этого региона (склада). Если данные параметры не указывать, то будет использована основная информация из offer.

    Дополнительные параметры:

    • <description> - описание товарного предложения. В описании можно использовать html вёрстку. Для этого необходимо "обернуть" описание в <![CDATA[<description с использованием html>]]>. Обратите внимание, что описание не должно превышать 200 символов.
    • <oldprice> - старая цена товарного предложения, без пробелов, дробная часть указывается через точку.
    • <vendor> - производитель или бренд.
    • <model> - модель товарного предложения.
    • <param name> - вместе с каждым товарным предложением можно передавать до 40 дополнительных параметров. Обычно это объём, тип материала, размер диагонали, размер скидки и другие. Дополнительные параметры учитываются в расчёте рекомендаций и могут выводиться в письмах и виджетах. Максимальная длина текстовой части параметра - 300 символов.

    Пример:

    <param name="Тип">моноблок</param>

    Дополнительная информация
    1. Для того, чтобы давать максимально актуальные товарные рекомендации система Retail Rocket запрашивает XML файл раз в несколько часов. Рекомендуется генерировать файл по расписанию не реже, чем раз в 3 часа.
    2. При запросе XML-файла HTTP-заголовки должны отдаваться не более 10 секунд.
    3. Id товара, группы или категории не должен превышать число 9 007 199 254 740 991.
    4. Для снижения нагрузки на ваш веб сайт и ускорения время обновления XML, рекомендуем вам
      • поддерживать ETag,
      • сжимать XML файл при помощи GZip.
    5. Каждый товар может иметь только одну картинку. Последующие картинки игнорируются.
    6. Любой товар, в котором отсутствует обязательный тег или его содержание является пустым, игнорируются системой.
    7. Следующие символы нужно заменять:
        "     =>  &quot;
        >     =>  &gt;
        <     =>  &lt;
        &     =>  &amp;
        '     =>  &apos;