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

Останнє оновлення : 24.11.2023

Щоб розмістити товари на маркетплейсі ROZETKA продавцю необхідно підготувати прайс-лист товарів у форматі XML (YML). Це структурований формат передачі даних про ваші товари. Як правило, ви працюєте у своїй системі обліку (CMS вашого сайту, PriceCreator, Prom тощо), та можете експортувати дані про свої товари в необхідному для ROZETKA форматі.

На цій сторінці описані технічні вимоги до структури XML. Про те, як отримати прайс-лист (експортувати інформацію про свої товари), описано за посиланням.

Технічні вимоги:

  • url-адреса на xml прайс-лист повинна бути статичною і не змінюватися;
  • допустиме кодування даних — UTF-8;
  • стандарт XML (YML) не допускає використання недрукованих символів з ASCII-кодами від 0 до 31 (за винятком символів з кодами 9, 10, 13 — табуляція, перенесення рядка, повернення каретки);
  • url-адреса товарної пропозиції повинна бути закодована відповідно до стандарту RFC-1738;
  • символи ", &, > <, ' потрібно замінювати на еквівалентні коди. (приклади)
    X
    Символ в тексті
    Код в XML
    • "
    &quot;
    • &
    &amp;
    • >
    &gt;
    • <
    &lt;
    • '
    &apos;
    *Вимога стосується лише написання тексту і не стосується написання тегів;
  • заборонено змінювати id товарів і категорій після додавання на сайт ROZETKA.

Приклад XML прайс-листа

