YML - файл: что это такое, в чем польза и где он пригодится

Для выгрузки товаров в Яндекс Маркет из веб магазина в формате yml, есть . Тем не менее, частые заказы связаны с тем, что "программист взялся и yml написать осилил, но почему он не подходит Яндексу".

Мешает ограничение на 3 бесплатных проверки. Но елки палки, уж проверить то xml на валидность можно? Есть отличный онлайн сервис для проверки xml . Проверка в два этапа, сначала скармливаем yml, затем shops.dtd Это избавит от большей части ошибок. Перечислю самые частые.

1.В неправильном порядке перечислены элементы.

Пример yml файла, который не пройдет валидацию.

3000 http://sdsfsfsfsfs.ru/catalogue/17/1208/ RUR 17 http://sdsdssdsds.ru/uplfiles/2012101210550511.jpg Комод Лотос с крышкой 2.06 Комод Лотос с крышкой 2.06 Размеры: Высота 840 см, Ширина 814 см, Глубина 400 см

< offer id = "1208" available = "true" >

< price > 3000 < / price >

< url > http : //sdsfsfsfsfs.ru/catalogue/17/1208/

< currencyId > RUR < / currencyId >

< categoryId > 17 < / categoryId >

< picture > http : //sdsdssdsds.ru/uplfiles/2012101210550511.jpg

< name > КомодЛотосскрышкой2.06 < / name >

< vendorCode > КомодЛотосскрышкой2.06 < / vendorCode >

< description > Размеры: Высота840 см, Ширина814 см, Глубина400 см< / description >

< / offer >

Элементы price и url перепутаны, а ведь порядок указан в shops.dtd, да и в мануале черным по-белому указано блюсти правильный порядок.

2. Запрещенные символы

Стандарт XML не допускает использования в текстовых данных непечатаемых символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки). Опять таки в мануале указаны 5 символов, которые подлежат замене на их эквиваленты в текстовых полях.
Error parsing XML feed: Unterminated entity reference, "gt" (строка 53105, столбец 25)

3. Несоответствие типу.

