Формат YML и текстовые форматы

Формат YML

Стандарт YML (Yandex Market Language) разработан Яндексом и основан на стандарте XML. Формат YML предоставляет больше возможностей и преимуществ, чем форматы XLS, CSV, TSV.

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

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

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

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

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

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

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

    <?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>
        <delivery-options>
          <option cost="300" days="2" order-before="18"/>
        </delivery-options>
        <cpa>1</cpa>
        <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>
    
            <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, так как он зависит от типа предложения. Для большинства категорий товаров подходят следующие типы описаний:

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

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

    Текстовый формат

    Текстовый формат с разделителями (например, CSV, TSV) удобен при генерации прайс-листа из базы данных или редакторов электронных таблиц (например: Exсel, OpenOffice, Google Docs).

      Требования к прайс-листу в текстовом формате

      1. Одна строка файла должна соответствовать одной строке электронной таблицы.

      2. В качестве разделителя полей используется запятая или точка с запятой (CSV) либо символ табуляции (TSV).

      3. Одна строка файла должна содержать описание одного предложения.

      4. Первая строка файла должна содержать названия полей.

      5. Кодировка файла должна быть UTF-8.

      6. Нельзя использовать табуляцию и перенос строки внутри полей.

      7. Файл не должен содержать пустых столбцов.

      8. Порядок столбцов (полей) не задан строго, но в пределах одного файла порядок столбцов (полей) должен быть одинаковым.