Общие рекомендации по формату прайс-листов для системы Контекст.МобиГуру
Общие сведения
Прайс-лист интернет-магазина (Клиент) содержит сведения о товарных категориях, справочник валют и товарные позиции интернет-магазина для размещения на сайтах, принадлежащих ИП Ермолов или сайтах-партнерах.
Метод передачи данных

Прайс-лист представляет собой XML-документ отвечающий указанным ниже правилам и располагающийся на сайте интернет магазина по URL-адресу, согласованному с менеджером , и доступный по протоколу HTTP/HTTPS. Допускается использование стандартной авторизации для автоматического скачивания файла роботом Яндекс.Маркета, при этом данные для авторизации должны также быть согласованы.

В случае изменения URL-адреса и/или авторизационных данных Клиент должен уведомить об изменениях менеджера

Прайс-лист Клиента полностью формируется на стороне интернет-ресурса (сайта) Клиента , использование javascript и других технологий динамического формирования содержимого документа на стороне получателя содержания (например — браузера) не допускается.

Программное обеспечение скачивает прайс-лист по указанному URL-адресу, по протоколу HTTP или HTTPS.

Мы не рекомендуем своим партнёрам использовать фильтрацию по IP-адресам для ограничения доступа к прайс-листам, так как список IP-адресов может меняться по техническим причинам.

Формат прайс-листа, публикуемого на сайте интернет-магазина Клиента

Прайс-лист представляет собой XML-документ в формате YML (YML - Yandex Market Language - стандарт, разработанный "Яндексом" для принятия и публикации информации в базе данных Яндекс.Маркет. YML основан на стандарте XML).

Стандарт XML не допускает использования в текстовых данных непечатаемых символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки). Также этот стандарт требует обязательной замены некоторых символов (см. таблицу) на эквивалентные им символьные примитивы.

Условия замены в текстовых полях

Текстовый символ Замена (символьный примитив)
″
& &
> >
< &lt;
' &apos;
Структура XML-документа:
<?xml version="1.0" encoding="windows-1251"?>

<!DOCTYPE yml_catalog SYSTEM "shops.dtd">

<yml_catalog date="2011-09-14 22:41">

    <shop>

        <name>Белый Ветер ЦИФРОВОЙ</name>

        <company>Белый Ветер ЦИФРОВОЙ</company>

        <url>http://www.digital.ru</url>

        <currencies>

            <currency id="RUR" rate="1" />

            <currency id="USD" rate="30.33"/>

            ...

        </currencies>

        <categories>

            <category id="67108865">Ноутбуки</category>

            <category id="94986093">Аксессуары</category>

            ...

        </categories>

        <offers>

            <offer ...>

            </offer>

            ...

        </offers>

    </shop>

</yml_catalog>
Пример XML-файла:
<?xml version="1.0" encoding="windows-1251"?>

<yml_catalog date="2008-01-16 14:07">

    <shop>

        <name>название магазина</name>

        <company>название компании</company>

        <url>ссылка на веб-сайт (пример: http://www.piterphone.ru )</url>

        <currencies>

            <currency id="RUR" rate="1"/>

            <currency id="USD" rate="26,0"/>

        </currencies>

        <offers>

            <offer id="идентификатор_предложения">

                <name>Nokia 2610</name>

                <url>ссылка на уникальную страницу предложения (например: http://www.piterphone.ru/phones/nokia/nokia_2610.html )</url>

                <price>1590</price>

                <currencyId>RUR</currencyId>

            </offer>

            ...

        </offers>

    </shop>

</yml_catalog>
Смысл секций:

1. Нам важен корневой элемент "shop"

2. Нам нужны реквизиты "магазина" (name, company, url)

3. Секция "currencies" - справочник валют.

4. Элемент "currency" должен иметь атрибуты "id" (идентификатор) и "rate" (курс).

5. Предложения располагаются в секции "offers".

6. Каждое отдельное предложение - элемент "offer". У него должен быть атрибут "id" (уникальный!).

7. Внутри предложения должны быть элементы:

"name" - название модели

"url" - ссылка на страницу предложения в Интернет магазине

"price" - цена (число)

"currencyId" - идентификатор валюты, соответствующий одному из элементов секции "currencies"

Общий вид прайс-листа, принимаемого нашей системой, совпадает с основными требованиями к методу передачи данных, Яндекс.Маркета.

См. Описание формата полного списка товаров - http://partner.market.yandex.ru/legal/tt/#id2723381

1. Любой XML-документ может содержать только один корневой элемент. Формат YML в качестве корневого использует элемент yml_catalog. Атрибут date элемента yml_catalog должен соответствовать дате и времени генерации XML-файла на стороне магазина. Дата должна иметь формат YYYY-MM-DD HH:mm.

Пример:

<yml_catalog date="2000-11-16 20:17">

    <shop>

        ...

    </shop>

</yml_catalog>

2. В элементе shop содержится описание магазина и товаров магазина.

Магазин описывается следующими полями:

name — Короткое название магазина. Не должно содержать более 20 символов).

Нельзя использовать слова, не имеющие отношения к наименованию магазина ("лучший", "дешевый"), указывать номер телефона и т.п. Название магазина, должно совпадать с фактическим названием магазина, которое публикуется на сайте.

company — Полное наименование компании, владеющей магазином. Не публикуется, используется для внутренней идентификации.

url — URL-адрес главной страницы магазина

Пример:

<shop>

    <name>BestShop</name>

    <company>Best online seller Inc.</company>

    <url>http://best.seller.ru/</url>

    <currencies> ... </currencies>

    <categories> ... </categories>

    <offers> ... </offers>

</shop>

3. Элемент currencies задает список курсов валют магазина. Каждая из валют описывается отдельным элементом currency. Параметр id элемента currency указывает код валюты, а параметр rate - курс валюты к рублю. Если параметр rate, описанный в этом элементе, имеет значение 'CBRF', то будет воспринимать курс валюты магазина как курс ЦБ РФ.

Пример:

<currencies>

    <currency id="RUR" rate="1"/>

    <currency id="USD" rate="23.98"/>

    <currency id="EUR" rate="CBRF"/>

    <currency id="UAH" rate="5.6"/>

</currencies>

4. В элементе offers содержится список товарных предложений магазинов. Каждое товарное предложение описывается отдельным элементом offer.

<offers>

    <offer>...</offer>

        ...

</offers>