До основного вмісту
0x0дебаг даних
Перевірити прайс

прайси → фіди

XML для Rozetka: файл є, імпорт мовчить

Найчастіше проблема не в кількості товарів, а в кількох рядках: ціна текстом, порожня категорія, бите фото. Розбираємо прайс, збираємо XML і показуємо, що саме ламало імпорт.

Перевірити прайс

від 990 грн · перші 50 рядків безкоштовно

було → стало

Що змінюється у файлі

data x-ray · diff1 файл → 1 фід
0x0 дебаг даних: рядок з багом у валідний рядок
булоXLSX постачальника
price_final.xlsx

1841;Кабель USB-C;1 299,00 грн;+
1841;Кабель USB-C;1 299,00 грн;+
photo: /images/1.jpg
категорія: —
сталоrozetka.xml
rozetka.xml  ✓ valid

<offer id="1841">
  <price>1299.00</price>
  <currencyId>UAH</currencyId>
  <picture>https://cdn/1.jpg</picture>
</offer>

0 дублів · 0 порожніх категорій

дані вигадані · показано структуру, не реальний прайс

XML-фід для Rozetka — це один файл, у якому площадка читає каталог: назви, ціни, категорії, фото й залишки. Імпорт не виправляє дані за вас: якщо поле не відповідає формату, офер виключається або потрапляє в каталог із помилкою. Тому ми спершу перевіряємо прайс, а вже потім збираємо XML.

Структура файлу

Кореневий елемент — yml_catalog з датою формування. Усередині один shop: назва магазину, URL, довідники валют і категорій, блок offers.

<yml_catalog date="2026-11-04 12:00">
  <shop>
    <name>Ваш магазин</name>
    <company>Ваш магазин</company>
    <url>https://example.com</url>
    <currencies>
      <currency id="UAH" rate="1"/>
    </currencies>
    <categories>
      <category id="1001">Інструмент</category>
    </categories>
    <offers>
      <offer id="1841" available="true">
        <price>1299</price>
        <currencyId>UAH</currencyId>
        <categoryId>1001</categoryId>
        <picture>https://cdn.example.com/1.jpg</picture>
        <vendor>Brand</vendor>
        <article>SKU-1841</article>
        <stock_quantity>12</stock_quantity>
        <name>Кабель USB-C</name>
        <description>Опис товару</description>
        <param name="Колір">Чорний</param>
      </offer>
    </offers>
  </shop>
</yml_catalog>

id і available — атрибути офера, решта полів — окремі елементи. Ми формуємо їх у порядку, заданому правилами площадки.

Обов'язкові поля офера

Поле Що містить Вимога
id Ідентифікатор товару лише латинські літери A–Z, a–z і цифри 0–9, без пробілів; унікальний у фіді
name Назва товару до 255 символів; назви не мають дублюватися
price Ціна число більше нуля, без пробілів, ком і слова «грн»
currencyId Валюта UAH, EUR або USD — саме з цими кодами працює наш конвертер
categoryId Категорія id з дерева категорій Rozetka, а не довільна назва
picture Фото від 1 до 15 HTTPS-посилань, без пробілів і кирилиці, до 1999 символів кожне
vendor Бренд непорожній текст
article Артикул унікальний у межах фіду
stock_quantity Залишок ціле число ≥ 0
description Опис непорожній текст
param Параметри товару у довідці позначений обов'язковим; набір залежить від категорії

Точний перелік обов'язкових param для конкретної категорії звіряйте з довідкою Rozetka перед завантаженням: вимоги відрізняються за розділами.

Типові помилки

  • Ціна записана як 1 299,00 грн замість 1299 — імпорт не розпізнає число.
  • Той самий id або артикул у двох рядках — площадка не розуміє, який офер головний.
  • Фото починається з http://, містить пробіл або кирилицю — для Rozetka посилання має бути HTTPS.
  • Порожній categoryId або id, якого немає в дереві категорій Rozetka.
  • Відсутній vendor, description або stock_quantity — офер не проходить перевірку.
  • Дублі назв: два різні товари з однаковою назвою теж вважаються конфліктом.

Що робимо з прайсом

  1. Читаємо XLSX або CSV у тому вигляді, у якому його надіслав постачальник.
  2. Зіставляємо колонки з полями фіда за мапою: id, name, price, currency, category, available, picture, vendor, article, stock_quantity, description.
  3. Перевіряємо типи, обов'язковість, дублі та формат посилань — без мережевих запитів до сайтів із фото.
  4. Рядки з помилками не включаємо у фід. У звіті залишаємо номер рядка, id, поле, код і причину.
  5. Віддаємо готовий XML і звіт: що виправлено, що виключено і чому.

faq

Часті питання

Скільки коштує зібрати XML для Rozetka?

Від 990 грн за типовий прайс. Перші 50 рядків перевіряємо безкоштовно. Точну суму фіксуємо до початку роботи.

У мене прайс у XLSX — цього достатньо?

Так. Нам не потрібен шаблон: беремо ваш файл як є, розбираємо колонки й питаємо лише там, де дані справді неоднозначні.

Що буде з фото товарів?

Перевіряємо формат посилань і доступність URL. Якщо фото лежать локально — підкажемо, куди їх викласти, щоб площадка їх бачила.

Що з моїми файлами після здачі?

Видаляємо через 7 днів після здачі. Для обліку зберігаємо метадані замовлення і SHA-256 відбитки файлів.

Чи можна додати власні параметри товару?

Так, якщо площадка приймає їх для вашої категорії. Назви параметрів мають збігатися з довідником Rozetka; інакше офер може бути відхилений.

Що робити з товаром, для якого немає категорії?

Не підставляти випадковий id. Товар краще виключити з фіда й окремо узгодити категорію — інакше він потрапить не в той розділ або не пройде модерацію.

Ви перевіряєте, що фото справді відкривається?

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

наступний крок

Надішліть прайс — повернемо розбір перших 50 рядків

Площадка, формат і дедлайн — одним повідомленням. Файл може бути «брудним», саме для цього ми й потрібні.