1.1 Товарный фид
Описание фида XML
Мегамаркет XML - это формат данных, разработанный для описания товарных предложений мерчанта. Основан на формате Yandex Market XML (YML). Содержит как информацию о товарах, их свойствах, характеристиках, ценах, так и информацию о доступных для заказа остатках.
XML-документ с описанием товаров ("XML-фид") должен быть размещён на веб-сервере мерчанта. Система Мегамаркета будет периодически загружать из него информацию.
Если на стороне продавца для товарного фида дополнительно установлена авторизация по логину и паролю, то пароль необходимо использовать без спецсимволов &, %, ^ и т.п
При разработке можно также ориентироваться на описание формата, подготовленное Яндексом.
При возникновении ошибок, связанных с обработкой фидов, весь ассортимент продавца будет снят с продажи на макетплейсе megamarket.ru. ВАЖНО!
Размещение фида
Товарный фид должен быть размещен на отдельной странице http/https сайта продавца или на любом другом стороннем хосте.
Фид не должен находиться:
- в облачных хранилищах (Яндекс.Диск, Google.Диск)
- на ftp/sftp сервере
Общие требования
- Максимальный объем файла Мегамаркет XML составляет 500 МБ
- Файл Мегамаркет XML должен быть представлен в кодировке UTF-8 или Windows-1251
- Файл Мегамаркет XML должен соответствовать общим требованиям стандарта XML.
- XML-заголовок файла <?xml> должен начинаться с первой строки, с нулевого символа
- Все атрибуты элементов файла должны быть указаны в двойных кавычках
- Стандарт Мегамаркет XML не допускает использования непечатаемых символов с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки)
- Символы ", &, >, <, ' нужно заменять на эквивалентные коды:
Символ в тексте | Код для Мегамаркет XML-файла |
---|---|
" | " |
& | & |
> | > |
< | < |
' | ' |
Требования к элементам файла Мегамаркет XML
Название элемента | Описание | Наличие в файле | Тип данных |
---|---|---|---|
xml header | Стандартный XML-заголовок. Должен начинаться с первой строки, с нулевого символа. Может присутствовать только в единственном экземпляре | Обязательно | Латиница, цифры |
yml_catalog | Корневой XML-элемент, описывающий структуру каталога офферов. Может присутствовать только в единственном экземпляре. Атрибут date элемента должен соответствовать дате и времени генерации YML-файла на стороне магазина. Дата должна иметь формат YYYY-MM-DD hh:mm (формат времени - 24 часа) | Обязательно | Латиница, цифры |
Элементы, входящие в yml_catalog | |||
shop | Содержит описание магазина и его офферов. Может присутствовать только в единственном экземпляре | Обязательно | Латиница |
Элементы, входящие в shop | |||
name | Название магазина. Может присутствовать только в единственном экземпляре | Желательно | Латиница, кириллица, цифры |
company | Название компании, владеющей магазином. Может присутствовать только в единственном экземпляре | Желательно | Латиница, кириллица, цифры |
url | URL главной страницы магазина. Может присутствовать только в единственном экземпляре. Максимальная длина – 512 символов | Желательно | Только латиница и цифры. Кириллические символы и пробелы недопустимы |
currencies | Элемент с описанием валют, используемых в магазине. Каждая валюта описывается в отдельном элементе currency. У currency могут быть следующие атрибуты: ● id – содержит код валюты (rur, usd, eur и т.д.) ● rate – курс обмена текущей валюты на рубли Блок может присутствовать только в единственном экземпляре. | Желательно | id – латиница |
categories | Элемент с описанием категорий офферов. Может присутствовать только в единственном экземпляре. Каждая категория описывается в отдельном ● id – обязательный атрибут. Должен быть представлен уникальным значением в рамках всех категорий. | Обязательно | category – латиница, кириллица, цифры id – целочисленное значение больше нуля parentid – целочисленное значение больше нуля |
shipment-options | Элемент с описанием параметров отгрузки офферов продавцом. Эти параметры будут применены ко всему ассортименту товаров. Содержит единственный элемент option. У option могут быть следующие атрибуты: ● order-before – время в часах, 24-часовой формат; час, до которого в этот день принимаются заказы для доставки за days дней ● days – число в днях, количество рабочих дней для доставки заказа ● id склада, с которого будет осуществлена отгрузка | Желательно | Order-before – целочисленное значение от 1 до 24 Days – целочисленное значение большее или равное нулю |
offers | Список офферов магазина. Может присутствовать только в единственном экземпляре. Каждый оффер описывается в отдельном элементе offer. | Обязательно | Латиница |
Атрибуты элемента offer | |||
id | Должен соответствовать артикулу оффера в системе учёта заказов мерчанта. Не должен содержать пробелов | Обязательно | Строка |
available | Показывает доступность конкретного оффера. Может быть true или false | Обязательно | True или false |
Элементы, входящие в offer | |||
url | Ссылка на страницу оффера в магазине партнера | Желательно | Только латиница и цифры. Кириллические символы и пробелы недопустимы |
name | Название оффера. Может присутствовать только в единственном экземпляре | Обязательно | Латиница, кириллица, цифры |
price | Цена оффера. Может присутствовать только в единственном экземпляре | Обязательно | Целочисленное значение больше нуля. (не целочисленное значение будет автоматически округлено в меньшую сторону, разделитель - точка.) |
oldprice | Старая цена оффера | Желательно* *-обязательно для мерчантов категории Fashion | Целочисленное значение больше нуля. Главное требование к параметру oldprice - он должен быть минимум на 5% больше цены продажи. Например: если вы продаете футболку за 1000 рублей, то старая цена должна быть минимум 1050 рублей. |
categoryId | id категории продавца, в которую входит данный оффер. Может присутствовать только в единственном экземпляре | Обязательно | Целочисленное значение. Должно быть больше нуля |
picture | Ссылка на изображение оффера. Можно передавать несколько изображений, основным на витрине будет первое изображение. | Желательно | Только латиница и цифры. Кириллические символы и пробелы недопустимы |
vat | Элемент содержит значение ставки НДС для товара: | Обязательно для плательщиков НДС | Только перечисленные возможные |
shipment-options | Элемент с описанием параметров отгрузки данного оффера. Содержит единственный элемент option. У option должны быть следующие атрибуты: ● order-before – время окончания операционного дня (обязательный параметр) ● days – число в днях, количество рабочих дней для отгрузки заказа | Желательно | Order-before – целочисленное значение от 0 до 24 Days – целочисленное значение больше или равное нулю Store-id – целочисленное значение больше нуля |
vendor | Производитель | Желательно | Латиница, кириллица, цифры |
vendorCode | Код производителя | Желательно | Целочисленное значение больше нуля |
model | Модель. Для объедения, товаров разного размера и цвета/принта необходимо корректно указать Модель (одинаковая числовая/буквенная часть артикула без указания размера/цвета/материала) | Желательно* *-обязательно для мерчантов категории Fashion | Латиница, кириллица, цифры |
description | Описание. Описание. Используется при создании новых карточек товаров. | Желательно | Латиница, кириллица, цифры |
barcode | Штрих-код в формате EAN. Представлен с помощью цифр, имеет 8, 12 или 13 символов. Должен находиться за пределами диапазона 20xxxxxxxxxxxx (первые 2 цифры не должны быть равны 20 в случае 13 цифрового баркода) | Обязательно | Целочисленное значение больше нуля |
outlets | Элемент с данными по остатку оффера. Содержит вложенный элемент outlet. У outlet должны быть следующие атрибуты: ● id – код склада (идентификатор), который вы указали в ЛКМ, раздел “Настройки” -“Доставка” / "Склад" ● instock – количество товара на складе (шт.) | Желательно | id – целочисленное значение instock – целочисленное значение большее или равное нулю |
param | Элемент со значением характеристики данного товара. Содержит атрибут name с наименованием данной характеристики. | Желательно* *-обязательно для мерчантов категории Fashion | Латиница, кириллица, цифры |
Пример фида XML
<?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> <shipment-options> <option days="2" order-before="21"/> </shipment-options> <offers> <offer id="158" available="true"> <url>http://www.abc.ru/158.html</url> <name>Холодильник Indesit SB 185</name> <price>1000</price> <oldprice>1050</oldprice> <categoryId>1293</categoryId> <picture>http://www.abc.ru/1580-1.jpg</picture> <picture>http://www.abc.ru/1580-2.jpg</picture> <picture>http://www.abc.ru/1580-3.jpg</picture> <vat>VAT_20_120</vat> <shipment-options> <option days="1" order-before="15"/> </shipment-options> <outlets> <outlet id="1" instock="50"/> </outlets> <vendor>Indesit</vendor> <vendorCode>12345678</vendorCode> <model>Indesit SB 185</model> <description>Холодильник Indesit SB 185</description> <param name="Weight">120</param> <param name="Width">70</param> <param name="Length">250</param> <param name="Height">180</param> <param name="Габариты">10,5 x 6,5 x 1</param> <param name="Бренд">Chatte</param> <param name="Материал">Натуральнаякожа</param> <param name="Странаизготовитель">Италия</param> <barcode>7564756475648</barcode> </offer> </offers> </shop> </yml_catalog>