Инструкция
Интеграция с InSales и подключение товарных рекомендаций
Рассказываем, как все правильно настроить


InSales — популярная платформа для создания интернет-магазина. Одни из наших партнеров, с которыми возможно настроить прямую интеграцию с Mailganer.
Приложение Mailganer для InSales поможет синхронизировать базу клиентов, запустить триггеры брошенной корзины и автоматизировать процесс производства рассылок.
Как настроить интеграцию
После установки InSales нужно авторизоваться в Mailganer. Если у вас не было ранее аккаунта — нужно создать новый. В этом случае данные для регистрации автоматически подставятся из аккаунта InSales.
Приложение автоматически создаст новый список и перенесет в него базу имейлов.
После того, как система подготовит аккаунт, появится рабочая область приложения, которая состоит из двух блоков. Первый блок «Синхронизация подписчиков» — это информация о последней успешной синхронизации и кнопка «Перейти в личный кабинет».
Во втором блоке «Настройки синхронизации» вы можете настроить списки, куда будут импортироваться подписчики.
Готово! Первый этап интеграции завершен.
Подключение триггера брошенной корзины и товарных рекомендаций к магазину InSales
Можно автоматизировать отправку триггеров брошенной корзины, брошенного поиска и других. Для этого нужно установить коды рекомендаций и указать ссылку на фид с товарами. Ниже инструкции как это сделать.
1. Установить коды рекомендаций
2. Указать ссылку на
фид с товарами
3. Сбор имейлов на корзине
4. Стоимость товарных рекомендаций
Установить коды рекомендаций
Шаг 1. Зайдите в настройки магазина в InSales в раздел «Настройки» → «Счётчики и коды».
Шаг 2. В поле JavaScript-код для вывода на iframe-странице после оформления заказа добавьте код:
<script type="text/javascript">
    $(window).load(function () {
        var i = setInterval(function () {
            if (mgr_api != {}) {
                clearInterval(i);
                const order = {
                    order_id: {{ order.id }},
                    order_price: {{ order.total_price }},
                    products: [
                        {% for item in order.items %}
                        {
                            id: {{ item.product.id }},
                            price: {{ item.total_price.with_margin }},
                            amount: {{ item.quantity }}
                        }
                        {% endfor %}
                    ]
                };
                mgr_api.track('purchase', order);
            }
        }, 100);
    });
</script>
Шаг 3. Перейдите в раздел «Дизайн» и нажмите на иконку кода у текущей темы.
Шаг 4. Вконце файла product.luquid вставьте следующий код:
<script type="text/javascript">
    const mg_track_product = {
        id: '{{ product.id }}',
        name: '{{ product.title }}', 
        price: {{ product.price }},
        categories: ['3304487'], 
        image: '{{ product.first_image.compact_url }}',
        url: '{{ account.url }}{{ product.canonical_url }}'
    };
    $(window).load(function () {
        var i = setInterval(function () {
            if (mgr_api != {}) {
                clearInterval(i);
                mgr_api.track("view", mg_track_product);
                $('.buybutton').on('click', function () {
                    mgr_api.track("add_cart", mg_track_product);
                });
            }
        }, 100);
    });
</script>
В данном коде проверьте, чтобы класс .buybutton был назначен кнопке «Купить» или «Добавить в корзину». Пример:
Шаг 5. В файл cart.luquid вставьте следующий код:
<script type="text/javascript">
    $(window).load(function () {
        var i = setInterval(function () {
            if (mgr_api != {}) {
                clearInterval(i);
                $('.minicartdel').on('click', function () {
                    mgr_api.track("remove_cart", $(this).attr('iid').split('_')[1]);
                });
            }
        }, 100);
    });
