Как это работает
Допустим, у Вас есть интернет-магазин (как этот) и в нем находятся товары, производители, характеристики, опции и категории. Они как-то уложены в базу данных, имеют остатки, цены и многие другие связанные данные. С другой стороны есть большой интернет-магазин - Яндекс Маркет, в котором можно и нужно размещать все эти данные.
Дополнительные сведения о модуле выгрузки OpenCart YML и демо тут
Что такое экспорт товаров в YML
- Для таких случаев, когда нужно передать данные на стороннюю площадку, в частности для передачи данных в Яндекс Маркет, используется файл, в котором товары, производители, категории и многое другое упаковывается в формат, понятный Яндекс Маркету. А именно в формат YML - Yandex Market Language – язык, на котором Яндекс Маркет понимает, что ему передается. Например, данные магазина, который указан выше, в YML будут выглядеть так
- Это можно сравнить с он-лайн переводчиком. С одной стороны на одном языке информация, с другой уже на языке, который понимает сторонний носитель.
Как товары появляются в Яндекс Маркете
- Существует принципиально два способа обмена данными
- Один полностью автоматический – когда Ваш интернет-магазин автоматически передает информацию сторонней площадке на понятном ей языке. Вы не участвуете в этом процессе, например, один раз указали всякие настройки, а всё остальное скрипт делает самостоятельно.
- Второй – полуавтоматический. При котором сначала создается файл-обмена, а потом этот файл руками или ссылкой передается где-то в настройках магазина нужной торговой площадки.
- Для выгрузки товаров на Яндекс Маркет на данный момент, наиболее распространен второй способ. Сначала создается файл, в данном случае YML, а потом этот файл добавляется в Маркет внутри аккаунта Вашего магазина, который вначале нужно создать на Маркете.
- В Маркете есть специальный раздел настроек, в котором можно загрузить файл или передать ссылку на файл. Маркет тут же проверяет файл и если всё в порядке, данные из файла YML перекочевывают в Маркет – и спустя какое-то время товары появляются в Яндекс Маркет
Как приступить к работе
- Зарегистрировать в Яндекс Маркете магазин (регистрация магазина в Яндекс Маркет бесплатная)
- Купить и установить модуль, который генерирует файл YML
- Настроить модуль так, чтобы в YML присутствовали нужные для размещения в Яндекс Маркет товары, с нужными данными о них (цены, остатки, характеристики)
- В модуле (п.2) создать файл YML, зайти в Яндекс Маркет и в аккаунт своего магазина, передать файл или ссылку на файл (если он будет сгенерирован прямо на хостинге, где находится интернет-магазин) в соответствующем разделе аккаунта
- Дождаться ответа Яндекс Маркета. После этого можно приступить к торговле через Яндекс Маркет
Что еще нужно знать обязательно
У Яндекс Маркета существует ряд принципиальных требований к магазину, к данным. И необязательных требований. Нарушение принципиальных требований может привести к приостановке работы магазина на Яндекс Маркет. Контролем над выполнением обязательных требований занимаются тайные покупатели Яндекс Маркет.
Наиболее важные требования:
- остатки должны быть в точности такие, как передаются в YML. Нельзя передавать в YML наличие, как «есть в наличии», при том, что на сайте, при покупке товара, будет выяснено, что товара в наличии нет и он продается под заказ. Маркет
- цены на товары не должны отличаться между теми, которые будут в YML и в интернет-магазине
- Минимальная стоимость и сроки доставки в своем регионе, указанные в YML должны быть такими же, как в интернет-магазине.
- Другой тип требований, не ведет к бану, но может стать причиной, что какие-то товары или все товары не будут размещены из-за того, что эти требования не выполнены. О такого рода ошибках Вам станет известно, когда Вы будете добавлять файл YML в Маркет. После обработки файла, Маркет сообщит, что не так во всём файле или в его частях.
Наиболее распространенные ошибки:
- Если в аккаунте магазина на Яндекс Маркет не настроены точки продаж, самовывоза то нельзя передавать в Маркет YML, в котором указано, что есть самовывоз (pickup = true) или есть стационарный магазин (store = true).
- На Маркет можно выгрузить данные в стандартной форме – так называемом упращенном формате YML и в форме vendor.model. Для vendor.model существуют дополнительные требования к данным. Например, ошибкой будет наличие цены в заголовке или наличие в заголовке товара названия производителя.
Важно перед выбором решения рассмотреть следующее
- Учитывая вышеописанное, а именно то, что в YML Маркет нужно свести товары, адаптируя под многочисленные требования Яндекс Маркет. Но и так, чтобы в YML подпало то, что Вам нужно. И в том виде, которое нужно. Очень много зависит от гибкости возможностей модуля. От его способности к адаптации данных.
- Если модуль имеет минимум настроек, не гибкий - это примерно, как плохой английский. Данные зайдут неправильными, или из данных невозможно будет сделать отбор, или данные не будут содержать характеристики, или данные не будут иметь правильные описания, или, или, или…
- Модуль All YML Generator PRO – решение, которое не только проверено на сотнях магазинов. Но и обладает всеми необходимыми настройками, чтобы адаптировать ассортимент практически любого магазина.
Что позволило добиться такого результата
Шаблоны параметров
В модуле выгрузки YML реализован механизм сохранения настроек в виде шаблона настроек. Поэтому любому товару прямо внутри товара, или любой категории, или любому производителю можно присвоить настройки YML, которые нужны именно для конкретного случая. Например, если некоторые товары потребуют конвертировать валюту перед размещением в YML. Или, если некоторые должны иметь отличный от других элемент sales_note. Или, если некоторые товары нужно делиться на псевдотовары по опциям, т.к. в Маркет невозможно передать опции товара. Или, если некоторые товары должны иметь свое число картинок. После создания всех необходимых настроек, все товары можно будет выгрузить в один YML. А не создавать разные YML, как это обычно бывает, если шаблон настроек отсутствует.
Составные заголовки товаров, описаний и модели
- Если на сайте названия товаров не позволяют сделать соотнесение с карточкой модели, или, например, выгрузить товары в вендор.модели, то для такого случая в модуле есть механизм составных заголовков. Вы можете собрать заголовок из любых данных.
- Использование этого механизма также позволяет создавать информацию о товарах более релевантной.
Модуль видит дополнительные поля в базе данных
В YML можно передавать множество данных, которых нет в ОпенКарт. Например, в ОпенКарте нет поля информации о гарантии производителя (manufacturer_warranty), или нет поля для страны производителя (country_of_origin), или нет поля для указания заказа на маркете (cpa). В этих случаях, одним из способов хранения такой информации является расширение данных о товаре в базе данных. Чтобы модуль нашел эти данные, достаточно добавить в базу данных, в таблицу товара свои поля. Модуль найдет эти поля, и предоставить возможность передавать значения из них в любой необходимый элемент.
Выбор, что передавать в нужный элемент YML из числа всех основных данных магазина
Если какие-либо данные о товаре, которые можно передавать в YML хранятся в опциях, в атрибутах, или в нетиповых полях базы данных, то можно указать источник данных для любого элемента YML, который позволяет содержать текстовое значение. Например, задать источник для упомянутых выше полей country_of_origin, manufacturer_warranty, а также многих других, например, typePrefix, dimensions и пр.
Запись файл, защищенная ссылка для автоматизации
- Часто нужно разделить создание YML и сам файл YML. Например, если товаров много и выгрузка YML создает ощутимую нагрузку на сервер.
- В модуле есть ссылка, которая создает файл YML и по окончанию выводит его. Но также и ссылка на статичный файл YML, который можно передавать в Маркет. Таким образом, создание файла можно установить впланировщик на любое время. А в Маркет передавать файл, чтобы когда Маркет к нему обращался, хостинг не испытывал нагрузок.
Свои элементы YML
Если Вы поставщик товаров, или например какая-то площадка также принимает YML, но позволяет писать в YML данные, которых нет в стандарте YML. В модуле реализована возможность наполнить YML любым количеством своих элементов и передать в них любые данные (категорию, опцию, атрибут и много другое)