Перейти к основному содержимому

Импорт из YML (Яндекс.Маркет)

YML — это XML-формат, используемый Яндекс.Маркетом для описания товарного каталога. Если у вас уже есть YML-фид, вы можете легко импортировать его в Botobot.


Что такое YML?

YML (Yandex Market Language) — стандартизированный формат для описания товаров.

Кто использует:

  • Яндекс.Маркет
  • Яндекс.Директ (торговые кампании)
  • Различные маркетплейсы
  • Системы сравнения цен

Преимущества:

  • ✅ Стандартизированный формат
  • ✅ Полное описание товаров
  • ✅ Поддержка вариантов
  • ✅ Автоматическая генерация из CMS

Где взять YML-файл

Генерация из платформ

CMS и платформы электронной коммерции:

  • WooCommerce (плагин YML Export)
  • OpenCart (расширение YML)
  • PrestaShop (модуль YML)
  • 1С-Битрикс (встроенная выгрузка)
  • Shopify (приложения для экспорта)

Маркетплейсы:

  • Яндекс.Маркет (выгрузка фида)
  • Aliexpress (экспорт каталога)

CRM системы:

  • RetailCRM
  • AmoCRM
  • Битрикс24

Создание вручную

Можно создать YML-файл вручную в текстовом редакторе.

Базовая структура:

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2024-12-01 10:00">
<shop>
<name>Мой магазин</name>
<company>ООО Компания</company>
<url>https://myshop.ru</url>
<currencies>
<currency id="RUR" rate="1"/>
</currencies>
<categories>
<category id="1">Одежда</category>
<category id="2" parentId="1">Футболки</category>
</categories>
<offers>
<offer id="1" available="true">
<name>Футболка белая</name>
<price>1500</price>
<currencyId>RUR</currencyId>
<categoryId>2</categoryId>
<picture>https://example.com/image.jpg</picture>
<description>Классическая белая футболка</description>
</offer>
</offers>
</shop>
</yml_catalog>

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

Обязательные элементы

1. Заголовок:

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2024-12-01 10:00">

2. Информация о магазине:

<shop>
<name>Название магазина</name>
<company>Название компании</company>
<url>https://site.ru</url>
</shop>

3. Валюты:

<currencies>
<currency id="RUR" rate="1"/>
<currency id="USD" rate="CB"/>
</currencies>

4. Категории:

<categories>
<category id="1">Одежда</category>
<category id="2" parentId="1">Мужская</category>
</categories>

5. Товары (offers):

<offers>
<offer id="123" available="true">
<!-- Данные товара -->
</offer>
</offers>

Поля товара (offer)

Обязательные:

<offer id="123" available="true">
<name>Название товара</name>
<price>1500</price>
<currencyId>RUR</currencyId>
<categoryId>2</categoryId>
</offer>

Рекомендуемые:

<picture>https://example.com/image.jpg</picture>
<description>Описание товара</description>
<vendor>Бренд</vendor>
<model>Модель</model>

Дополнительные:

<barcode>4627099150033</barcode>
<vendorCode>TSH-001</vendorCode>
<country_of_origin>Россия</country_of_origin>
<weight>0.25</weight>
<dimensions>30/20/5</dimensions>
<oldprice>2000</oldprice>

Процесс импорта

Шаг 1: Подготовка файла

Проверьте файл:

  • ✅ Формат: .yml или .xml
  • ✅ Кодировка: UTF-8
  • ✅ Структура валидна
  • ✅ Все обязательные поля заполнены

Валидация: Проверьте файл на validator.xml


Шаг 2: Загрузка

Вариант 1: Загрузка файла

  1. Перейдите в ТоварыИмпорт/Экспорт
  2. Выберите "Импорт из YML"
  3. Нажмите "Выбрать файл"
  4. Выберите YML-файл
  5. Нажмите "Загрузить"

Вариант 2: URL файла (для автообновления)

  1. Разместите YML на сервере
  2. Укажите URL: https://mysite.ru/feed.yml
  3. Нажмите "Загрузить по URL"

Шаг 3: Настройки импорта

Режим:

  • 🆕 Только новые товары
  • 🔄 Обновить существующие
  • ✅ Создать и обновить (рекомендуется)

Сопоставление:

  • Товары сопоставляются по vendorCode (артикул)
  • Если нет vendorCode, по id из YML

Категории:

  • ☑️ Создавать новые категории автоматически
  • ☑️ Сохранять иерархию категорий

Изображения:

  • ☑️ Загружать изображения из <picture>
  • ☑️ Несколько изображений (все теги <picture>)

Шаг 4: Превью

Система покажет:

  • Количество товаров в файле
  • Количество категорий
  • Превью первых 10 товаров

Проверьте и нажмите "Начать импорт"


Шаг 5: Импорт

Процесс занимает:

  • До 100 товаров: 2-3 минуты
  • 100-1000 товаров: 10-15 минут
  • 1000+ товаров: 30-60 минут

Можно закрыть страницу — процесс продолжится в фоне.


Шаг 6: Проверка

После завершения:

  1. Отчет об импорте:

    • Успешно: X
    • Ошибки: Y
    • Обновлено: Z
  2. Проверьте товары:

    • Список товаров
    • Категории
    • Откройте бота

Автоматическая синхронизация

Настройка автообновления