</script>
В данном коде проверьте, чтобы класс .minicartdel был назначен на кнопку «Удалить из корзины». Пример:
Шаг 6. В файле layouts.layout.liquid вставьте следующий код:
{% if client %}
$.getJSON('/client_account/contacts.json', function(contacts) {
    var mg_email = contacts.client.email;
    var mgr_api = {};
    console.debug('MG track client email:', contacts.client.email);
    (function () {
        var script = document.createElement('script');
        var b = '';
        if (typeof this.href != "undefined") {
            b = this.href.toString().toLowerCase()
        } else {
            b = document.location.toString().toLowerCase()
        }
        ;
        script.src = "https://mailganer.com/jsapi/r/ХХХ?ref=" + document.referrer + "&url=" + b + "&nc=" + Math.random();
        script.async = true;
        script.onload = function () {
            mgr_api = new MGApi();
            mgr_api.auth(mg_email);
        };
        document.getElementsByTagName('head')[0].appendChild(script);
    })();
});
{% else %}
    var mg_email = '';
    var mgr_api = {};
    (function () {
        var script = document.createElement('script');
        var b = '';
        if (typeof this.href != "undefined") {
            b = this.href.toString().toLowerCase()
        } else {
            b = document.location.toString().toLowerCase()
        }
        ;
        script.src = "https://mailganer.com/jsapi/r/XXX?ref=" + document.referrer + "&url=" + b + "&nc=" + Math.random();
        script.async = true;
        script.onload = function () {
            mgr_api = new MGApi();
            mgr_api.auth(mg_email);
        };
        document.getElementsByTagName('head')[0].appendChild(script);
    })();
{% endif %}
В коде https://mailganer.com/jsapi/r/ХХХ вместо XXX поставьте значение из личного кабинета Mailganer
Если коды установлены корректно, то в личном кабинете отразится соответствующий статус:
Нужна помощь с интеграцией InSales или возникли трудности при подключении товарных рекомендаций? Напишите нам на support@mailganer.com
Укажите сылку на фид с товарами
Шаг 1. Перейдите в раздел ПродвижениеПлощадки
Шаг 2. Выберите Добавить произвольную выгрызку
Шаг 3. Настройте выгрузку как показано на скриншоте и сохраните её
В поле Шаблон выгрузки вставьте следующий код
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="{{'now' | date:  '%Y-%m-%d %H:%M'}}">
  <shop>
    <name>{{marketplace.shop_name}}</name>
    <company>{{marketplace.company}}</company>
    <url>{{marketplace.url}}</url>
    <platform>InSales</platform>
    <currencies>
    {% for currency in currencies %}
      <currency id="{{currency.id}}" rate="{{currency.rate}}" {% if currency.plus %}plus="{{currency.plus}}" {% endif %} />
    {% endfor %}
    </currencies>
    <categories>
    {% for collection in collections %}
       <category id="{{collection.id}}" {% if collection.parent_id %}parentId="{{collection.parent_id}}"{% endif %} url="{{marketplace.url}}/collection/{{collection.handle}}">{{collection.title}}</category>
    {% endfor %}
    </categories>
    {% if delivery_options != empty %}
    <delivery-options>
    {% for option in delivery_options %}
      <option cost="{{option.cost}}" days="{{option.days}}" {% if option.order-before %}order-before="{{option.order-before}}" {% endif %} />
    {% endfor %}
    </delivery-options>
    {% endif %}
    <offers>
      {{content_for_layout}}
    </offers>
    <promos>
      {% for promo in promos %}
      <promo id="{{promo.id}}" type="promo code">
        {% if promo.start_date %}
        <start-date>{{promo.start_date}}</start-date>
        {% endif %}
        {% if promo.end_date %}
        <end-date>{{promo.end_date}}</end-date>
        {% endif %}
        {% if promo.description %}
        <description>{{promo.description}}</description>
        {% endif %}
        {% if promo.url %}
        <url>{{promo.url}}</url>
        {% endif %}
        <promo-code>{{promo.code}}</promo-code>
        <discount {% if promo.percent? %}unit="percent"{% else %}unit="currency" currency="{{currency}}"{% endif %}>
          {{promo.discount}}
        </discount>
        <purchase>
         {% for offer_id in promo.matching_offers_ids %}
         <product offer-id="{{offer_id}}" />
         {% endfor %}
        </purchase>
      </promo>
      {% endfor %}
    </promos>
  </shop>
</yml_catalog>
В поле Шаблон блока offer вставьте следующий код
<offer type="vendor.model" available="{% if product.available %}true{% else %}false{% endif %}" id="{{product.id}}" >
  <url>{{account.url}}/product_by_id/{{product.id}}</url>
  <price>{{product.price}}</price>
  <oldprice>{{product.old_price}}</oldprice>
  <currencyId>{{product.currency_id}}</currencyId>
  <categoryId>{{collection.id}}</categoryId>
  {%for image in product.images limit: 1 %}
  <picture>{{image.url}}</picture>
  {% endfor %}
  <vendor>{{product.properties.vendor}}</vendor>
  <model>{{product.title}}</model>
  <description>{{product.description}}</description>
</offer>
Шаг 4. Укажите ссылку на фид в настройках рекомендаций в личном кабинете Mailganer
Нужна помощь с интеграцией InSales или возникли трудности при подключении товарных рекомендаций? Напишите нам на support@mailganer.com
Сбор имейлов на корзине
Можно показывать следующую форму всем, кто не авторизован и хочет уйти со страницы корзины
Ниже расскажем как настроить такую форму. Сначала зайдите в личный кабинет Mailganer на страницу настроек сбора подписчиков.
Скопируйте код для форм подписок.
Зайдите в шаблон cart.liquid в inSales, вставьте скопированный код в конец файла и сохраните изменения.
Вернитесь в личный кабинет Mailganer и перейдите во вкладку Попап при выходе, выберите 3ий шаблон и нажмите применить.
Пролистайте страницу вниз и включите показы попапа. Готово, можно проверять.
Нужна помощь с интеграцией InSales или возникли трудности при подключении товарных рекомендаций? Напишите нам на support@mailganer.com
Стоимость платформы и интеграции
Стоимость платформы состоит из:
  1. стоимости рассылок
  2. стоимости модуля товарных рекомендаци

Стоимость установки кода нашими специалистами составляет 7000 руб. разово. Чтобы воспользоваться этой услугой, пополните баланс аккаунта Mailganer, добавьте в insales пользователя insales@mailganer.com и напишите нам, что нужно установить коды рекомендаций.

Для клиентов insales предоставляется бесплатный месяц платформы Mailganer. Скидка на услугу по установке кодов не распространяется.