Техническое описание процесса подключения к платформе notissimus:

  • 1. Платформа работает на основе файла xml, который используется для подключения к системе yandex market (market.yandex.ru). Детальный формат файла находится по ссылке ниже: help.yandex.ru (очень рекомендуем внимательно прочитать эту статью habrahabr.ru)
  • 2. Если ваш магазин уже размещается в системе yandex market то, как правило, никаких доработок от ваших программистов не потребуется. Если же файла данного формата нет – то его необходимо сделать согласно спецификации. Мы не поддерживаем другие форматы – работа с множеством клиентом позволила нам детально отладить механизм работы с данным форматом, что позволяет нам сократить время разработки и избежать ненужных программных ошибок.
  • 3. Отметим, что файл должен регулярно обновляться, чтобы отражать актуальное состояние товарных остатков. Опыт показывает, что обновления файла раз в сутки достаточно для большинства компаний. Однако, если ваш бизнес требует более частного обновления информации в мобильных приложениях, мы согласуем любой разумный период обновления.
  • 4. Обратите внимание, что есть отличия данного формата файла при работе с разными категориями товаров – например для категории «одежда» вводятся дополнительные тэги (tags) описывающие цвет и размер изделия. Детальная информация об всех отличиях приведена на сайте по ссылке в п.1.
  • 5. После создания файла, нам нужно один раз получить от вас ссылку URL на его местоположение и дальше, согласно оговоренному расписанию, наша платформа будет его автоматически загружать в нашу базу данных для обработки и дальнейшей визуализации в мобильных приложениях.
  • 6. Важно – если ваш бизнес представлен в нескольких регионах России и в каждом городе поддерживаются свои цены на товары, то необходимо иметь несколько файлов xml для каждого региона. На данный момент мы не поддерживаем возможность визуализировать для одного региона несколько типов цен на товары в разных магазинах этого региона.
  • 7. Для упрощения управления вашими розничными точками, особенно если они находятся в разных регионах, мы разработали специальный формат xml – управляющий. Суть данного файла в том, что он указывает где находятся ссылки на выгрузки для каждого региона, описывает адреса и режимы работы ваших магазинов и т.п. Данный файл как правило будет обновляться очень редко, и он нужен в одном экземпляре. Формат приведет ниже:

    Файлы для загрузки:
    Список доступных регионов available_regions.xlsx
    Шаблон магазинов shops_template.xlsx

    <?xml version="1.0" encoding="utf-8" ?>
    <!DOCTYPE notissimus>
    <notissimus date="2013-01-24 17:32">
        <company>
            <name>Интернет-гипер-маркет МЕТРИКА</name> <!-- (ваше название) -->
            <url>http://metrika.ru</url> (адрес вашего сайта)
        </company>
        <yml_catalogs>
            <yml_catalog>
                <region>Санкт-Петербург и ЛО</region> (один из ваших регионов, которых может быть несколько)
                <city>Санкт-Петербург</city> (город)
                <url>http://metrika.ru/bitrix/catalog_export/export_1c_catalog.zip</url> (адрес выгрузки yandex market)
                <company_contact_id>1</company_contact_id>
                <company_shops>                
                    <company_shop is_pickup="true"> <!-- is_pickup - если из магазина возможен самовывоз -->
                        <id>1</id> <!-- (идентификатор магазина) -->
                        <region>Орловская область</region> <!-- Регион -->
                        <city>Орел</city>
                        <name>МЕТРИКА № 57</name> <!-- (имя магазина)-->
                        <address>Ленинский пр., д. 95</address> <!-- (адрес магазина)-->
                        <phones></phones>
                        <work_time>с 9.00 до 22.00</work_time> <!-- (рабочие часы)-->
                        <latitude>59,85323</latitude> <!-- (координаты магазина эта и следующая строка)-->
                        <longitude>30,21364</longitude>
                        <emails>info@example.com;second@example.com</emails><!-- Email для уведомления дополнительно, если заказ оформлен как самовывоз из этого магазина-->
                        <type>1</type> <!-- (тип магазина, указывается для различных иконок магазина на карте) -->
                    </company_shop>
                    <company_shop>
                        <id>2</id>
                        <name>МЕТРИКА № 9</name>
                        <address>Выборгское шоссе, д. 214</address>
                        <phones>8 (812) 3261914</phones>
                        <work_time>с 9.00 до 23.00</work_time>
                        <latitude>60,073342</latitude>
                        <longitude>30,272542</longitude>
                        <type>1</type> <!-- (тип магазина) -->
                    </company_shop>
                </company_shops>
            </yml_catalog>
        </yml_catalogs>
        <company_contacts>
            <company_contact>
                <id>1</id>
                <email>support@metrika.ru</email>
                <order_email>sale@metrika.ru</order_email>
                <url>www.metrika.ru</url>
            </company_contact>
        </company_contacts>
        <company_phones>
            <company_phone>
                <company_contact_id>1</company_contact_id>
                <phone>+7 (812) 326 1999</phone>
                <description>Для физических лиц</description>
            </company_phone>
            <company_phone>
                <company_contact_id>1</company_contact_id>
                <phone>+7 (812) 777 7733</phone>
                <description>Для физических лиц</description>
            </company_phone>
        </company_phones>
    </notissimus>
    
  • 8. Чтобы приложения приносили как можно больше пользы для вашего бизнеса нужен качественный контент (описания, тех. характеристики и изображения товаров). Вся эта информация передается нам в файле xml – мы советуем уделить вопросу контента особое внимание. Отметим, что изображения товаров мы загружаем «на лету» с вашего сайта в Интернете, по мере того как пользователь работает с приложением на своем мобильном устройстве. Такой подход позволяет резко сократить размер приложения, что важно для конечных клиентов, но накладывает на вас обязательство обеспечивать доступность вашего сайта в Интернете.
  • 9. Заказы на товары (фактически содержимое корзины) передаются по электронной почте на заранее оговоренный адрес. Мы активно работаем над созданием более структурированного способа передачи заказов.
  • 10. Если вам необходимо показывать наличие товара в конкретном магазине, то используйте в каждом региональном файле xml следующие дополнительные поля. Обратите внимание, что мы можем как показывать количество в приложениях, так и просто отмечать что товар есть и давать забронировать.

    ....
    <offers>
        ...
        <offer>
            ....
            <company_shops>
                <company_shop>
                    <id>1</id> (идентификатор магазина)
                    <quantity>22</quantity> (количество товаров данного артикула в магазине)
                </company_shop>
                <company_shop>
                    <id>2</id>
                    <quantity>5</quantity>
                </company_shop>
            </company_shops>
        </offer>
        ....
    </offers>
    
  • 11. После того, как у вас заработало мобильное приложение, нужно предлагать пользователям вашего сайта (если он есть) установить приложение на свои устройства. Ниже приведет скрипт для определения факта захода на сайт с устройства Apple iPad:

    var isPad = navigator.userAgent.match(/iPad/i) != null;
    var cookieName = "iPad";
    var iPadCookie = $.cookie(cookieName);
    if (isPad && iPadCookie == undefined ){
        $.cookie(cookieName, "checked", { expires: 180, path: '/', domain: "[yoursite]" });
            if (confirm("Перейти к приложению для iPad?")) {
            window.location = "http://itunes.apple.com/ru/app/[здесь id приложения] ";
        }
    }
    

    Полезные ссылки:
    Определение Apple устройств http://stackoverflow.com/questions/4617638/detect-ipad-users-using-jquery
    Библиотека для куки здесь https://github.com/carhartl/jquery-cookie
  • 12. В этом разделе показаны примеры выгрузки с различными параметрами.

    <yml_catalog date="2014-02-04 17:21">
                <shop>
                <!-- .... -->
                <categories>
                <category id="1">Название категории</category>
                <category id="2" parentId="1" sort="1">Название категории</category> <!-- (sort - как сортируются категории в приложении) -->
                <category id="3" parentId="1" picture="http://notissimus.com/image/jpg">Название категории 2</category><!-- picture задает изображение для категории -->
                <!-- .... -->
                </categories>
                <offers>
                <offer id="24897329" group_id="56123">
                <url>http://notissimus.com/catalog/tovar/</url>
                <price>45990</price>
                <oldprice>49999</oldprice> <!-- (цена до скидки или цена в розничном магазине) -->
                <currencyId>RUR</currencyId>
                <categoryId>630</categoryId>
                <picture>http://notissimus.com/image.jpg</picture>
                <typePrefix>3D-телевизор</typePrefix>
                <vendor>SONY</vendor>
                <model>KDL 47W808A</model>
                <description>Описание товара</description>
                <manufacturer_warranty>true</manufacturer_warranty>
                <article>24897329</article>
                <barcode>4603370202027</barcode>
                <param name="Цвет" >черный</param> <!-- (параметр для выбора в корзине) -->
                <param name="Размер" type="size" unit="RU">42</param>
                <param name="Длина (см)">42</param>
                <param name="Ширина (см)">61.2</param>
                <param name="Высота (см)">81.7</param>
                <param name="BadgeImage">4</param> <!-- (наклейка на товаре, идентификатор изображения) -->
                <param name="unit">кг</param>
                <param name="RatingRate">3.43</param> <!-- (рейтинг по 5-ти бальной шкале) -->
                <param name="RatingValues">8293</param> <!-- (количество голосов в рейтинге) -->
                <param name="Sort" Type="1">960018</param> <!-- (сортировка товара по умолчанию) -->
                <comment id="189991" username="Олег" date="2014-01-28 14:53:50">Отличный товар</comment> <!-- (пример отзыва к товару) -->
                <tagIn>1</tagIn> <!-- Теги для создания списков рекомендованных товаров и др. Подробнее о тегах ниже -->
                <tagOut>2</tagOut>
                <company_shops>
                <company_shop>
                <id>02130</id>
                <quantity>3</quantity>
                </company_shop>
                <company_shop>
                <id>03138</id>
                <quantity>2</quantity>
                </company_shop>
                </company_shops>
                </offer>
                </offers>
                </shop>
    </yml_catalog>
    


    Для реализации механизма рекомендуемых товаров выгрузку необходимо дополнить следующим:
    В каждом товаре добавить теги, в зависимости от типа. Теги бывают 2-х типов: tagin и  tagout
    Например

    <offer id="29855" type="vendor.model">
      <name>Телевизор</name>
      <tagIn>1</tagIn>
    </offer>
    <offer id="29857" type="vendor.model">
      <name>Батарейки</name>
      <tagOut>1</tagOut>
    </offer>
    
    

    Тогда в карточке товара телевизора будет рекомендуемые батарейки, а в карточке товара батарейки рекомендуемых не будет.