Если ваш YML-файл обновляется автоматически (например, из CMS), настройте регулярную синхронизацию.

Шаг 1: Разместите YML на сервере

Убедитесь, что файл доступен по постоянному URL:

https://mysite.ru/export/feed.yml

Шаг 2: Настройте автосинхронизацию

Товары → Импорт/Экспорт → Автосинхронизация
  1. Укажите URL файла

  2. Выберите частоту обновления:

    • Каждый час
    • Каждые 6 часов
    • Раз в день
    • Раз в неделю
  3. Сохраните настройки

Что обновляется:

  • Цены
  • Остатки
  • Описания
  • Новые товары добавляются
  • Отсутствующие товары скрываются (не удаляются)

Особенности YML

Варианты товаров

YML поддерживает варианты через группировку:

<offer id="123" group_id="TSH">
<name>Футболка белая размер M</name>
<param name="Размер">M</param>
<param name="Цвет">Белый</param>
</offer>

<offer id="124" group_id="TSH">
<name>Футболка белая размер L</name>
<param name="Размер">L</param>
<param name="Цвет">Белый</param>
</offer>

Botobot:

  • Создаст товар "Футболка белая"
  • С вариантами: M, L

Множественные изображения

<offer id="123">
<picture>https://example.com/image1.jpg</picture>
<picture>https://example.com/image2.jpg</picture>
<picture>https://example.com/image3.jpg</picture>
</offer>

Все изображения будут загружены для товара.


Валюты

<currencies>
<currency id="RUR" rate="1"/>
<currency id="USD" rate="CB"/>
<currency id="EUR" rate="CB"/>
</currencies>

Botobot:

  • Использует только RUR
  • Другие валюты конвертируются автоматически

Пример полного YML

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2024-12-01 10:00">
<shop>
<name>Интернет-магазин "Стиль"</name>
<company>ООО "Стиль"</company>
<url>https://style-shop.ru</url>

<currencies>
<currency id="RUR" rate="1"/>
</currencies>

<categories>
<category id="1">Одежда</category>
<category id="2" parentId="1">Футболки</category>
<category id="3" parentId="1">Джинсы</category>
</categories>

<offers>
<!-- Товар 1 -->
<offer id="101" available="true">
<name>Футболка хлопковая белая</name>
<vendorCode>TSH-WHT-001</vendorCode>
<price>1500</price>
<oldprice>2000</oldprice>
<currencyId>RUR</currencyId>
<categoryId>2</categoryId>
<picture>https://cdn.shop.ru/tshirt-white-1.jpg</picture>
<picture>https://cdn.shop.ru/tshirt-white-2.jpg</picture>
<description><![CDATA[
Классическая футболка из 100% хлопка.
Размеры: S, M, L, XL
]]></description>
<vendor>Cotton Style</vendor>
<country_of_origin>Турция</country_of_origin>
<weight>0.2</weight>
<param name="Материал">100% хлопок</param>
<param name="Цвет">Белый</param>
</offer>

<!-- Товар 2 -->
<offer id="102" available="true">
<name>Джинсы классические синие</name>
<vendorCode>JEANS-BLU-001</vendorCode>
<price>3500</price>
<currencyId>RUR</currencyId>
<categoryId>3</categoryId>
<picture>https://cdn.shop.ru/jeans-blue.jpg</picture>
<description>Классические синие джинсы прямого кроя</description>
<vendor>Denim Co</vendor>
<param name="Размер">32, 34, 36</param>
</offer>
</offers>
</shop>
</yml_catalog>

Частые ошибки

❌ "Ошибка парсинга XML"

Причина: Некорректная структура файла

Решение:

  • Проверьте закрывающие теги
  • Проверьте спецсимволы (используйте <![CDATA[...]]>)
  • Валидируйте XML

❌ "Кодировка не поддерживается"

Причина: Файл не в UTF-8

Решение:

  • Пересохраните файл в UTF-8
  • Проверьте заголовок: encoding="UTF-8"

❌ "Категория не найдена"

Причина: categoryId не существует в разделе <categories>

Решение:

  • Добавьте категорию в раздел <categories>
  • Или включите автосоздание категорий

❌ "Не удалось загрузить изображение"

URL: https://cdn.shop.ru/image.jpg

Решение:

  • Проверьте доступность URL
  • Убедитесь, что не требуется авторизация
  • Проверьте HTTPS

Советы и рекомендации

Совет 1: Используйте CDATA

Для описаний с HTML используйте CDATA:

<description><![CDATA[
<b>Жирный текст</b>
<i>Курсив</i>
]]></description>
Совет 2: Группируйте варианты

Используйте group_id для вариантов одного товара

Совет 3: Указывайте vendorCode

Артикулы помогают обновлять товары без дубликатов

Совет 4: Тестируйте на малом файле

Создайте тестовый YML с 5-10 товарами


Что дальше?

После импорта YML:

  1. Проверьте варианты товаров — если были группы
  2. Настройте автосинхронизацию — для автообновления
  3. Управляйте остатками — отслеживайте наличие

Полезные ссылки


Нужна помощь?

📧 Email: support@botobot.ru
💬 Telegram: @BotobotSupport_bot

При обращении приложите:

  • YML-файл
  • Скриншот ошибки

Готовы импортировать? Подготовьте YML и начните →