Сервис сравнения цен

Рекомендации по подготовке прайс-листа в формате XML

Структура прайс-листа

Шапка

Товарные предложения: элемент offers (Обязательный)

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

Часто задаваемые вопросы




Для размещения вашего магазина на CheapCheese.ru необходимо предоставить ссылку на прайс-лист в формате XML с описываемой ниже структурой. Наш робот регулярно скачивает предоставленную ссылку, таким образом происходит регулярное обновление информации о ваших товарных предложениях.

Если у вас нет возможности предоставить ссылку на прайс-лист, вы можете:

  • сформировать файл в соответствии с данным руководством;
  • зайти в свой личный кабинет и загрузить Ваш файл;

Повторять первые два шага необходимо по мере обновления ваших товарных предложений. Файлы, загружаемые вручную через личный кабинет, могут иметь размер не более 30МБ – это ограничение не действует, если вы предоставляете ссылку на прайс-лист.

При создании прайс-листа в формате XML обратите внимание на следующие моменты:

  • текст, содержащийся в элементах, не должен содержать html-разметку, символы “<“, “>”, “&” и прочие недопустимые символы.
  • вы должны предоставить доступ для нашего робота к вашей ссылке на прайс-лист (например, ссылка не должна быть закрыта “защитой от роботов” или “защитой от DDoS”).
  • кодировка, указанная в заголовке, должна соответствовать кодировке содержимого XML-файла.

Структура XML файла выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<price_feed date="2019-11-31 17:22">
  <shop>
    <name>...</name>
    <company>...</company>
    <url>...</url>
    <phone>...</phone>
    <delivery_const>...</delivery_const>
    <currencies>
    ...
    </currencies>
    <categories>
    ...
    </categories>
    <offers>
     ...     
    </offers>
  </shop>
</price_feed>

Шапка

XML-заголовок

Стандартный XML-заголовок. Должен начинаться с первой строки.

<?xml version="1.0" encoding="UTF-8"?>

Корневой элемент price_feed

Правильно сформированный XML содержит только один корневой элемент. Укажите в нём атрибут date – время создания прайс-листа.

<price_feed date="2019-11-31 17:22">

Элемент shop

В этом элементе указывается информация о магазине, товарных категориях, используюмых валютах и позициях прайс-листа.

<shop>

Элемент name

Название вашего магазина.

<name>Mob-tech-24</name>

Элемент company

Название вашей компании.

<company>ООО "Мобильная техника ..."</company>

Элемент url

В элементе url, находящемся внутри элемента shop, укажите ссылку на главную страницу вашего магазина.

<url>http:www.mob-tech-24.ru</url>

Элемент phone

В элементе phone, находящемся внутри элемента shop, укажите Ваш контактный номер телефона.

<phone>8(495)000-00-00</phone>

Элемент currencies

Используемые валюты и их курсы. Допустимо указывать цены в рублях (RUB или RUR), евро (EUR) или долларах США (USD).
В качестве курса (атрибут rate) можно указывать, собственно, значение курса, которое вы используете:

<currencies>
        <currency id="RUB" rate="1"/>
        <currency id="USD" rate="67"/>
</currencies>

Элемент delivery_const

В случае, если у Вас фиксированная стоимость доставки , не изменяющаяся в зависимости от товара, укажите ее элементе delivery_const, находящемся внутри элемента shop.

<delivery_const>300</delivery_const>

Элемент categories

Укажите здесь список названий и идентификаторов товарных категорий, используемых в вашем магазине. Каждая категория представлена тегом category и имеет атрибуты id и parentId.
Идентификаторы всех категорий должны быть целыми положительными числами.

<categories>
        <category id="1" parentId="0">Электроника</category>
        <category id="2" parentId="1">Техника для дома</category>
        <category id="3" parentId="1">Телевизоры</category>
</categories>

Товарные предложения: элемент offers (Обязательный)

Данный элемент содержит список элементов offer, каждый из которых описывает соответствующее товарное предложение.

<offers>
       <offer id="..." available="...">...</offer>
       <offer id="..." available="...">...</offer>
       <offer id="..." available="...">...</offer>
</offers>

Элемент offer (Обязательный)

<offer id="127" available="true">
    ...
</offer>

Данный элемент имеет атрибуты:

  • id – идентификатор товарного предложения в вашей системе;
  • available – укажите “true”, если предложение имеется в наличии (на складе).

Элемент offer может содержать следующие элементы.

Элемент name (Обязательный)

Название товарного предложения. Название должно состоять из префикса/производителя/модели, и не должно включать лишней информации.

<name>Телевизор Samsung UE43NU7090U</name>

Элемент description

Описание товарного предложения. Укажите здесь характеристики, цвет, размер, материал, особенности – только существенные признаки, описывающие товар.
Не указывайте здесь условия акций, доставки, гарантии и т.п.

