# YML-фід: що це і як вивантажити його з інтернет-магазину

> YML-фід — це один XML-файл з усім вашим каталогом: товарами, цінами, наявністю й характеристиками. Розбираємо, як він влаштований, як вивантажити його з Хорошоп, Prom, WooCommerce чи OpenCart і що з нього бере AI-консультант.

Published: 2026-08-27 | Author: Vendigit
Canonical: https://vendigit.com/uk/journal/what-is-yml-product-feed

YML-фід — це один файл, у якому описано весь асортимент інтернет-магазину: назви, ціни, наявність, фото, категорії й характеристики товарів. Саме його читають Rozetka, Prom, Hotline і Google Merchant Center, коли показують ваші товари. З нього ж може відповідати покупцям AI-консультант. Якщо ви продаєте в Україні, ваша платформа майже напевно вже вміє такий файл формувати. Нижче розберемо, що всередині YML-фіду, як вивантажити його з Хорошоп, Prom, WooCommerce та OpenCart і що перевірити, перш ніж комусь давати посилання.

## Що таке товарний фід

Товарний фід — це копія каталогу, яку зручно читати програмам. Вітрина магазину зроблена для людей: сторінки, меню, банери. Фід зроблено для сервісів: товар за товаром, і в кожного той самий набір полів.

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

## Що таке YML

