Требования к xml файлу

Опубликовано : 03.07.2020

Для выставления товаров на Rozetka.ua необходимо подготовить прайс-лист с предложениями в формате XML (YML). В процессе работы магазина адрес ссылки xml должен быть статичным и не меняться.

Требования к XML (YML) -файлу

  • стандарт XML (YML) не допускает использования непечатаемых символов с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки).
  • символы ", &, >, <, ' нужно заменять на эквивалентные коды. Требование относится только к тексту и не затрагивает написание тегов;
  • запрещено изменять id товаров, и категорий после добавления на сайт ROZETKA.
Символ в тексте Код для XML-файла
" &quot;
& &amp;
> &gt;
< &lt;
' &apos;
  • URL-адрес товарного предложения на сайте магазина должен быть закодирован в соответствии со стандартом RFC-1738.
  • допустимая кодировка XML (YML)-файла: UTF-8.

Пример XML-файла

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2011-07-20 14:58">
<shop>
    <name>ABC</name>
    <company>ABC inc.</company>
    <url>http://www.abc.ua/</url>
    <currencies>
        <currency id="UAH" rate="1"/>
        <currency id="USD" rate="25.5"/>
    </currencies>
    <categories>
        <category id="391">Куртки для мальчиков</category>
        <category id="245" rz_id="4639416">Аромадиффузоры</category>
    </categories>

    <offers>
        <offer id="19305" available="true">
        <url>http://abc.ua/catalog/muzhskaya_odezhda/kurtki/kurtkabx.html</url>
        <price>4499</price>
        <currencyId>UAH</currencyId>
        <categoryId>391</categoryId>
        <picture>http://abc.ua/upload/iblock/a53/a5391cddb40be91705.jpg</picture>
        <picture>http://abc.ua/upload/iblock/9d0/9d06805d219fb525fc.jpg</picture>
        <picture>http://abc.ua/upload/iblock/93d/93de38537e1cc1f8f2.jpg</picture>
        <vendor>Abc clothes</vendor>
        <stock_quantity>100</stock_quantity>
        <name>Куртка Abc clothes Scoperandom-HH 146 см Черная (1323280942900)</name>
        <description><![CDATA[
<p>Одежда<b>Abc clothes</b> способствует развитию функций головного мозга за счет поощрения мелкой моторики.</p><p>В Abc <b>New Collection</b> будет особенно удобно лазать, прыгать, бегать.</p><p>За счет своей универсальноcти и многофункциональности, <b>Abc clothes</b> отлично подходит:</p><ul><li><b>Для весны</b></li><li><b>Для лета</b></li><li><b>Для ранней осени</b></li></ul><p><b>Состав:</b>• 92% полиэстер, 8%эластан, не токсичность подтверждена лабораторно.</p><p><b>Вес:</b> 305 г</p>]]></description>
        <param name="Рост">146 см</param>
        <param name="Сезон">Весна-Осень</param>
        <param name="Цвет">Черный</param>
        <param name="Стиль">Повседневный (casual)</param>
        <param name="Особенности">Модель с капюшоном</param>
        <param name="Состав">92% полиэстер, 8% эластан</param>
        <param name="Страна производитель товара">Эстония</param>
        <param name="Артикул">58265468</param>
        </offer>
        
        <offer id="42576" available="true">
         <url>http://abc.ua/catalog/aromadifuzori/greanleaf-heaven.html</url>
         <price>22.50</price>
         <price_old>25.80</price_old>
         <currencyId>USD</currencyId>
         <categoryId>245</categoryId>
         <picture>http://abc.ua/upload/images/detailed/99/GL_signatureRD-haven.jpg</picture>
         <vendor>Greenleaf Haven</vendor>
         <stock_quantity>10</stock_quantity>
         <name>Аромадиффузор Greenleaf Haven Морская Гавань 118 мл</name>
         <description><![CDATA[
<p>Освежающий аромат морского берега, смешанный запахами лаванды, цветками солнечного жасмина, вместе с оттенками нежного древесного янтаря и сладкого мускуса.</p><p>Срок действия аромата до 4 месяцев.</p><p>Прозрачная стеклянная ромбовая ваза-распылитель запакована в стильную упаковку, включая набор камышовых тростинок, вместе с 133 мл. аромамасла внутри. Освежает и ароматизирует любое комнатное пространство.</p><p>Сделано в США.</p>]]></description>
         <param name="Объем, мл" paramid="140098" valueid="2194404">118</param>
         <param name="Цвет" paramid="140189" valueid="1641734">Прозрачный</param>
         <param name="Аромат" paramid="140133" valueid="1360568">Морская свежесть</param>
         <param name="Наличие аромата" paramid="143288" valueid="1346424">С ароматом</param>
         <param name="Страна-производитель товара" paramid="98900" valueid="619903">США</param>
         <param name="Материал" paramid="142168"><![CDATA[ Стекло/Керамика ]]></param>
    </offer>
    
    </offers>
</shop>
</yml_catalog>

Описание элементов

Элемент Описание
yml_catalog

Обязательный элемент

