Документация описывает структуру XML файла для передачи товарного каталога вашего интернет-магазина на сервис сравнения цен.
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog>
<shop>
<name>Название магазина</name>
<url>https://example.com</url>
<currencies>...</currencies>
<categories>...</categories>
<offers>...</offers>
</shop>
</yml_catalog> Кодировка — UTF-8. Корневой элемент <yml_catalog> содержит один элемент <shop>.
<shop>| Тег | Описание | Обязательный |
|---|---|---|
<name> | Название интернет-магазина | Да |
<url> | Ссылка на главную страницу магазина | Да |
<currencies> | Блок валют | Да |
<categories> | Блок категорий товаров | Да |
<offers> | Блок товарных предложений | Да |
<currencies>Содержит перечень валют. Каждая валюта задаётся элементом <currency>.
| Атрибут | Описание | Обязательный |
|---|---|---|
id | Код валюты (UAH, USD, EUR) | Да |
rate | Курс относительно базовой валюты (для UAH всегда 1) | Да |
<currencies>
<currency id="UAH" rate="1"/>
</currencies> <categories>Содержит перечень категорий. Категории могут иметь иерархию через атрибут parentId.
| Атрибут | Описание | Обязательный |
|---|---|---|
id | Уникальный идентификатор категории | Да |
Текстовое значение элемента — название категории.
<categories>
<category id="1">Приманки</category>
<category id="2">Воблеры</category>
<category id="3">Лески и шнуры</category>
<category id="4">Лески</category>
</categories> <offer>Каждый товар описывается элементом <offer> внутри блока <offers>.
| Атрибут | Описание | Обязательный |
|---|---|---|
id | Уникальный идентификатор товара | Да |
available | Доступность товара (true / false) | Да |
| Тег | Описание | Обязательный |
|---|---|---|
<name> | Название товара | Да |
<url> | Прямая ссылка на страницу товара | Да |
<price> | Актуальная цена | Да |
<priceOld> | Старая цена до скидки (для отображения перечёркнутой цены) | Нет |
<currency> | Валюта цены (UAH, USD, EUR) | Да |
<categoryId> | ID категории, к которой относится товар (соответствует id из <categories>) | Да |
<vendor> | Производитель / бренд | Да |
<vendorCode> | Код производителя | Нет |
<code> | Внутренний код / артикул товара | Да |
<image> | Ссылка на изображение товара. Может быть несколько тегов <image> | Нет |
<param> | Характеристика товара. Атрибут name — название параметра, значение элемента — значение параметра | Нет |
<availability> | Статус наличия товара. Допустимые значения: inStock, outOfStock, preOrder, backOrder | Да |
<label> | Маркетинговый бейдж товара. Может быть несколько тегов <label>. Допустимые значения: discounted, new, endsSoon, promo, outlet, bestseller | Нет |
<availability>| Значение | Описание |
|---|---|
inStock | Товар в наличии |
outOfStock | Товара нет в наличии |
preOrder | Товар доступен для предзаказа |
backOrder | Товар можно заказать под запрос (ожидается) |
<label>| Значение | Описание |
|---|---|
discounted | Товар с уценкой (повреждённая упаковка, витринный образец и т.д.) |
new | Новинка в ассортименте |
endsSoon | Скоро закончится (ограниченное количество на складе) |
promo | Акционное предложение (временная скидка) |
outlet | Распродажа (остатки, снятые с производства) |
bestseller | Хит продаж |
Может быть несколько тегов <label> одновременно. Например, товар может быть одновременно новинкой и акционным.
<offer id="199513" available="true">
<name>Воблер Flagman Swim Spark 90мм A020</name>
<url>https://example.com/vobler-flagman-swim-spark-90mm-a020/p199513</url>
<price>450</price>
<priceOld>400</priceOld>
<vendor>Flagman</vendor>
<vendorCode>4157</vendorCode>
<code>47919</code>
<currency>UAH</currency>
<categoryId>2</categoryId>
<image>https://example.com/catalog/199513/1285299.jpg</image>
<image>https://example.com/catalog/199513/1285300.jpg</image>
<param name="Тип воблера">Swimbait</param>
<param name="Длина">90</param>
<param name="Вес">7.4 г</param>
<param name="Заглубление">0.3 - 1 м</param>
<param name="Плавучесть">Медленно тонет</param>
<param name="Цвет">A020</param>
<param name="Вес">12</param>
<param name="Размер">90</param>
<availability>inStock</availability>
<label>promo</label>
</offer> Спецсимволы. Значения тегов, содержащие спецсимволы (<, >, &), оборачивайте в CDATA:
<name><![CDATA[Воблер 5" & больше]]></name> Несколько изображений. Просто добавьте несколько тегов <image> последовательно:
<image>https://example.com/catalog/199513/1285299.jpg</image>
<image>https://example.com/catalog/199513/1285300.jpg</image> Предварительная генерация. Если генерация XML занимает много времени, генерируйте файл заранее по расписанию, чтобы в момент загрузки он уже был готов на сервере.