YML розшифровується як Yandex Market Language: формат колись придумали для сервісу порівняння цін. Сьогодні він живе своїм життям і фактично став стандартом українського e-commerce. Rozetka публікує [власні вимоги до YML-прайсу](https://sellerhelp.rozetka.com.ua/p185-pricelist-requirements.html), Prom вивантажує й приймає YML, а більшість українських платформ уміють його генерувати.

Технічно YML — це звичайний XML з домовленим набором тегів. Як пише довідка Prom, YML заснований на стандарті XML. Тож будь-яка програма, що читає XML, прочитає і YML.

## Як влаштований YML-фід

Короткий, але коректний приклад:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2026-11-03 09:00">
  <shop>
    <name>Фарбовий куток</name>
    <url>https://farbkut.com.ua</url>
    <currencies>
      <currency id="UAH" rate="1"/>
    </currencies>
    <categories>
      <category id="10">Фарби</category>
      <category id="11" parentId="10">Фарби для дерева</category>
    </categories>
    <offers>
      <offer id="DX450" available="true">
        <name>Фарба для дерева DX-450, 2,5 л, горіх</name>
        <url>https://farbkut.com.ua/dx-450-gorih</url>
        <price>1299</price>
        <oldprice>1450</oldprice>
        <currencyId>UAH</currencyId>
        <categoryId>11</categoryId>
        <picture>https://farbkut.com.ua/img/dx450.jpg</picture>
        <vendor>Arbor</vendor>
        <vendorCode>DX-450-G</vendorCode>
        <description><![CDATA[Фарба на водній основі для дерева надворі.]]></description>
        <param name="Об'єм">2,5 л</param>
        <param name="Колір">Горіх</param>
        <param name="Призначення">Зовнішні роботи</param>
      </offer>
    </offers>
  </shop>
</yml_catalog>
```

Що тут головне:

| Елемент | Що містить | Навіщо |
|---|---|---|
| `<yml_catalog date="…">` | Кореневий тег і час формування файлу | Видно, наскільки фід свіжий |
| `<shop>` | Назва, сайт, валюти | Загальний контекст |
| `<categories>` | Дерево категорій; `parentId` прив'язує підкатегорію до батьківської | З нього відновлюється «Фарби > Фарби для дерева» |
| `<offers>` / `<offer>` | Один `<offer>` на товар чи варіант | Власне товари |
| атрибут `id` | Унікальний незмінний код | Так товар впізнають при наступному оновленні |
| атрибут `available` | `true` або `false` | Є в наявності чи ні |
| `<price>`, `<oldprice>`, `<currencyId>` | Ціна, перекреслена ціна, валюта | Те, про що питають найчастіше |
| `<categoryId>` | До якої категорії належить товар | Зв'язок із деревом категорій |
| `<picture>`, `<url>` | Фото і сторінка товару | Картка і посилання |
| `<vendor>`, `<vendorCode>` | Бренд і артикул | Питання про бренд, точний пошук |
| `<param name="…">` | Одна характеристика на тег: об'єм, колір, розмір, матеріал | Відповіді на «а для вулиці підійде?» |

У вимогах Rozetka є кілька правил, які варто дотримуватися для будь-кого, хто читатиме фід: кодування UTF-8, `id` лише з латиниці й цифр, який ніколи не змінюється, і екрановані спецсимволи на кшталт `&` та `<` у текстах. Двомовні магазини часто додають `name_ua` і `description_ua` поруч з основними полями.

Окремо про `param`. Покупці рідко питають просто назву. Вони питають «а є на 5 літрів?», «вона не боїться вологи?». Фід із заповненими характеристиками дозволяє на це відповісти. Фід, де є тільки назва й ціна, не дозволяє.

## Які ще бувають формати

YML — не єдиний варіант. Той самий каталог можна описати як:

- **XML для Google Merchant.** Файл RSS або Atom, де поля мають префікс `g:`: `g:id`, `g:title`, `g:price`, `g:availability`. Опис — у [специфікації даних про товари Google](https://support.google.com/merchants/answer/7052112). Якщо ви рекламуєтеся в Google Shopping, такий фід у вас уже є.
- **CSV або TSV.** Таблиця: рядок на товар, колонка на поле.
- **JSON.** Список товарів-об'єктів, частіше трапляється на самописних сайтах.

Vendigit приймає всі ці формати: XML (YML, Google Merchant RSS/Atom або інший XML із повторюваними записами товарів), CSV/TSV/TXT і JSON.

## Як вивантажити YML-фід з вашої платформи

Меню в адмінках змінюються, тому до кожної платформи ми додали посилання на її офіційну довідку. Якщо у вас інтерфейс виглядає інакше, орієнтуйтеся на довідку.

### Хорошоп

У Хорошоп є два шляхи. Фіди для маркетплейсів (Rozetka, Hotline, Google Shopping, Facebook) налаштовуються в розділі «Маркетинг → Маркетплейси»: вмикаєте потрібний фід, у картках товарів позначаєте «Завантажувати на маркетплейси», натискаєте «Згенерувати фід» і відкриваєте посилання кнопкою XML. Посилання розташоване на вашому домені. Обмеження за тарифами описані в [довідці Хорошоп про товарні фіди](https://help.horoshop.ua/uk/articles/2446965-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BD%D1%96-%D1%84%D1%96%D0%B4%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%BE%D0%B2%D0%BD%D1%96%D1%88%D0%BD%D1%96%D1%85-%D0%BC%D0%B0%D0%B9%D0%B4%D0%B0%D0%BD%D1%87%D0%B8%D0%BA%D1%96%D0%B2).

Другий шлях — експорт для Prom: у розділі «Товари» відкрийте експорт і виберіть «XML (Prom, основна мова)», потім згенеруйте файл. У [інструкції Хорошоп щодо фіду для Prom](https://help.horoshop.ua/en/articles/4301171-product-feed-for-prom-ua) пояснено, як обрати характеристики для експорту в налаштуваннях категорій і як увімкнути автоматичну генерацію. Такий фід зручний тим, що містить характеристики. Повне підключення до Vendigit — у нашому [гайді для Хорошоп](/uk/journal/ai-assistant-for-horoshop).

### Prom.ua

У кабінеті Prom в експорті товарів можна вибрати YML-файл і згенерувати на нього посилання. За довідкою Prom, експорт доступний на платних пакетах, а файл формується саме в момент звернення за посиланням, тож він завжди актуальний. Деталі — у статті Prom [«Експорт товарів та груп товарів»](https://support.prom.ua/hc/uk/articles/360004961057) і в нашому [гайді для Prom.ua](/uk/journal/ai-chatbot-for-prom-ua).

### WooCommerce

Сам WooCommerce вивантажує товари в CSV: «Товари → Усі товари → Експорт» (в англійському інтерфейсі Products → All Products → Export → Generate CSV), як описано в [офіційній документації](https://woocommerce.com/document/product-csv-importer-exporter/). Це файл, а не посилання, що оновлюється. Для живого фіду магазини зазвичай ставлять плагін, який публікує YML або XML для Google Merchant на домені магазину. Докладніше — у [гайді для WooCommerce](/uk/journal/ai-chatbot-for-woocommerce).

### OpenCart

У сучасних версіях OpenCart вбудованого YML-експорту немає. Фід дають модулі з [OpenCart Marketplace](https://www.opencart.com/index.php?route=marketplace/extension): є вивантаження для українських маркетплейсів і генератори фідів для Google Merchant. Перевірте, чи модуль підтримує вашу версію OpenCart. Див. [гайд для OpenCart](/uk/journal/ai-assistant-for-opencart).

### Shopify і Magento

Ці платформи YML не використовують. Shopify експортує CSV через «Products → Export» ([довідка Shopify](https://help.shopify.com/en/manual/products/import-export/export-products)), великі вивантаження надходять на пошту. Magento (Adobe Commerce) — через «System → Data Transfer → Export» з типом Products ([документація Adobe](https://experienceleague.adobe.com/en/docs/commerce-admin/systems/data-transfer/data-export)). Для обох поширений фід для Google Merchant через застосунок чи модуль, і він теж підходить. Більше — у [гайді для Shopify і Magento](/uk/journal/ai-assistant-for-shopify-and-magento).

## Що AI-консультант бере з фіду

Коли ви підключаєте фід до Vendigit, він стає для асистента єдиним джерелом правди про товари. Ось що з ним відбувається:

1. **Фід має бути на вашому домені.** Спершу ви підтверджуєте домен одним DNS-записом, а посилання на фід має бути на цьому домені або його піддомені. Якщо посилання веде на інший сайт, завантажте файл (до 20 МБ).
2. **Поля зіставляються автоматично.** AI-модель читає кілька товарів-прикладів і зіставляє ваші поля з полями Vendigit: код, назва, ціна, стара ціна, валюта, наявність, категорія, бренд, артикул, фото, посилання. Якщо модель недоступна, спрацьовує таблиця відомих назв полів українською, англійською та російською (`назва`, `ціна`, `наявність`, `vendorCode`, `g:price`…). Результат зіставлення видно в кабінеті.
3. **Категорії й характеристики відновлюються.** Дерево `<categories>` стає каталогом, а кожен `param` — характеристикою, за якою асистент шукає й порівнює товари.
4. **Ціни беруться з фіду, а не з AI.** Коли асистент радить товар, назву, ціну й посилання в картці товару Vendigit підставляє просто з фіду. Називати ціну чи наявність, яких модель не знайшла, їй заборонено інструкцією.
5. **Фід перечитується кожні 6 годин.** Фіди за посиланням оновлюються автоматично. Завантажений файл — ні, його треба замінювати вручну.

Наскільки свіжими будуть дані насправді, залежить і від платформи. Про це — у статті [як часто оновлювати товарний фід](/uk/journal/product-feed-sync-frequency).

## Коротка перевірка перед тим, як ділитися фідом

Відкрийте посилання на фід у браузері й перевірте:

- **У кожного товару є `id` і назва.** Товари без них пропускаються.
- **`id` не змінюються.** Якщо коди щоразу нові, будь-який сервіс щоразу бачить новий каталог.
- **Ціни записані просто числом**: `1299` або `1299.00`, без пробілів-роздільників тисяч і без «грн».
- **Наявність вказана** для кожного товару.
- **Категорії зв'язані**: кожен `categoryId` є в `<categories>`.
- **Характеристики заповнені** в `param` для того, про що питають покупці.
- **Файл повний.** Якщо в фіді раптом удвічі менше товарів, ніж зазвичай, це майже завжди збій вивантаження, а не розпродаж.

Найчастіші проблеми й способи їх виправити зібрані в статті [помилки товарного фіду](/uk/journal/product-feed-errors).

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

### YML і XML — це одне й те саме?

YML — це XML із фіксованим набором тегів для магазинів: `shop`, `categories`, `offers`, `offer`, `price`, `param` тощо. Кожен YML-файл є XML-файлом, але не кожен XML — це YML.

### Чи потрібен саме YML, щоб підключити Vendigit?

Ні. Vendigit читає YML, XML для Google Merchant (RSS чи Atom), інший XML з повторюваними записами товарів, CSV/TSV і JSON. Беріть той формат, який ваша платформа вивантажує найповніше.

### У мене фід українською і російською. Це проблема?

Ні. Vendigit визначає основну мову фіду і читає додаткові мовні версії назв, описів і характеристик, якщо вони є. Покупець отримує відповідь тією мовою, якою пише.

### Можна завантажити файл замість посилання?

Так, до 20 МБ у форматах `.xml`, `.yml`, `.csv`, `.txt` або `.json`. Але файл не оновлюється сам, тож для каталогу, де часто змінюються ціни й наявність, краще посилання на вашому домені.

### Якого розміру може бути фід?

Фід за посиланням — до 128 МБ (JSON — до 24 МБ). Скільки товарів потрапляє в пошук, залежить від тарифу: 10 000 на Starter, 15 000 на Growth, 50 000 на Business.

Якщо ваш магазин уже вивантажує фід, ви майже готові до консультанта, який відповідає на «а є? а скільки коштує?» з вашого власного каталогу. [Почніть 14-денний безкоштовний період](https://app.vendigit.com/register) — картка не потрібна.
