Импорт из 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: Загрузка файла
- Перейдите в Товары → Импорт/Экспорт
- Выберите "Импорт из YML"
- Нажмите "Выбрать файл"
- Выберите YML-файл
- Нажмите "Загрузить"
Вариант 2: URL файла (для автообновления)
- Разместите YML на сервере
- Укажите URL:
https://mysite.ru/feed.yml - Нажмите "Загрузить по URL"
Шаг 3: Настройки импорта
Режим:
- 🆕 Только новые товары
- 🔄 Обновить существующие
- ✅ Создать и обновить (рекомендуется)
Сопоставление:
- Товары сопоставляются по
vendorCode(артикул) - Если нет vendorCode, по
idиз YML
Категории:
- ☑️ Создавать новые категории автоматически
- ☑️ Сохранять иерархию категорий
Изображения:
- ☑️ Загружать изображения из
<picture> - ☑️ Несколько изображений (все теги
<picture>)
Шаг 4: Превью
Система покажет:
- Количество товаров в файле
- Количество категорий
- Превью первых 10 товаров
Проверьте и нажмите "Начать импорт"
Шаг 5: Импорт
Процесс занимает:
- До 100 товаров: 2-3 минуты
- 100-1000 товаров: 10-15 минут
- 1000+ товаров: 30-60 минут
Можно закрыть страницу — процесс продолжится в фоне.
Шаг 6: Проверка
После завершения:
-
Отчет об импорте:
- Успешно: X
- Ошибки: Y
- Обновлено: Z
-
Проверьте товары:
- Список товаров
- Категории
- Откройте бота
Автоматическая синхронизация
Настройка автообновления
Если ваш YML-файл обновляется автоматически (например, из CMS), настройте регулярную синхронизацию.
Шаг 1: Разместите YML на сервере
Убедитесь, что файл доступен по постоянному URL:
https://mysite.ru/export/feed.yml
Шаг 2: Настройте автосинхронизацию
Товары → Импорт/Экспорт → Автосинхронизация
-
Укажите URL файла
-
Выберите частоту обновления:
- Каждый час
- Каждые 6 часов
- Раз в день
- Раз в неделю
-
Сохраните настройки
Что обновляется:
- Цены
- Остатки
- Описания
- Новые товары добавляются
- Отсутствующие товары скрываются (не удаляются)
Особенности 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
Советы и рекомендации
Для описаний с HTML используйте CDATA:
<description><![CDATA[
<b>Жирный текст</b>
<i>Курсив</i>
]]></description>
Используйте group_id для вариантов одного товара
Артикулы помогают обновлять товары без дубликатов
Создайте тестовый YML с 5-10 товарами
Что дальше?
После импорта YML:
- Проверьте варианты товаров — если были группы
- Настройте автосинхронизацию — для автообновления
- Управляйте остатками — отслеживайте наличие
Полезные ссылки
Нужна помощь?
📧 Email: support@botobot.ru
💬 Telegram: @BotobotSupport_bot
При обращении приложите:
- YML-файл
- Скриншот ошибки
Готовы импортировать? Подготовьте YML и начните →