<description>Диагональ экрана 43". 4K UHD (3840x2160), HDR. Частота обновления экрана 100 Гц.</description>

Элемент url

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

<url>http://mob-tech-24.ru/offers/samsung</url>

Элемент picture

Ссылка на картинку данного товарного предложения.

<picture>http://mob-tech-24.ru/pictures/samsung.jpg</picture>

Элемент price (Обязательный)

Цена товарного предложения. 

<price>26500</price>

Элемент oldprice

Старая цена товарного предложения. 

<oldprice>29500</oldprice>

Элемент currencyId

Код валюты: RUB, RUR, EUR, USD; см. описание элемента currencies 

<currencyId>RUB</currencyId>

Элемент categoryId (Обязательный)

Укажите здесь название категории или идентификатор категории, к которой относится данное товарное предложение. Вспомним, что все категории вашего магазина – их названия и идентификаторы – вы описали в элементе categories.

<categoryId>3</categoryId>

Элемент vendor (Обязательный)

Производитель товара. 

<vendor>Samsung</vendor>

Элемент vendorCode

Артикул товара, присвоенный производителем. 

<vendorCode>UE43NU7090U</vendorCode>

Элемент local_delivery_cost

Стоимость доставки. Если доставка бесплатная, укажите 0. 

<local_delivery_cost>300</local_delivery_cost>

Элемент delivery-options

Укажите комментарий для доставки. Например, “доставка только по будням”

<delivery-options>Доставка только по будням</delivery-options>

Элемент barcode

Численный штрихкод (баркод) товара. 

<barcode>4600999700948</barcode>

Элемент videoobzor

Если у Вас в магазине в карточке товара присутствует видеообзор товара, то Вы можете добавить элемент videoobzor, внутри которого разместить ссылку на YouTube. 

<videoobzor>https://www.youtube.com/watch?v=Fn8dO-KyAzc</videoobzor>

Параметры предложения

Внутри элемента offer можно указать несколько элементов param.
Каждый элемент param представляет характеристику (атрибут, параметр) товара. Общий пример:

<offer ...>
        <param name="Обьем памяти">16 гб</param>
        <param name="Цвет">чёрный</param>
</offer>



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

<?xml version="1.0" encoding="UTF-8"?>
<price_feed date="2019-11-31 17:22">
  <shop>
    <name>Mob-tech-24</name>
    <company>ООО "Мобильная техника ..."</company>
    <url>http:www.mob-tech-24.ru</url>
    <phone>8(495)000-00-00</phone>
    <delivery_const>300</delivery_const>
    <currencies>
        <currency id="RUB" rate="1"/>
        <currency id="USD" rate="67"/>
    </currencies>
    <categories>
        <category id="1" parentId="0">Электроника</category>
        <category id="2" parentId="1">Техника для дома</category>
        <category id="3" parentId="1">Телевизоры</category>
    </categories>
    <offers>
        <offer id="127" available="true">
             <name>Телевизор Samsung UE43NU7090U</name>
             <description>Диагональ экрана 43". 4K UHD (3840x2160), HDR. Частота обновления экрана 100 Гц.</description>
             <url>http://mob-tech-24.ru/offers/samsung</url>
             <picture>http://mob-tech-24.ru/pictures/samsung.jpg</picture>
             <price>26500</price>
             <oldprice>29500</oldprice>
             <currencyId>RUB</currencyId>
             <categoryId>3</categoryId>
             <vendor>Samsung</vendor>
             <vendorCode>UE43NU7090U</vendorCode>
             <local_delivery_cost>300</local_delivery_cost>
             <delivery-options>Доставка только по будням</delivery-options>
             <barcode>4600999700948</barcode>
             <videoobzor>https://www.youtube.com/watch?v=Fn8dO-KyAzc</videoobzor>
             <param name="Обьем памяти">16 гб</param>
             <param name="Цвет">чёрный</param>
        </offer>
        ...    
    </offers>
  </shop>
</price_feed>



Часто задаваемые вопросы

Можно ли в качестве корневого элемента указать не price_feed, а другой?

Можно, если при этом XML остаётся “валидным”, т.е. проходит через XML-валидатор.

Можно ли в элементах shop и offer указывать другие элементы?

Можно дополнительно указывать элементы, неописанные в данном руководстве, если при этом XML остаётся “валидным”, т.е. проходит через XML-валидатор.

Также Вы можете прислать прайс-лист с другой структурой тэгов, и он также будет загружен в систему. В инструкции указана стандартизированная структура, но наши роботы умеют обрабатывать все возможные теги.

Как проверить, что прайс-лист имеет правильную структуру?

  • воспользоваться online-валидаторами XML;
  • прислать нам ссылку на ваш прайс-лист на проверку.