Корневой элемент формата YML. Атрибут date указывает дату и время генерации или изменения XML (YML). Дата должна иметь формат YYYY-MM-DD hh:mm.

shop

Обязательный элемент

Содержит описание магазина и его товарных предложений.

name

Необязательный элемент

Короткое название магазина. Не публикуется, используется для внутренней идентификации.

Максимальное количество символов ━ 255.

company

Необязательный элемент

Полное наименование компании, владеющей магазином. Не публикуется, используется для внутренней идентификации.

Максимальное количество символов ━ 255.

url

Необязательный элемент

URL главной страницы существующего магазина.

Максимальное количество символов ━ 255.

platform

Необязательный элемент

Система управления контентом, на основе которой работает магазин (CMS).

currencies

Обязательный элемент

Список курсов валют магазина. Каждая из валют описывается отдельным элементом currency.

Пример:

<currencies>
<currency id="UAH" rate="1"/>
<currency id="USD" rate="24.50"/>
<currency id="EUR" rate="28.50"/>
<currency id="RUR" rate="0.31"/>
</currencies>

Цены на сайте отображаются только в гривнах. Только у гривны rate="1".

В качестве разделителя целой и дробной частей любых чисел в YML независимо от региональных установок используется точка или запятая.

Значение в атрибуте currency id="..." указывается по стандарту ISO 4217 в виде трёхбуквенного алфавитного (alfa-3) кода валюты.

categories

Обязательный элемент

Список категорий магазина. Каждой категории присваиваться уникальный номер, нумерация — на усмотрение магазина.

  • при любых изменениях в прайс-листе id категорий должны оставаться неизменными;
  • перед указанием необходимо подобрать конечные категории товара;
  • рекомендуем указывать название категории согласно названию на нашем сайте. В одной категории не должно быть товаров из разных категорий на нашем сайте;
  • в одной категории магазина не должно быть товаров из двух разных категорий на нашем сайте.

Пример:

<categories>
<category id="1">Угловые диваны</category>
<category id="2">Смарт-часы</category>
<category id="3">Детские игровые комплексы</category>
</categories>

Максимальное количество символов ━ 255.

rz_id

Необязательный элемент

Обеспечивает автоматическую связку категории из прайс-листа с категорией ROZETKA. Указывается только в списке категорий, в карточке товара указывается ваш id категории.

Пример:

<categories>
<category id="12345" rz_id="32635505">Джемы и начинки</category>
</categories>

id=”12345” ━ ваш id категории;
rz_id=”32635505” ━ id той категории на ROZETKA, где должны быть размещены товары.

Приоритет rz_id выше, чем у названия категории. Например, если название категории в xml файле «Футболка», а в теге rz_id будет указан id категории «Носки» на сайте ROZETKA, то автоматически будет связь с категорией «Носки».

offers

Обязательный элемент

Список предложений магазина. Открывается один раз, после тега </categories> . Закрывается в конце документа, перед тегом </shop>

Пример:

<categories>
<category id="261">Платья</category>
<category id="391">Куртки</category>
</categories>
<offers>
...
...
...
</offers>
</shop>
</yml_catalog>

Обратите внимание, тег не должен повторяться в пределах прайс-листа.

offer

Обязательный элемент

Карточка товара. Закрывается тегом </offer>.

  • каждый товар описывается отдельным элементом offer;
  • каждому предложению необходимо присвоить уникальный номер id="...", нумерация – на усмотрение магазина;
  • offer id должен оставаться неизменным, допускается использование символов: Aa-Zz и 0-9, не допускается использование кириллицы и пробелов
  • атрибут available — указывает наличие товара: true — товар в наличии, false — товар не в наличии.

На каждую разновидность товара: цвет, размер, объем, комплектацию и т.д. — должен быть создан отдельный уникальный offer. На нашем сайте товары будут сгруппированы в 1 предложение с возможностью выбора по цвету, размеру, объему и т.п.

Пример:

<offer id="74279" available="true">
...
</offer>
stock_quantity
(quantity_in_stock)

Обязательный элемент

Остатки товара. Товар будет в наличии на сайте до тех пор, пока этот параметр больше 0.

Обратите внимание, при использовании тега обязательно указывать его во всех товарах в прайс-листе, иначе товарам без указания данного тега будет присвоен статус “Нет в наличии”. Также обязательно следить за значением в теге available="...", если stock_quantity > 0 ━ true, если stock_quantity < 0 ━ false.

Пример:

<stock_quantity>10</stock_quantity>
url (in offer)

Необязательный элемент

Ссылка на товар на вашем сайте.

Пример:

<url>http://abc.ua/catalog/muzhskaya_odezhda/kurtki/kurtkabx.html</url>

Максимальное количество символов ━ 500.

price

Обязательный элемент

Цена товара. Указывайте только целое число, копейки на сайте округляются.

Пример:

<price>4499</price>

В качестве разделителя целой и дробной частей любых чисел в YML используется точка или запятая. Цена указанная с копейками будет округлена на сайте.

price_old
(old_price)

Необязательный элемент

