Формат YML

YML (Yandex Market Language) — это стандарт, разработанный Яндексом для принятия и размещения информации в базе данных Яндекс.Маркета. YML основан на стандарте XML.

Требования к YML-файлу

  1. Стандарт YML не допускает использования непечатаемых символов с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки).

  2. Символы ", &, >, <, ' нужно заменять на эквивалентные коды:

    Символ в тексте

    Код для YML-файла

    "
    &
    >
    <
    '
    &quot;
    &amp;
    &gt;
    &lt;
    &apos;
    Примечание. Вы можете использовать символы ", &, >, <, 'в блоке CDATA в описании предложения.
  3. Допустимые кодировки YML-файла: UTF-8, windows-1251.

Пример XML-файла

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2017-02-05 17:22">
    <shop>
    <name>BestSeller</name>
    <company>Tne Best inc.</company>
    <url>http://best.seller.ru</url>
    <currencies>
      <currency id="RUR" rate="1"/>
      <currency id="USD" rate="60"/>
    </currencies>
    <categories>
      <category id="1">Бытовая техника</category>
      <category id="10" parentId="1">Мелкая техника для кухни</category>
      <category id="101" parentId="10">Сэндвичницы и приборы для выпечки</category>
      <category id="102" parentId="10">Мороженицы</category>
    </categories>
    <offers>
      <offer id="12346" available="true" bid="80" cbid="90" fee="325">
        <url>http://best.seller.ru/product_page.asp?pid=12348</url>
        <price>1490</price>
        <oldprice>1620</oldprice>
        <currencyId>RUR</currencyId>
        <categoryId>101</categoryId>
        <picture>http://best.seller.ru/img/large_12348.jpg</picture>
        <store>false</store>
        <pickup>true</pickup>
        <delivery>true</delivery>
        <delivery-options>
          <option cost="300" days="0" order-before="12"/>
        </delivery-options>
        <name>Вафельница First FA-5300</name>
        <vendor>First</vendor>
        <vendorCode>A1234567B</vendorCode>
        <description>
        <![CDATA[
          <p>Отличный подарок для любителей венских вафель.</p>
        ]]>
        </description>
        <sales_notes>Необходима предоплата.</sales_notes>
        <manufacturer_warranty>true</manufacturer_warranty>
        <country_of_origin>Россия</country_of_origin>
        <barcode>0156789012</barcode>
        <cpa>1</cpa>
        <rec>123,456</rec>
      </offer>
      <offer id="9012" type="vendor.model" available="true" bid="80" cbid="90" fee="325">
        <url>http://best.seller.ru/product_page.asp?pid=12345</url>
        <price>8990</price>
        <oldprice>9900</oldprice>
        <currencyId>RUR</currencyId>
        <categoryId>102</categoryId>
        <picture>http://best.seller.ru/img/model_12345.jpg</picture>
        <store>false</store>
        <pickup>false</pickup>
        <delivery>true</delivery>
        <delivery-options>
          <option cost="300" days="1" order-before="18"/>
        </delivery-options>
        <outlets> 
          <outlet id="1" instock="50"/>
          <outlet id="2" instock="20"/>
        </outlets>
        <typePrefix>Мороженица</typePrefix>
        <vendor>Brand</vendor>
        <model>3811</model>
        <description>
        <![CDATA[
          <h3>Мороженица Brand 3811</h3>
          <p>Это прибор, который придётся по вкусу всем любителям десертов и сладостей, ведь с его помощью вы сможете делать вкусное домашнее мороженое из натуральных ингредиентов.</p>
        ]]>
        </description>
        <param name="Цвет">белый</param>
        <sales_notes>Необходима предоплата.</sales_notes>
        <manufacturer_warranty>true</manufacturer_warranty>
        <country_of_origin>Китай</country_of_origin>
        <barcode>0123456789379</barcode>
        <cpa>1</cpa>
        <rec>345,678</rec>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Описание элементов

Элемент Описание
xml header

Стандартный XML-заголовок. Должен начинаться с первой строки, с нулевого символа.

yml_catalog

Любой XML-документ может содержать только один корневой элемент. Формат YML в качестве корневого использует элемент <yml_catalog>. Атрибут date элемента <yml_catalog> должен соответствовать дате и времени генерации YML-файла на стороне магазина. Дата должна иметь формат YYYY-MM-DD hh:mm.

Элементы, входящие в yml_catalog
shop

Элемент содержит описание магазина и его товарных предложений.

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

Элементы, входящие в shop

name

Короткое название магазина, должно содержать не более 20 символов. В названии нельзя использовать слова, не имеющие отношения к наименованию магазина, например «лучший», «дешевый», указывать номер телефона и т. п.

Название магазина должно совпадать с фактическим названием магазина, которое публикуется на сайте. При несоблюдении данного требования наименование может быть изменено Яндекс.Маркетом самостоятельно без уведомления магазина.

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

company

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

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

url

URL главной страницы магазина. Максимальная длина — 50 символов. Допускаются кириллические ссылки.

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

platform

Система управления контентом, на основе которой работает магазин (CMS).

Необязательный элемент.

version

Версия CMS.

Необязательный элемент.

agency

Наименование агентства, которое оказывает техническую поддержку магазину и отвечает за работоспособность сайта.

Необязательный элемент.

email

Контактный адрес разработчиков CMS или агентства, осуществляющего техподдержку.

Необязательный элемент.

currencies

Список курсов валют магазина.

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

categories

Список категорий магазина.

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

delivery-options

Стоимость и сроки курьерской доставки по своему региону.

Обязательный элемент, если все данные по доставке передаются в прайс-листе.

cpa

Элемент управляет участием товарных предложений в программе «Заказ на Маркете».

Необязательный элемент.

offers

Список предложений магазина. Каждое предложение описывается в отдельном элементе offer. Здесь не приводится список всех элементов, входящих в offer, так как он зависит от типа предложения. Для большинства категорий товаров подходят следующие типы описаний:

Для некоторых категорий товаров нужно использовать собственные типы описаний:

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