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

Останнє оновлення : 23.02.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"?>
    <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
    <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="USD" rate="37.9"/>
            </currencies>
            <categories>
                <category id="1">Куртки для хлопчиків</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="..." потрібно вказувати за стандартом ISO 4217 (у вигляді трибуквеного алфавітного коду валюти: UAH USD EUR).

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

Приклад:

<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>
categories

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

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

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

Приклад:

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

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

rz_id (для тегу category)

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

Атрибут забезпечує автоматичну зв'язку категорії прайс-листа з категорією сайту 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>.

offer

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

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

  • кожен товар описується в окремому елементі offer;
  • кожна позиція повинна мати унікальний id, нумерація дозвільна;
  • offer id повинен залишатися незмінним, забороняється змінювати 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

vendor

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

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

article

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

name або model

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

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

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

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

name_ua або model_ua

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

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

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

description

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

description_ua

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

Опис товару.

  • опис не має містити посилань, номерів телефонів, адрес, пропозицій послуг чи акцій, цін, картинок тощо;
  • опис можна форматувати за допомогою html-тегів. HTML теги можуть використовуватись лише в <![CDATA[]]>;
  • максимальна кількість символів — 50 000.

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

state

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

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

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

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

param

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

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

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

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

Приклад:

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

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