Вимоги до xml файлу

Опубліковано : 20.10.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-файлу: 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/kurtki-dlya-malchikov/kurtki/kurtkabx.html</url>
        <price>499</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/93de38537e1cc    1f8f2.jpg</picture>
        <vendor>Abc clothes</vendor>
        <stock_quantity>100</stock_quantity>
        <name>Куртка Abc clothes Scoperandom-HH 146 см Чорна (58265468)</name>
        <description><![CDATA[<p>Одяг<b>Abc clothes</b> сприяє розвитку функцій головного мозку шляхом підтримки дрібної моторики.</p><p>В Abc <b>New Collection</b> буде особливо зручно стрибати, пригати та бігати.</p><p>Завдяки своїй універсальності та багатофункціональності, <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="Особливості моделі">З капюшоном</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.

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".

В якості роздільника цілої і дробової частин будь-яких чисел незалежно від регіональних налаштувань використовується крапка або кома.

значення в атрибуті 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 id="74279" available="true">
...
</offer>

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

stock_quantity
(quantity_in_stock)

Обов'язковий елемент

Залишки кількості товару. Товар буде в наявності на сайті поки цей параметр більше 0.

За відстутості артрибуту залишків, кількість товару = 1, і після замовлення товар буде відсутній в наявності.

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

Приклад:

<stock_quantity>10</stock_quantity>
або
<quantity_in_stock>10</quantity_in_stock>
url (in offer)

Необов'язковий елемент

Посилання на товар на вашому сайті.

Приклад:

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

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

price

Обов'язковий елемент

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

Приклад:

<price>499</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>
або
<price>820</price>
<promo_price>620</promo_price>

Докладніше: Участь в промо-розсилках

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 Чорна (58265468)</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 °C, Не можна вибілювати засобами, які виділяють хлор, Прання за температури 30 °C.]]></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.