Модуль выбора пункта выдачи и курьерской доставки для InSales

Обновлено 12.10.2017, добавлен модуль курьерской доставкиnew

Инструкция подключения, 3 шага.


Выбор будет осуществляться на странице оформления заказов. Так же модуль рассчитывает тариф доставки.

1. Добавляем дополнительное поле

С помощью дополнительного поля будет сохраняться выбранный пункт выдачи/курьерской доставки.

Настройки -> Оформление заказов, в разделе Настройка полей заказа нажать кнопку Добавить.

Заполнить форму создания поля и сохранить:

Затем снова зайти в редактирование поля и в адресной строке мы получим fieldId.

2. Создаем новый способ доставки в админке

Заходим в админку - "Настройки" - "Доставка". В опции "Добавить новый вариант" выбираем "Внешний способ доставки" и нажимаем "Добавить".

В поле "Название" пишем текст, которой будет отображаться покупателям при выборе способа доставки и нажимаем кнопку "Создать" внизу страницы.

Далее снова открываем этот способ доставки и сохраняем идентификатор (deliveryId):

3.1 Устанавливаем модуль для пунктов выдачи

Теперь, когда у нас есть две цифры, в нашем случае это "fieldId" (3311734) и "deliveryId" (501951), мы можем завершить установку модуля и приступить к продажам.


В первую очередь, возвращаемся в меню редактирования способов доставки, и открываем способ, созданный в первом пункте этой инструкции.

Внизу данной формы можно увидеть поле Javascript

В это поле требуется скопировать код представленный ниже


<div><a href="#" id="gp-select-punkt" style="text-decoration: underline; font-weight: bold;">Выбрать пункт выдачи на карте</a></div>

<script type="text/javascript" src="//glavpunkt.ru/js/punkts-widget/glavpunkt.js"></script>
<script type="text/javascript" src="//glavpunkt.ru/js/modules_cms/inSales/points.js"></script>

<script type="text/javascript">
$(function() {
  Glavpunkt.inSales.init({
    'deliveryId': 501951,
    'fieldId': 3311734,
    'isPrePaid': true,
  });
});
</script>

На этом шаге очень важно внутри кода заменить цифры, которые мы достали на предыдущих шагах.


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


3.2 Устанавливаем модуль курьерской доставки

Отличия заключаются лишь в вызове службы доставки, а также во внешнем виде модального окна, которое будет выведено при нажатии на "Выбрать регион доставки". Обращаем ваше внимание на то, что по умолчанию параметр "isPrePaid" установлен в значение "true", что означает, что стоимость доставки будет расчитываться как для Предоплаченных заказов. Данный параметр был введен, в связи с отсутсвием функционала по отслеживанию выбора типа оплаты в платформе Insales. Если установить значение данного поля "false" расчёт будет производиться для заказов с типом "Оплата наличными".

У нас есть две цифры, в данном случае это "fieldId" (6555133) и "deliveryId" (1203418), мы можем завершить установку модуля и приступить к продажам.


В первую очередь, возвращаемся в меню редактирования способов доставки, и открываем способ, созданный в первом пункте этой инструкции.

Внизу данной формы можно увидеть поле Javascript

В это поле требуется скопировать код представленный ниже


<div><a href="#" id="gp-select-city-courier" style="text-decoration: underline; font-weight: bold;">Выбрать регион доставки</a></div>

<script type="text/javascript" src="//glavpunkt.ru/js/modules_cms/inSales/courier.js"></script>

<script type="text/javascript">
$(function() {
  Glavpunkt.inSales.init({
    'deliveryId': 1203418,
    'fieldId': 6555133,
    'isPrePaid': true,
  });
});
</script>
    

На этом шаге очень важно внутри кода заменить цифры, которые мы достали на предыдущих шагах.


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


PS: Если нужно предоставить свои тарифы, есть специальная функция: onTarifRecieved. В нее передается выбранный пункт выдачи либо null (если пвз еще не выбран) и вторым параметром рассчитанный тариф.

На основе этих данных вы можете предоставить покупателю свой тариф.

Пример: в данном случае при стоимости доставки ниже 120р тариф для покупателя будет 0р, если свыше то 250р.

<div><a href="#" id="gp-select-punkt" style="text-decoration: underline; color: blue; font-size: 1.2em;">
Выбрать пункт выдачи на карте</a></div>

<script type="text/javascript" src="//glavpunkt.ru/js/punkts-widget/glavpunkt.js"></script>
<script type="text/javascript" src="//glavpunkt.ru/js/modules_cms/inSales/points.js"></script>

<script type="text/javascript">
$(function() {
  Glavpunkt.inSales.init({
    'deliveryId': 501951,
    'fieldId': 3311734,
    'isPrePaid': true,
    'onTarifRecieved' : function(punktInfo, tarif) {
      if (tarif <= 120) {
        return 0;
      } else {
        return 250;
      }
    }
  });
});
</script>
    

Пример 2: в данном случае при стоимости заказа свыше 5000р тариф для покупателя будет 0р.

<div><a href="#" id="gp-select-punkt" style="text-decoration: underline; color: blue; font-size: 1.2em;">
Выбрать пункт выдачи на карте</a></div>

<script type="text/javascript" src="//glavpunkt.ru/js/punkts-widget/glavpunkt.js"></script>
<script type="text/javascript" src="//glavpunkt.ru/js/modules_cms/inSales/points.js"></script>

<script type="text/javascript">
$(function() {
  Glavpunkt.inSales.init({
    'deliveryId': 501951,
    'fieldId': 3311734,
    'isPrePaid': true,
    'onTarifRecieved' : function(punktInfo, tarif) {
        if (Glavpunkt.inSales.price >= 5000) {
          return 0;
        } else {
          return tarif;
        }
    }
  });
});
</script>

    

Пример 3: увеличивает стоимость доставки для СПБ, МСК, а также увеличивает количество дней доставки +10 дней, +150р Санкт-Петербург / Москва.
Для увеличения срока доставки требуется определить addToDperiod в "widgetParams" с указанием количества дней, как в примере ниже. Для определения условий по городам определить onTarifRecieved, установить условия проверки городов, увеличить цену при совпадении.

<script type="text/javascript">
    $(function() {
        Glavpunkt.inSales.init({
            'deliveryId': 1203418,
            'fieldId': 6555133,
            'isPrePaid': true,
            'widgetParams': {
                addToDperiod: 10
            },
            'onTarifRecieved' : function(punktInfo, tarif) {
                if(punktInfo.city == 'Санкт-Петербург' || punktInfo.city == 'Москва'){
                    tarif += 150;
                }
                return tarif;
            }
        });
    });
</script>
    

В случае, если возникнут сложности, пишите на почту info@glavpunkt.ru

по вопросам сотрудничества

Любовь Артман

Руководитель направления
info@glavpunkt.ru
СПб: (812) 324-33-44
Мск: (499) 110-56-94