Yandex Market Language
Yandex Market Language (также YML, Yandex Market Language) — это формат файлов на основе XML, разработанный компанией «Яндекс» для передачи информации о товарах и услугах в сервисы «Яндекс Маркет» и другие рекламные и торговые платформы компании. YML является стандартом для обмена данными между интернет-магазинами и системой «Яндекс.Маркет», позволяя автоматизировать загрузку, обновление и управление ассортиментом, ценами, остатками и описаниями товаров.
История
Формат YML был введён компанией «Яндекс» в середине 2000-х годов как часть развития сервиса «Яндекс.Маркет» (до 2017 года — «Яндекс.Маркет», ныне — «Яндекс Маркет»). Изначально он предназначался для упрощения интеграции интернет-магазинов с системой сравнения цен и каталогом товаров. С развитием электронной коммерции в России YML стал одним из основных форматов для передачи данных, наряду с CSV, JSON и специализированными API. В 2010-х годах «Яндекс» неоднократно обновлял спецификацию YML, добавляя поддержку новых типов товаров (например, книг, аудио- и видеопродукции, услуг), а также расширяя возможности для передачи дополнительных атрибутов, таких как характеристики, изображения, варианты (модификации) и условия доставки.
Структура и синтаксис
YML-файл представляет собой XML-документ, который должен соответствовать определённой схеме. Основные элементы включают:
- <yml_catalog> — корневой элемент, содержащий атрибут
date(дата и время формирования файла). - <shop> — блок, описывающий сам интернет-магазин: название, компанию, URL, валюты, категории, а также список товаров.
- <currencies> — перечень используемых валют с указанием курса (например, рубль, доллар, евро).
- <categories> — иерархический список категорий товаров, каждая из которых имеет уникальный идентификатор и может ссылаться на родительскую категорию.
- <offers> — основной блок, содержащий перечень товаров (предложений). Каждый товар описывается элементом
<offer>с атрибутамиid(уникальный идентификатор),available(доступность) иtype(тип — например,vendor.modelдля моделей производителя,bookдля книг,audiobookдля аудиокниг,artist.titleдля музыки,event-ticketдля билетов,medicineдля лекарств,tourдля туров,ticketдля билетов на транспорт,serviceдля услуг,insuranceдля страховок).
Основные теги внутри <offer>
- <url> — ссылка на страницу товара на сайте магазина.
- <price> — цена товара (число, может содержать дробную часть).
- <currencyId> — код валюты (например,
RUR,USD). - <categoryId> — идентификатор категории, к которой относится товар.
- <picture> — URL изображения товара (может быть несколько).
- <delivery> — флаг возможности доставки (
true/false). - <name> — название товара.
- <vendor> — производитель (для типа
vendor.model). - <description> — описание товара.
- <sales_notes> — примечание к продаже (например, «Только при заказе от 3 штук»).
- <manufacturer_warranty> — гарантия производителя (
true/false). - <country_of_origin> — страна производства.
- <param> — дополнительные характеристики (например, размер, цвет, материал), задаваемые атрибутами
nameиunit.
Типы товаров
YML поддерживает несколько типов товаров, каждый из которых имеет свой набор обязательных и опциональных тегов:
- vendor.model — для товаров с производителем и моделью (например, бытовая техника, электроника). Обязательны теги
<vendor>и<model>. - book — для книг. Обязательны теги
<author>,<name>,<publisher>,<year>,<ISBN>,<binding>,<page_extent>. - audiobook — для аудиокниг. Обязательны теги
<author>,<name>,<publisher>,<year>,<performed_by>,<language>,<duration>. - artist.title — для музыкальной продукции. Обязательны теги
<artist>,<title>,<year>,<media>. - event-ticket — для билетов на мероприятия. Обязательны теги
<name>,<place>,<hall>,<date>,<time>. - medicine — для лекарственных средств. Обязательны теги
<name>,<vendor>,<country_of_origin>,<dosage>,<drug_form>. - tour — для туристических пакетов. Обязательны теги
<name>,<country>,<region>,<data>,<hotel>. - ticket — для билетов на транспорт. Обязательны теги
<name>,<place>,<date>,<time>. - service — для услуг. Обязательны теги
<name>,<vendor>,<description>. - insurance — для страховых продуктов. Обязательны теги
<name>,<vendor>,<description>.
Применение
YML используется для:
- Загрузки товаров в «Яндекс Маркет» — магазины создают YML-файлы, которые затем загружаются через личный кабинет или по ссылке (URL). Система автоматически обрабатывает данные и отображает товары в каталоге.
- Интеграции с рекламными сервисами «Яндекса» — например, «Яндекс.Директ» (рекламная сеть) и «Яндекс.Бизнес» (сервис для управления рекламой) могут использовать YML для создания товарных объявлений.
- Обновления ассортимента — магазины могут регулярно (например, раз в час) генерировать и загружать новый YML-файл, чтобы цены, остатки и описания оставались актуальными.
- Автоматизации торговли — YML поддерживается многими системами управления контентом (CMS) и платформами электронной коммерции (например, 1С-Битрикс, Shopify, WooCommerce через плагины), что позволяет автоматически экспортировать данные.
Требования и ограничения
- Файл должен быть в кодировке UTF-8.
- Размер файла не должен превышать 100 МБ (для загрузки через личный кабинет) или 1 ГБ (для загрузки по ссылке).
- Все ссылки (URL) должны быть абсолютными и доступными для скачивания.
- Цены должны быть указаны в рублях (RUR) или другой валюте, поддерживаемой сервисом.
- Каждый товар должен иметь уникальный идентификатор (
id), который не меняется при обновлении. - Для товаров типа
vendor.modelобязательно указание производителя и модели. - Изображения должны быть в форматах JPEG, PNG, GIF, WebP, размером не менее 100×100 пикселей.
Сравнение с другими форматами
YML является проприетарным форматом «Яндекса» и не является универсальным. В отличие от открытых стандартов, таких как XML-схемы для электронной коммерции (например, GS1 XML) или JSON, YML ориентирован исключительно на экосистему «Яндекса». Для других платформ (например, Ozon, Wildberries, AliExpress) используются собственные форматы (CSV, XLSX, API). Однако YML получил широкое распространение в России благодаря доминированию «Яндекс Маркета» на рынке сравнения цен и товарной рекламы.
Интересные факты
- YML изначально был разработан для «Яндекс.Маркета», но со временем стал использоваться и в других сервисах «Яндекса», таких как «Яндекс.Карты» (для отображения товаров в точках продаж) и «Яндекс.Еда» (для меню ресторанов).
- В 2022 году, после ухода с российского рынка ряда зарубежных платформ, YML остался одним из немногих стандартов для интеграции с отечественными торговыми площадками.
- Существуют онлайн-валидаторы YML-файлов, которые позволяют проверить корректность структуры и соответствие требованиям «Яндекса».
Источники
- Документация «Яндекс Маркета»: «Формат YML (Yandex Market Language)» (официальный сайт «Яндекс.Маркет»).
- Спецификация YML (версия 2.0) — описание тегов и атрибутов.
- Руководство по интеграции с «Яндекс.Маркетом» для интернет-магазинов.
- Статья «Yandex Market Language» в русскоязычной Википедии (по состоянию на 2024 год).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →