Как конвертировать каталог в YML

Общая инструкция по конвертации XML, JSON, CSV, XLS и XLSX в YML: выбор пресета площадки, XML-снапшот, боковая подсказка, категории и проверка результата.

YML - это XML-формат товарного фида. В Eofferix входной файл может быть любым поддерживаемым источником: XML, YML, JSON, CSV, XLS, XLSX, ссылка, FTP/SFTP, email, архив или подготовленная выгрузка из другого сервиса. Перед настройкой результата сервис приводит источник к рабочему XML-снапшоту, поэтому дальше пользователь работает с деревом узлов и правилами преобразования.

Эта инструкция описывает общий сценарий конвертации в YML. Формат входа не важен: после выбора профиля YML вы настраиваете итоговую структуру в XML-снапшоте, а боковая панель помогает проверить требования выбранной площадки.

Когда выбирать YML

  • площадка принимает прайс-лист или товарный фид в формате YML;
  • нужно регулярно отдавать ссылку на обновляемый каталог;
  • исходник поставщика не похож на YML, но в нем есть товары, цены, категории, изображения и описания;
  • нужно сделать отдельные варианты фида: универсальный YML, Яндекс Товары, Директ, Яндекс.Бизнес, 2ГИС или Ozon цены/остатки.

Как работает подготовка

  1. Создайте профиль и выберите источник данных.
  2. В формате выгрузки выберите YML.
  3. Если нужен не универсальный файл, выберите площадку или сценарий. По умолчанию используется универсальный YML.
  4. Откройте XML-снапшот. В нем видны узлы источника и созданная YML-структура.
  5. Кликайте по подсказкам в правой панели, чтобы применить найденные переименования или создать недостающие узлы. Сложные правила остаются ручными.
  6. Сохраните шаблон и запустите тестовую выгрузку. После запуска проверьте итоговый YML-файл и загрузчик площадки.
Выбор сценария YML в профиле Eofferix
В профиле выбирается универсальный YML или специализированный сценарий под площадку.

Что делает боковая панель

Если выбран специализированный сценарий, в XML-снапшоте появляется боковая панель подготовки YML. Она проверяет каркас, обязательные поля товара, условно обязательные поля, рекомендуемые поля и прочие параметры. Панель ничего не меняет молча: действие применяется только после клика по кнопке или найденному совпадению.

Знак ! рядом с узлом или атрибутом показывает, что элемент важен для выбранного сценария. При наведении отображается подсказка с названием сценария. Стоимость технических добавлений скрыта по умолчанию и включается через инструменты редактора.

XML-снапшот YML с боковой панелью требований
Слева находится итоговое XML/YML-дерево, справа - проверка требований выбранной площадки.

Категории и categoryId

В YML связь категорий строится через числовой идентификатор. В блоке categories/category у категории должен быть атрибут id, а внутри товара offer/categoryId должно стоять то же числовое значение. Если в источнике приходит текст вроде Аксессуары и периферия или путь раздела, используйте инструмент генерации категорий: он собирает справочник категорий, назначает им числовые id и подставляет эти id в товары правилами преобразования.

Профильные пресеты YML

Пресет не заменяет официальные правила площадки. Он помогает быстрее собрать стартовую структуру и увидеть, чего не хватает в конкретном профиле. Актуальные перечни параметров всегда проверяйте в документации сервиса, куда загружаете файл.

Подготовка YML для Яндекс.Маркет

Сценарий для кабинета продавца Маркета. Панель проверяет корень yml_catalog, дату, shop, валюты, категории, список offers и узел одного товара offer. Для Маркета обязательность полей зависит от задачи файла: карточки товаров, цены, остатки или управление размещением. В Eofferix url не считается безусловно обязательным для этого пресета, а показывается как условно важное поле. См. документация Яндекс.Маркета по YML.

Подготовка YML для Яндекс Товары / Поиск

Сценарий для товарного фида, который помогает товарам попасть в Яндекс Поиск и связанные поверхности Яндекса. Панель требует id, name, url, price, currencyId, categoryId, picture и description внутри каждого offer. См. документация Яндекс Товаров по товарному фиду.

Подготовка YML для Яндекс.Директ

Сценарий для рекламных фидов. Важны ссылка на товар, цена, валюта, категория и изображение. Если используется атрибут available, передавайте логическое значение true или false, а не число. Для типа vendor.model дополнительно проверяются vendor и model. См. требования Яндекс.Директа к YML-фиду.

Подготовка YML для Товары и услуги Яндекс.Бизнес

Сценарий для прайс-листа компании в Яндекс.Бизнесе: товары и услуги могут отображаться в карточке компании. В этом пресете не требуется магазинный shop/url как ссылка на карточку товара; важнее раздел, название, цена, валюта, категория и поставщик/бренд, если он нужен в вашем прайсе. См. прайс-лист компании в Яндекс.Бизнесе.

Подготовка YML для 2ГИС

2ГИС принимает товары и услуги из файла или по ссылке в формате YML/CSV. Пресет собирает типовой YML-каркас с товарами, ценами, валютой и категориями, а также рекомендует ссылку, изображение и описание. Публичная справка 2ГИС описывает способ загрузки, а точный шаблон лучше сверять в личном кабинете 2ГИС. См. справка 2ГИС по товарам и ценам.

Подготовка YML для Ozon: цены и остатки

Этот сценарий не заменяет Seller API Ozon. Он нужен, когда требуется отдать файл для обновления цен и остатков по идентификатору товара. Категории здесь не обязательны: важнее id, price, currencyId и stock. См. статья Ozon про обновление через фид.

Универсальный YML

Используйте универсальный YML, если получатель просто просит файл YML без собственного набора требований. В этом режиме боковая панель специализированных требований не показывается: вы сами задаете структуру, названия узлов, атрибуты и правила преобразования.

Что проверить перед запуском

  • корень называется yml_catalog, если этого требует получатель;
  • дата каталога задана в формате RFC 3339 с часовым поясом, если сценарий требует дату;
  • shop, currencies, categories, offers и offer лежат на ожидаемых уровнях вложенности;
  • offer/@id уникален и не пустой;
  • price является числом, а currencyId совпадает с валютой в блоке currencies;
  • categoryId числовой и ссылается на существующий categories/category/@id;
  • ссылки url и picture доступны снаружи, если площадка их требует;
  • available передается как true или false, если вы используете это поле;
  • тестовый файл проходит загрузчик выбранной площадки без критических ошибок.
Важно
Требования внешних сервисов меняются. В Eofferix панель помогает собрать файл и подсветить типовые ошибки, но финальная проверка всегда выполняется в кабинете площадки, которая принимает YML.