Выбирают тип vendor.model например и пытаются пихать в него какой либо элемент, специфичный для типа book. Или наоборот, не указывают обязательный эелемент. В результате примерно такое
Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Not enough elements to match content model: "(name,company,url,phone?,platform?,version?,agency?,email*,currencies,categories,store?,pickup?,delivery?,deliveryIncluded?,local_delivery_cost?,adult?,offers)" (строка 22, столбец
Или
Element "store" is not valid for content model

И перечень основных ошибок от Яндекса.

[скачать]

Для того, чтобы избавиться от этих ошибок, написал простенький класс, который работает с типом "vendor-model". В Яндекс Маркете их несколько, но vendor-model подходит для большинства веб магазинов. Скрипт генерирует валидный yml-файл, с нормальным заголовком, с правильным порядком элементов и заменяет "неправильные" символы.
Пример его использования. В примере всего 1 товар, но их можно добавить сколько нужно.

addCurr("RUR", 1); $market->addCurr("USD", "CBRF"); $market->addCat("Все товары",1); $model = self::_getModel(); $entries = $model->fetchEntries(); foreach ($entries as $entry) { // offer catId, title, entryId $offer = new OfferYmt($entry["id"]); $offer->setUrl("http://ikey.ru/product/" . $entry["uri"]); $offer->setRequired($entry["price1"], "RUB", 1, $companyName, $entry["title"]); $offer->setElem("description", $entry["data"]); $market->addOffer($offer->save()); } //var_export($entries); $xml = $market->save(); $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); /* $view = new Zend_View(array("basePath"=>APPLICATION_PATH."/views")); $view->xml = $xml; $this->render("/yamarket/view") ;*/ header("Content-type:application/xml"); $yml = iconv("utf-8", "cp1251//IGNORE", $xml); //file_put_contents("ymt.xml", $yml); // а можно сохранить в файл echo $yml; }

< ? php

include "YandexMarket.php" ;

public function viewAction () {

$ shopName = "Все для домофонных ключей" ;

$ companyName = "OOO "ККККЕЙ"" ;

$ siteURL = "http://kkkkey.ru" ;

$ market = new YandexMarket ($ shopName , $ companyName , $ siteURL ) ;

$ market -> addCurr ("RUR" , 1 ) ;

$ market -> addCurr ("USD" , "CBRF" ) ;

$ market -> addCat ("Все товары" , 1 ) ;

$ model = self :: _getModel () ;

$ entries = $ model -> fetchEntries () ;

foreach ($ entries as $ entry ) {

// offer catId, title, entryId

$ offer = new OfferYmt ($ entry [ "id" ] ) ;

$ offer -> setUrl ("http://ikey.ru/product/" . $ entry [ "uri" ] ) ;

All YML Generator PRO - генератор YML feed"а для импорта любых товаров в Яндекс.Маркет - для размещения на Яндекс.Маркет. Эта продолжение версии известного и популярного модуля All YML Export PRO
Что добавлено по сравнению с предыдущим модулем

  • В товаре появилась закладка с настройками каждого товара, если это нужно
  • Можно создавать любое количество файлов YML, с разным набором данных из определенных категорий / производителей. Для этого сначала создается шаблон содержания YML (что в нем должно быть). Далее он(и) присваиваются тем или иным категориям/производителям и создается шаблон фильтра данных. И далее каждый такой набор (содержание + откуда брать) можно выгрузить в отдельный файл, по отдельной защищенной ссылке.
  • Добавлен новый атрибут для - fee
  • Редактор своих тегов – можно добавить свои элементы и сложить в них любые данные. Это бывает нужно для сторонних площадок, которые принимают YML, но у которых больше пожеланий к YML, что чем есть в стандарте YML.
  • Конвертация валюты, если разные валюты у товаров
  • Деление товаров по опциями
  • Запись файла в любую папку
  • Новая архитектура - модуль работает быстрее
  • Обновление категорий маркет
  • Широкий спектр фильтрации данных, которые нужно размещать в YML (по ценам, по id, по категориям, по производителям и др.)

Подходит для всех версий: от 2.0 до 2.3 включительно. А также для сборок на его базе (OCSTORE, Русская сборка и др.)
Проверенная, стабильная, уникальная архитектура и функционал

Данный модуль позволяет создавать полный YML, с любыми типами настроек YML и для любых товаров.

Уже проверен на сотнях магазинов, включая генерацию YML с более чем 100"000 позиций

Настройка каждого товара в отдельности, и групповые настройки

Вы покупали ранее наш модуль All YML EXPORT PRO? - Обратитесь к нам за обновлением - для Вас обновление со скидкой 50%.

Если Вам необходимо заводить товары в ОпенКарт из YML. Например, если Ваш поставщик передал Вам ссылку на YML, чтобы Вы завели его товары к себе в магазин. Для этого используйте другой модуль - модуль импорта (парсинга) из YML в OpenCart

Особенности

  • Уже загружены категории Яндекс.маркета. Содержит встроенный список категорий Яндекс Маркета, включая полные пути. Также возможность совмещения категорий Вашего магазина с категориями Яндекс.Маркет. Список категорий и их названия можно обновлять прямо через модуль. Можно задавать категории Маркет прямо в карточке товара.
  • sales_note для товаров в наличии, и нет в наличии, а также возможность передавать значение в этот элемент из любых данных о товаре, опций или характеристик и пр.
  • Если у товаров есть свои поля в таблице продуктов магазина (в карточке товара) - модуль найдет все такие поля и позволит направить данные из них в нужные элементы YML
  • Управления ценами для предложений: конвертация, если мультивалютные цены; создание наценки, акционные цены в YML
  • Редактор своих тегов. Возможность создания своих тегов в YML с любым типом данных (опциями, атрибутами, категориями и мн. другими). Отлично подойдет для выгрузки YML . . .

    Этот контент ограничен для подписчиков

Подписаться

В пору захвата мира интернетом все больше людей пользуются интернет-магазинами. Но прежде, чем что-то оттуда заказать, большинство из нас задаст свой вопрос поисковику. И если вы предпочитаете Яндекс Google, то наверняка не побрезгуете зайти в Маркет, потому что именно там можно сразу оценить все предложения, какие только могут быть. И не надо перелопачивать кучу информации - удобные фильтры сильно упрощают работу.

Кроме того, Яндекс Маркет - это не только объявления в поиске.



Но и большая витрина, похожая на большой интернет-магазин:


Например, вы смотрите не фотоаппараты, а платья:


Все те же удобные фильтры есть и здесь.

Поэтому сегодня я предлагаю посмотреть: а каким таким волшебным образом все эти товары попадают на данную площадку?

Файл для Маркета

Если обобщенно, то файл для Маркета - это документ, содержащий полный ассортимент ваших товаров, которые вы планируете продавать через данную площадку.

Допускается три формата:

CSV - это текстовый файл, состоящий из строк, данные в которых отделены специальными символами - разделителями.

XLS файл же наиболее удобен для тех, кто хранит свои товары в таблицах Excel.

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

YML файл для Маркета

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

YML файл для Яндекс Маркета является предпочтительным форматом, так как если у вас большой ассортимент, который постоянно обновляется, то, чтобы не делать все вручную, вам не обойтись без помощи автоматического экспорта. Лучше всего с этим справляется YML.

Таким образом, если CSV и XLS удобны, когда вы составляете прайс-лист вручную, то YML лучше подойдет для автоматизации процессов. Поэтому если вы сомневаетесь, какой формат файла для загрузки на Маркете выбрать, решите: будете ли вы составляеть прайс-лист вручную или воспользуетесь услугами программистов.

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

Там же можно найти примеры.

Как создать YML файл для Маркета?

  1. Прежде всего, только актуальная информация!
  2. Используйте каждое поле по его назначению: если это описание, то описывайте все преимущества данного товара, если у вас какие-то специальные условия покупки - используйте поле salеs_notes. делайте все, как положено, и будет вам счастье. Не нужно засорять поле информацией, для которой оно не предназначено.
  3. Четко и понятно прописывайте название предложения. Например, если вы продаете фотоаппарат Canon, то так и пишите:

Фотоаппарат Canon EOS 700D Kit

то есть указывайте важные параметры: тип товара, производителя/марку, модель, потому что именно будет отображено на сервисе в заголовке вашего предложения, и пользователь должен четко понимать, что ему предлагают.

All YML Generator PRO - генератор YML feed"а для импорта любых товаров в Яндекс.Маркет - для размещения на Яндекс.Маркет. Эта продолжение версии известного и популярного модуля All YML Export PRO

Что добавлено по сравнению с предыдущим модулем

  • В товаре появилась закладка с настройками каждого товара, если это нужно
  • Можно создавать любое количество файлов YML, с разным набором данных из определенных категорий / производителей. Для этого сначала создается шаблон содержания YML (что в нем должно быть). Далее он(и) присваиваются тем или иным категориям/производителям и создается шаблон фильтра данных. И далее каждый такой набор (содержание + откуда брать) можно выгрузить в отдельный файл, по отдельной защищенной ссылке.
  • Добавлен новый атрибут для - fee
  • Редактор своих тегов – можно добавить свои элементы и сложить в них любые данные. Это бывает нужно для сторонних площадок, которые принимают YML, но у которых больше пожеланий к YML, что чем есть в стандарте YML.
  • Конвертация валюты, если разные валюты у товаров
  • Деление товаров по опциями
  • Запись файла в любую папку
  • Новая архитектура - модуль работает быстрее
  • Обновление категорий маркет
  • Широкий спектр фильтрации данных, которые нужно размещать в YML (по ценам, по id, по категориям, по производителям и др.)
Подходит для всех версий: от 2.0 до 2.3 включительно. А также для сборок на его базе (OCSTORE, Русская сборка и др.)
Проверенная, стабильная, уникальная архитектура и функционал

Данный модуль позволяет создавать полный YML, с любыми типами настроек YML и для любых товаров.

Уже проверен на сотнях магазинов, включая генерацию YML с более чем 100"000 позиций

Настройка каждого товара в отдельности, и групповые настройки

Если Вам необходимо заводить товары в ОпенКарт из YML. Например, если Ваш поставщик передал Вам ссылку на YML, чтобы Вы завели его товары к себе в магазин. Для этого используйте другой модуль - модуль импорта (парсинга) из YML в OpenCart

Особенности

  • Уже загружены категории Яндекс.маркета. Содержит встроенный список категорий Яндекс Маркета, включая полные пути. Также возможность совмещения категорий Вашего магазина с категориями Яндекс.Маркет. Список категорий и их названия можно обновлять прямо через модуль. Можно задавать категории Маркет прямо в карточке товара.
  • sales_note для товаров в наличии, и нет в наличии, а также возможность передавать значение в этот элемент из любых данных о товаре, опций или характеристик и пр.
  • Если у товаров есть свои поля в таблице продуктов магазина (в карточке товара) - модуль найдет все такие поля и позволит направить данные из них в нужные элементы YML
  • Управления ценами для предложений: конвертация, если мультивалютные цены; создание наценки, акционные цены в YML
  • Редактор своих тегов. Возможность создания своих тегов в YML с любым типом данных (опциями, атрибутами, категориями и мн. другими). Отлично подойдет для выгрузки YML для других площадок, где есть необходимость передавать значения, которых нет в стандартном YML
  • Возможность разделять товар по опциям. Такие товары - товары с разными значениями опции будут в YML с уникальными ID и уникальными URL"ами, содержащими option_id)
  • Позволяет управлять размерами и количеством изображений
  • Если нужно передает только товары с ненулевыми остатками
  • Множество способов фильтрации товаров (по ID, по цене, по категории, по производителю и др.)
  • Гибкая настройка содержания sales_note в связи с остатками, статусами и др.
  • Если нужно передает рекомендованные товары
  • Позволяет создавать и YML с защищенной ссылкой, и статичный файл YML в любой папке
  • Проверит корректность YML. Собственная система проверки на валидность (на всякий случай). Защитит от многих ошибок, и от отключения от Яндекс, особенно, если обновление идет по планировщику - автоматически
  • Найдет нестандартные поля в базе данных. Если в таблице продукты есть собственные поля, они также будут доступны для установки тем или иным атрибутам YML
  • Установка любых данных на атрибут. Для атрибутов YML можно выбрать источник данных - откуда брать данные: из опции, из атрибута, из собственного поля таблицы продуктов, и т.д.
  • Составные заголовки. Для соотнесения с карточкой модели на Яндекс.Маркете, а также для того, чтобы заголовки товаров были максимально релевантными, их можно сделать сборными - из любого числа элементов. Например, Телефон 200г Samsung Galaxy (в д.с. из названия, веса, модели)
  • Настройка всех атрибутов YML за счет встроенного редактора тегов
  • Внутри одного YML разные наборы атрибутов под разные типы товаров
  • Совместимость с прайс.ру, товары.майл.ру, молоток.ру, тиу.ру, пульс цен и многими другими
  • Запись в файл и ссылка для планировщика для обновления файла
  • Только новые атрибуты. В частности вместо устаревшего , который Яндекс просит не использовать, используется детальный
  • Настройка изображений: размера изображений, количества, как поступать с товарами, у которых нет изображений.
  • Код открыт, перезаписи файлов не требуется При необходимости, возможна адаптация по Ваш конкретный случай. Как правило очень быстро
Импорт из YML
Для импорт из YML используйте этот модуль

Если не нашли ответа на вопрос, спросите у нас. Наиболее частые вопросы/ответы...

  • Каждому элементу можно указать источник данных, откуда угодно: из той или иной опции, из определенного атрибута, из собственного поля в таблице (модуль находит собственные поля, если таблица базы данные расширялась своими полями). Например, можно завести опцию, или атрибут или поле в базе, которое бы содержало такую важную характеристику, как typePrefix. Собственно её и не используют, т.к. непонятно откуда брать для неё данные. С этим модулем понятно
  • Создание любого количества файлов под разные нужды. При этом доступно полное управление содержанием каждого файла: от того, какие туда теги выгружать и данные, до того из каких категорий, производителей. Любая комбинация за счет механизма предсохранения шаблонов содержания YML и шаблона фильтра данных (откуда брать товары).
  • Позволяет передавать товары сразу в нужные категории Маркета. Модель уже содержит список категорий Яндекс.Маркета для сопоставления с категориями Вашего магазина. Список настраиваемый. Исходник в файле csv (который можно редактировать в блокноте, если нужно – в базе). Можно обновлять названия категорий, задавать категории прямо в карточке товара или увязывая их с категориями Вашего сайта
  • Позволяет делить товары по опциям
  • Если цены в разных валютах - можно настроить конвертацию под все цены, создав под каждую валюту необходимую настройку
  • Вместо того, чтобы под каждый случай. Например, под каждое соотнесение с карточкой модели Яндекс.Маркета. Создавать отдельный YML файл. Достаточно создать шаблон элементов под конкретный случай. Например, для отдельных категорий свой шаблон составного заголовка. Для других категорий свой. Применять шаблоны внутри одного файла, а не писать разные файлы, а потом их как-то объединять.
  • Тестировался на 98000 позициях. Работает быстро. Лишние ресурсы не потребляет. Для магазинов со слабым хостингом – можно писать файл ссылкой и передавать файл.
  • Файлы со своими именами и токенами. Для защиты от вызова файлов конкурентами. В практике встречались случаи, когда конкуренты собирают цены Вашего магазина или товары, буквально в автоматическом режиме. Потому что файлы названы стандартными модулями одинаково.
Создание YML файла за 5 минут (на видео старая версия модуля - см. демо-сайт с новой)
Где еще может применяться
  • Для выгрузки своего ассортимента партнерам - за счет встроенного редактора тегов - добавьте любые данные в YML
  • Полный формат YML откроет возможности для интеграции с сотнями каталогов, поддерживающих YML. Например, такими каталогами:
  • яндекс.маркет (Яндекс Маркет)
  • price.ru (Прайс ру)
  • torg.mail.ru (товары на mail.ru)
  • molotok.ru (Молоток Ру)
  • tiu.ru (Тиу Ру)
  • pulscen.ru (Пульс Цен)
  • blizko.ru (Близко Ру)
Все элементы YML для интернет-магазинов, например, такие, как:
  • Возможны любые за счет наличия встроенного редактора тегов
  • param () - можно передавать опции и характеристики
  • delivery-options () - новый элемент для данных о доставке в своем регионе. Яндекс предупреждает, что предыдущий: local_delivery_cost - скоро будет в списке устаревших
  • country_of_origin () - страна производитель
  • expiry () - срок годности
  • dimensions () - габариты
  • typePrefix () - очень полезная штука для качества выдачи, к сожалению, про неё забывают
  • market_category () - категория Яндекс Маркет - тоже очень полезная штука для качества выдачи, ранжирования и релевантности,
  • rec () - рекомендованные (связанные товары)
  • fee - новый атрибут для
DEMO ADMINISTRATOR (пароль и логин demo | demo)

Требования и информация

  • Полная поддержка каждый день по контактам в реадми или на этом сайте
  • Практически мгновенное реагирование на Ваши запросы и помощь при допилах за небольшие деньги
  • Помощь разработчикам по допилам
  • Для Opencart 2.*.*.* - все версии второго Opencart до 2.3
  • Перезаписи файлов не требует, штатные методы не меняет
  • Код открыт полностью, открыт для доработки Вашими разработчиками

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

Вступление: подготовка интернет магазина к размещению

Прежде чем передавать интернет магазин на проверку, вы должны проверить его на соответствие требованиям:

  • наличие информации о вариантах оплаты и доставки (стоимость и сроки доставки)
  • наличие информация о компании, включая юридический адрес и огрн
  • для каждого товарного предложения должна быть оформлена отдельная страница с возможностью сделать заказ
  • сайт работает и не содержит вирусов
  • на странице товарного предложения не должны открываться дополнительные окна (PopUp, PopUnder)
  • в наименовании товара указаны только название и основные характеристики (без слов аналог, новинка, хит и т.д.)
  • в названии и описании предложения нет слов, набранных заглавными буквами
  • указана конечная цена, включающая все налоги; в процессе заказа стоимость не изменяется
  • менеджеры готовы обработать заказ в течение часа после поступления
  • магазин не торгует подделками
  • магазин не торгует б/у товарами
  • магазин работает с физическими лицами
  • магазин торгует в розницу

Часть 1: подготовка прайс-листа для Яндекс Маркет в YML формате

Самый эффективный способ передачи данных — это YML прайс-лист произвольного формата. Данные в прайс-листе передаются специальными тегами. Если ваша система не поддерживает такой формат, мы бы порекомендовали ее сменить.

Пример прайс-листа в xls формате

Пример прайс-листа в xml формате

Категория, тег

Скачать дерево категорий Яндекс Маркета можно по ссылке:
http://download.cdn.yandex.net/market/market_categories.xls

Заголовок товарного предложения

В произвольном формате заголовок передается по частям, включая: модель, производителя, тип. Это позволяет более точно классифицировать товар и связывать его с визуальными карточками.

Моторное масло
MOBIL
Optimal Synth 5W-40 1 л
3925

Для реализации произвольного формата необходимо в теге offer передавать type=vendor.model

Подробная информация по произвольному формату:
https://yandex.ru/support/partnermarket/export/vendor-model.xml

Так же Яндекс Маркет дает рекомендации по оформлению различных категорий:
https://yandex.ru/support/partnermarket/guides/examples.xml

Параметры, тег

Для того, что бы ваш товар участвовал в фильтрации, а так же для попадания в визуальные карточки — практически для всех категорий есть рекомендуемые параметры.

Например, для интернет магазина по продаже моторных масел в фильтре Яндекс Маркета используются следующие характеристики для сортировки:

  • производитель (vendor)
  • тип (минеральное, синтетическое и т.д.)
  • стандарт API
  • класс вязкости по SAE
  • объем (можно передавать как 5)

Передавать эти данные можно с помощью следующих параметров:

1
Бензин
10W-40
Полусинтетическое

Четкой информации о том, как должны называться параметры у Яндекс Маркета нет. Можно попробовать опираться на фактические фильтры и после размещения прайс-листа вносить корректировки при необходимости.

Гарантия производителя

Важный элемент. Передается параметром: true

Страна производства

Информация о доставке

Одно из серьезных преимуществ произвольного формата, это возможность передавать конкретное время доставки курьером. Это может быть: сегодня, завтра, 1-2 дня, 4 дня и т.д.
В упрощенном формате и по умолчанию идет до 2 дней или под заказ.
Если у вас есть возможность доставлять день в день или на следующий день — это будет ваше важное конкурентное преимущество, которое можно обозначить в прайс-листе.

Пример реализации блока доставки:

false
false
true

Так же возможность более гибко делать настройки доставки стало возможно в партнерском интерфейсе Яндекс Маркет

Примечание < sales_notes>

Данный тег обязателен, если магазин доставляет только по предоплате или есть условие минимального заказа. Так же используется для информации о вариантах оплаты, описания акций и распродаж

Оплата при получении. Возврат 365 дней

Системы управления, которые поддерживают интеграцию API

  • Битрикс 1С — бесплатный модуль
  • Advantshop — бесплатный модуль
  • InSales — бесплатный модуль
  • Opencart — бесплатный модуль
  • PrestaShop — бесплатный модуль
  • Shop-script 6 — бесплатный модуль
  • UMI.CMS — бесплатный модуль
  • Magento — платный модуль
  • Simpla — платный модуль
  • Okaycms — платный модуль

Тег

Нужен для передачи штрих-кода, по которому пользователи могут найти товар с помощью мобильного приложения Яндекс.Маркета. Также тег помогает правильно соотносить предложения с карточками моделей.

Интересный элемент, мало кто его использует

Как получить значок рекомендации производителя
Чтобы попасть в список рекомендованных производителем магазинов и получить значок, обратитесь непосредственно к производителю. Производитель передаст необходимые сведения в Яндекс.Маркет.


В продолжение темы:
Wi-Fi

Структурная схема анализатора последовательного типа приведена на рис. 2.23. Рис. 2.23. Структурная схема анализатора последовательного типа Входной сигнал U вх поступает...

Новые статьи
/
Популярные