Mindbox
Импорт продуктов

xml

Описание формата

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

Особенности

  • Алгоритмы продуктовых рекомендаций могут работать не более чем с 5 000 000 офферов.
  • Категоризация на сайте должна совпадать с категоризацией в yml.
  • Идентификаторы продуктов и категорий из yml должны совпадать с идентификаторами продуктов и категорий в заказах, действиях с продуктами и действиях с категориями.
  • Необходимо выгружать всю продуктовую номенклатуру - продукты в наличии и продукты не в наличии, передавать с этими статусами нужно в одном фиде.
  • Если ранее заполненное в фиде поле не передается при новой загрузке, оно затрется для всех системных полей, кроме названия продукта (name).
  • Если продуктовая номенклатура в рознице и на сайте отличается - нужно в yml добавить продукты из розницы.
  • Если цены и доступности в регионах различаются, для каждого региона необходим свой yml-фид.
  • В региональных фидах не обрабатываются поля: vendorCode (артикул), shelfLife (срок годности в днях), categories (внешние идентификаторы категорий продукта), groupId (идентификатор группы продуктов).
  • Дополнительные поля к продукту добавляются в узлы <param name="название дополнительного поля">значение дополнительного поля</param> или <customField>значение дополнительного поля</customField>, где customField - системное имя дополнительного поля.
  • Один продукт может принадлежать к нескольким категориям.
  • В случае sku в узле <offer id="321" type="vendor.model" available="true" group_id="22"> id — идентификатор sku, group_id — идентификатор родительского продукта.
  • Поле offer id не больше 200 символов.
  • Поле description должно содержать не более 10 000 символов. Если символов больше, продукт не будет добавлен на проект.
  • Множественные значения передаются через | . Например, <param name="Пример признака">Вечерние|Коктейльные</param>.
  • Максимальный размер файла 1,5гб.
  • Фид должен быть доступен по прямой ссылке, без использования редиректов.
  • Доступны только стандартные протоколы http/https и порты 80/443. Если файл защищен авторизацией, обязательно должен использоваться протокол https.
  • Поддерживается формат GZIP. Для этого веб-сервер должен вернуть либо заголовки Content-Encoding: gzip и Content-Type: text/xml, либо заголовок Content-Type: application/x-gzip.
  • В заголовке Content-Type параметр charset должен быть задан согласно стандарту. Например, utf-8 вместо utf8.

Виды offer'ов

Существует несколько видов offer'ов в yml. Выделяем упрощенный (1), произвольный (2) и другие (3):

  1. Для упрощенного offer'а атрибут <type> не передается. Название продукта берется из узла <name>.

  2. Для произвольного offer'а атрибут type="vendor.model". Название составляется из узлов <vendor>, <model>, <typePrefix>, < VendorCode >, например: <typePrefix>Смартфон</typePrefix> <vendor>Apple</vendor> <model>iPhone 6s 128gb розовое золото</model> В результате в имени отображается: Смартфон Apple iPhone 6s 128gb розовое золото. Если после импорта название продукта не соответствует <name>, скорее всего, это произвольный offer, который передается с type="vendor.model". Чтобы это исправить, нужно убрать type="vendor.model" из yml-фида.

  3. Mindbox поддерживает и другие типы offer'ов: book, audiobook, medicine, event-ticket, tour. Принимаем его как упрощенный (1) и берем имя из <name>. Подробнее о типах offer.

Пример файла

XMLCode
<?xml version="1.0" encoding="UTF-8"?> <yml_catalog date="2016-02-05 17:22"> <shop> <name>ABC</name> <company>ABC inc.</company> <url>http://www.abc.ru/</url> <currencies> <currency id="RUR" rate="1"/> <currency id="USD" rate="80"/> </currencies> <categories> <category id="1278">Электроника</category> <category id="3761" parentId="1278">Телевизоры</category> <category id="1553" parentId="3761">Медиа-плееры</category> <category id="3798">Бытовая техника</category> <category id="1293" parentId="3798">Холодильники</category> </categories> <delivery-options> <option cost="500" days="0" order-before="15"/> <option cost="300" days="1-3"/> </delivery-options> <cpa>1</cpa> <offers> <offer id="158" available="true" bid="80" cbid="90"> <url>http://www.abc.ru/158.html</url> <price>55690</price> <oldprice>56000</oldprice> <costPrice>53690</costPrice> <currencyId>RUR</currencyId> <categoryId>1293</categoryId> <categoryId>1278</categoryId> <picture>http://www.abc.ru/1580.jpg</picture> <store>false</store> <delivery>true</delivery> <name>Смартфон Apple iPhone 6s 128gb Space Gray</name> <vendor>Apple</vendor> <model>iPhone 6s 128gb Space Gray</model> <description>Описание товара 1</description> <sales_notes>Необходима предоплата 50%</sales_notes> <age>0</age> <manufacturer_warranty>false</manufacturer_warranty> <period-of-validity-days>P10Y</period-of-validity-days> <param name="Тип">моноблок</param> <param name="Материал">алюминий</param> <param name="Wi-Fi">есть</param> <param name="Размер экрана">27</param> <param name="Размер оперативной памяти">4096</param> <param name="Объём жесткого диска">1</param> <param name="Вес">13.8</param> </offer> <offer id="159" available="true" cbid="90"> <url>http://www.abc.ru/159.html</url> <price>3045.5</price> <costPrice>2945.0</costPrice> <currencyId>RUR</currencyId> <categoryId>1278</categoryId> <picture>http://www.abc.ru/1590.jpg</picture> <store>false</store> <delivery>true</delivery> <name>Наушники Koss Sporta Pro</name> <vendor>Koss</vendor> <model>Sports Pro</model> <description>Описание товара</description> <sales_notes>Покупка в день заказа</sales_notes> <cpa>0</cpa> <delivery-options> <option cost="1000" days="1" order-before="15"/> </delivery-options> <age>0</age> <manufacturer_warranty>true</manufacturer_warranty> <period-of-validity-days>P10Y</period-of-validity-days> <param name="Тип">12344</param> <param name="Материал">пластик</param> <param name="Wi-Fi">да</param> <param name="Размер экрана">27</param> <param name="Размер оперативной памяти">4096</param> <param name="Объём жесткого диска">1</param> <param name="Вес">13.8</param> </offer> </offers> </shop> </yml_catalog>

Полезные материалы

Bitrix - Подключаемся к Яндекс Маркету

Last modified on