<?xml version="1.0" encoding="UTF-8"?>
    <yml_catalog date="2022-07-20 14:58">
        <shop>
            <name>Назва магазину</name>
            <company>Назва компанії</company>
            <url>https://www.abc.ua/</url>
            <currencies>
                <currency id="UAH" rate="1"/>
                <currency id="USD" rate="36.6"/>
                <currency id="EUR" rate="37.9"/>
            </currencies>
            <categories>
                <category id="391">Куртки для хлопчиків</category>
            </categories>
            <offers>
                <offer id="19305" available="true">
                    <price>900</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>
                    <article>58265468</article>
                    <stock_quantity>100</stock_quantity>
                    <name>Куртка Abc clothes Scoperandom-HH 146 см Черная (58265468)</name>
                    <name_ua>Куртка Abc clothes Scoperandom-HH 146 см Чорна (58265468)</name_ua>
                    <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>
                    <description_ua>
                        <![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_ua>
                    <param name="Зріст">146 см</param>
                    <param name="Сезон">Весна-Осінь</param>
                    <param name="Колір">Чорний</param>
                    <param name="Особливості моделі">З капюшоном</param>
                    <param name="Склад">92% поліестер, 8% еластан</param>
                    <param name="Країна-виробник товару">Україна</param>
                </offer>
            </offers>
        </shop>
    </yml_catalog>

Завантажити приклад прайс-листа (файл)

Опис тегів та елементів даних в xml

Елемент / тег
Значення
yml_catalog

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

Кореневий елемент формату YML. Атрибут date вказує дату і час генерації або зміни XML (YML). Дата повинна мати формат YYYY-MM-DD hh:mm.

shop

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

Інформація про інтернет-магазин.

name

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

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

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

company

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

Назва компанії. Не публікується, використовується для внутрішньої ідентифікації.

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

url

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

url-адреса головної сторінки магазину.

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

currencies

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

Перелік курсу валют. Кожна валюта описується окремим елементом currency.

Значення в атрибуті currency id потрібно вказувати у вигляді трибуквеного алфавітного коду валюти: UAH USD EUR (стандарт ISO 4217).

Лише у гривні rate="1". Роздільником цілої та дробової частини частини є крапка або кома.

Приклад:

<currencies>
<currency id="UAH" rate="1"/>
<currency id="USD" rate="36.6"/>
<currency id="EUR" rate="37.9"/>
</currencies>
categories

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

Перелік категорій товарів. Для кожної категорії вказується унікальний ідентифікатор (id), нумерація дозвільна.

  • id категорій повинні залишатися незмінними;
  • рекомендуємо, щоб в одній категорії в прайс-листі не було товарів з двох різних категорій сайту ROZETKA;
  • рекомендуємо вказувати назву категорії згідно з назвою на сайті ROZETKA;
  • максимальна кількість символів ━ 255.

Приклад:

<categories>
<category id="1">Кутові дивани</category>
<category id="2">Смарт-годинник</category>
<category id="3">Дитячі ігрові комплекси</category>
</categories>
rz_id (для тегу category)

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

Атрибут, який забезпечує автоматичну зв'язку категорії прайс-листа з категорією сайту ROZETKA. Вказується лише в переліку категорій, для offer вказується лише основний category id.

Приклад:

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

id=”12345” ━ ідентифікатор категорії у вашій систем;
rz_id=”32635505” ━ ідентифікатор відповідної категорії на сайті ROZETKA.

Пріоритет rz_id вище, ніж у назви категорії. Наприклад, якщо назва категорії в прайс-листі «Футболка», а в атрибуті rz_id буде вказано значення категорії «Шкарпетки», то автоматично буде зв'язок з категорією «Шкарпетки».

offers

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

Список всіх товарних позицій. Відкривається після тегу </categories>. Закривається перед тегом </shop>.

offer

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

Інформація про товарну позицію.

  • кожен товар описується в окремому елементі offer;
  • кожна позиція повинна мати унікальний id, нумерація дозвільна, допускається використання символів: Aa-Zz і 0-9, не допускається використання кирилиці та пробілів;
  • забороняється змінювати id, якщо товар вже доданий на сайт ROZETKA;
  • атрибут available вказує наявність товару:
    true — товар в наявності,
    false — немає в наявності.

Кожен різновид товару потрібно передавати окремим унікальним offer id (колір, розмір, об'єм, комплектація тощо).

stock_quantity або quantity_in_stock

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

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

Обов'язково вказувати для кожного offer, позиції без тегу будуть у статусі «немає в наявності».

url (в offer)

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

url-адреса сторінки товару на сайті продавця.

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

price

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

Ціна товару. Ціле або дробове числове значення. Роздільником цілої та дробової частин використовуйте крапку або кому.

Ціна з копійками на сайті ROZETKA буде округлена.

price_old або old_price

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

Перекреслена ціна (стара ціна товару). Ціле або дробове числове значення. Використовується для відображення знижки на товар.

Значення <price_old> має бути вище значення <price>.

price_promo або promo_price

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

Промо-ціна, яка використовується щоб додати товар на промо-сторінку.

Ціле або дробове числове значення.

currencyId

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

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

categoryId

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

Ідентифікатор категорії, до якої відноситься товар.

picture

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

url-адреса зображення товару. Перша фотографія в списку буде основною на сторінці товару. Посилання не може містити кирилицю і пробіли, максимальна кількість символів ━ 1999.

Мінімальна кількість фото ━ 1, максимальна ━ 15. Максимальний розмір одного зображення ━ 10 МБ.

Якщо на вашому сервері встановлено обмеження на завантаження файлу, необхідно додати у виключення наступні ip-адреси:
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
45.128.216.254

vendor

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

Бренд товару (торгова марка/виробник).

article

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

name або model

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

name_ua або model_ua

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

Назва товарної позиції.

  • у прайс-листі не може бути два чи більше позицій з абсолютно однаковою назвою;
  • максимальна кількість символів — 255.

name_ua — назва позиції українською мовою. Якщо в прайс-листі не вказується українська назва для товару, на маркетплейсі буде застосований автоматичний переклад

description

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

description_ua

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

Текстовий опис товару.

  • максимальна кількість символів — 50 000;
  • опис можна форматувати за допомогою HTML тегів, які потрібно згрупувати в розділі CDATA.

description_ua — опис товару українською мовою. Якщо в прайс-листі немає українського опису, на сайті буде застосований автоматичний переклад.

state

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

Стан товару. Використовується для продажу вживаних чи відновлених товарів.

  • new — новий товар;
  • used — вживаний товар;
  • refurbished — відновлений товар.

За замовчуванням (і якщо тег state не вказаний) товарам проставляється статус new.

param

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

Характеристики товару (параметри).

Назва характеристики вказується в атрибуті name. Назва та значення обов'язково мають бути заповнені, не допускається наявність незаповненого тегу.

В багатозначному текстовому параметрі значення перераховуються через роздільник <br> і закриваються в CDATA.

Приклад:

<param name="Колір">Чорний</param>
<param name="Додаткові характеристики"><![CDATA[Прасувати за температури не більше ніж 110 °C <br>
Не можна вибілювати засобами, які містять хлор <br>
Прання за температури 30 °C.]]></param>

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

paramid

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

id характеристики (параметра) на сайті ROZETKA. Використовується для автоматичної зв’язки параметра.

id параметрів та їх значень для конкретної категорії можна завантажити в кабінеті продавця, розділ «Управління товарами» → «Довідники».

Якщо тип параметра: ComboBox, List Values, List, Checkbox, CheckBoxGroup, CheckBoxGroupValues ━ обов'язково вказувати атрибут valueid.

Приклад:

<param name="Колір" paramid="136895" valueid="1150615">Коричневий</param>
valueid

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

id значення характеристики (параметра) на сайті ROZETKA. Використовується для автоматичної прив'язки значення.

Приклад:

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

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

value lang

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

Використовується для вказання текстової характеристики двома мовами.
value lang="uk" — українська;
value lang="ru" — російська.

Приклад:

<param name="Рекомендації по догляду">
<value lang="uk">Не відбілювати</value>
<value lang="ru">Не отбеливать</value>
</param>

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

Якщо у вас є запитання, які стосуються xml прайс-листа, будь ласка, зверніться в службу підтримки продавця.

Чи була інформація корисною?