Старая цена товара, будет перечеркнута на сайте. Указывайте следом за тегом <price>. Значение тега <price_old> обязательно должно быть выше значения тега <price>

Пример:

<price>3999</price>
<price_old>4499</price_old>
или
<price>3999</price>
<old_price>4499</old_price>

Подробнее: Скидка на товар

price_promo
(promo_price)

Необязательный элемент

Цена по промо-коду. Обязательно наличие тега <stock_quantity> в карточке товара со значением не меньше 2-х, а также соблюдение рекомендованной цены для участия в промо-активностях которая отображается в личном кабинете.

Пример:

<price>820</price>
<price_promo>620</price_promo>
или
<p><price>820</price>
</p><p><promo_price>620</promo_price>
</p>

Подробнее: Участие в промо рассылках

currencyId

Обязательный элемент

Валюта, в которой указана цена товара: UAH, USD, EUR, RUR.

Пример:

<currencyId>UAH</currencyId>
<currencyId>USD</currencyId>
<currencyId>EUR</currencyId>
<currencyId>RUR</currencyId>
categoryId

Обязательный элемент

ID категории, к которой привязан данный товар.

Пример:

<categoryId>391</categoryId>
picture

Обязательный элемент

Ссылка на фото товара. Первая фотография в списке будет основной в карточке товара. Ссылка не должна содержать кириллицу и, пробелы, максимальное количество символов ━ 1999. Минимальное количество фото ━ 1, максимальное ━ 15.

Пример:

<picture>http://abc.ua/upload/iblock/a53/a5391cddb40be91705-1.jpg</picture>
<picture>http://abc.ua/upload/iblock/a53/a5391cddb40be91705-2.jpg</picture>
<picture>http://abc.ua/upload/iblock/a53/a5391cddb40be91703-3.jpg</picture>

Если на вашем сервере установлено ограничение на загрузку фотографий, необходимо добавить в исключения следующие подсети:

89.184.81.192/27
89.184.81.128/26
78.27.198.0/24
89.184.65.128
88.81.226.126
78.27.198.189
91.210.37.210

vendor

Обязательный элемент

Бренд-производитель товара.

Должен соответствовать нашим требованиям.

Пример:

<vendor>Abc clothes</vendor>
name
(model)

Обязательный элемент

Название товара.

При указании придерживайтесь наших требований и рекомендаций.

  • в прайс-листе не может быть два товара с абсолютно одинаковым названием;
  • бренд, указанный в названии и в теге <vendor> должен быть одинаковым.

Тег model может использоваться в качестве названия, вместо тега name.

Пример:

<name>Куртка Abc clothes Scoperandom-HH XL Черная (1323280942900)</name>
или
<model>Куртка Abc clothes Scoperandom-HH XL Черная (1323280942900)</model>

Максимальное количество символов ━ 255.

description

Обязательный элемент

Описание товара.

  • описание может быть однотипным для всей категории;
  • в описании должна присутствовать информация только про товар;
  • описание не должно содержать ссылок, телефонов, адресов, предложений услуг, акций, цен, картинок, видеообзоров и т.д.;
  • описание желательно отформатировать с помощью html тегов. Html теги закрыть в <![CDATA[...]]>.

Пример:

<description>
<![CDATA[<p>Одежда <b>Abc clothes</b> способствует развитию…</p>
<p>Производитель: Эстония.</p>]]>
</description>
state

Необязательный элемент

Состояние товара. Используется в случае продажи Б/У и восстановленного товара
used б/у товар
refurbished восстановленный
new новый

Если тег state не указан, по умолчанию товарам проставляется статус new.

Пример:

<state>used</state>
<param name="..."> ...</param>

Обязательный элемент

Характеристики (параметры) товара. Название или значение характеристики (параметра) обязательно должны быть заполнены, не допускается наличие пустых тегов.

Минимальное количество необходимых характеристик у товара = 3.

  • в атрибуте name укажите название параметра (обязательно);
  • в самом элементе <param name="...">...</param> укажите значение параметра.

Пример:

<param name="Цвет">Черный</param>
<param name="Дополнительные характеристики"><![CDATA[Гладить при темпера не более 110 °С, Нельзя отбеливать средствами выделяющими хлор, Стирка при температуре 30 °С]]></param>

В многозначном параметре значения перечисляются через запятую и закрываются в CDATA.

Максимальное количество символов ━ 255.

paramid="..."

Необязательный элемент

id характеристики (параметра) на сайте ROZETKA, прописывается для автопривязки параметра и ускорения процесса модерации.

Если тип (характеристики) параметра: ComboBox, List Values, List, Checkbox, CheckBoxGroup, CheckBoxGroupValues ━ обязательно указание дополнительного тега valueid="..."

Пример:

<param name="Количество боковых щёток" paramid="126539">2</param>
valueid="..."

Необязательный элемент

id значения характеристики (параметра) на сайте ROZETKA, прописывается для автопривязки значения и ускорения процесса модерации.

Пример:

<param name="Сезон" paramid="39560" valueid="2296922, 2645254, 63320"> Осенняя, Весенняя, Летняя</param>

Максимальное количество символов ━ 255.