Виджет для выбора пункта выдачи по РФ

Виджет служит для выбора покупателем интернет-магазина удобного для него пункта выдачи.

Пример выбора способа доставки и пункта выдачи





Инструкция для вставки виджета на свой сайт

// Добавьте следующий код в шапку сайта
<script type="text/javascript" src="//glavpunkt.ru/js/punkts-widget/glavpunkt.js"> </script>

// Вставить ссылку для открытия виджета:
<a href="#" onclick="glavpunkt.openMap(selectPunkt); return false;">Выбрать пункт выдачи на карте</a>

// Определить свою функцию для обработки выбранного пункта:
<script type="text/javascript">
function selectPunkt(punktInfo) {
  console.log("Город: " + punktInfo.city);
  console.log("ID пункта выдачи: " + punktInfo.id);
  console.log("Название (метро или адрес): " + punktInfo.name);
  console.log("Адрес: " + punktInfo.address);
  console.log("Телефон: " + punktInfo.phone);
  console.log("Email (только для Санкт-Петербурга): " + punktInfo.email);
  console.log("График работы: " + punktInfo.work_time);
}
</script>

Настройка городов и пунктов выдачи

Список городов в формате xlsx

Для параметров onlyCity, onlyCities, defaultCity, excludeCities можно указывать только названия городов.

// открыть карту по России с отображением Питера по-умолчанию
glavpunkt.openMap(selectPunkt);

// типовое подключение для Московских интернет-магазинов. Показаны ПВЗ в Мск (по-умолчанию) и Спб
glavpunkt.openMap(selectPunkt, { 'onlyCities': ['Москва', 'Санкт-Петербург'], 'defaultCity': 'Москва' });

// открыть карту только с пунктами Воронежа
glavpunkt.openMap(selectPunkt, { 'onlyCity': 'Воронеж' });

// открыть карту по России с отображением Воронежа по-умолчанию
glavpunkt.openMap(selectPunkt, { 'defaultCity': 'Воронеж' });

// открыть карту по России без Воронежа
glavpunkt.openMap(selectPunkt, { 'excludeCities': ['Воронеж'] });

// открыть карту по России с отображением Питера по-умолчанию, без пункта "Академическая"
glavpunkt.openMap(selectPunkt, { 'defaultCity': 'Воронеж', 'excludePvzs': ['Akademicheskaya-N17k2'] });

// отображать тариф за доставку по РФ в окне с информацией о пункте
glavpunkt.openMap(selectPunkt, { 'showTarif': 1 });

// не отображать интервал доставки в окне с информацией о пункте
glavpunkt.openMap(selectPunkt, { 'disableDperiod': true });

// увеличить интервал доставки на указанное кол-во дней
glavpunkt.openMap(selectPunkt, { 'addToDperiod': 1 });

// удалить объект виджета, чтобы проинициализировать его с другими параметрами
glavpunkt.destroy();

Пример сочетания выбора ПВЗ по России и подсчета тарифа

<script type="text/javascript">
  function selectPunkt(punktInfo) {
    var name = punktInfo.name;
    if (name != punktInfo.address) {
      name += ', ' + punktInfo.address;
    }
    $('#selectedPunkt').text(name);

    console.log("Город: " + punktInfo.city);
    console.log("ID пункта выдачи: " + punktInfo.id);
    console.log("Название (метро или адрес): " + punktInfo.name);
    console.log("ID пункта выдачи: " + punktInfo.address);
    console.log("Телефон: " + punktInfo.phone);
    console.log("Email (только для Санкт-Петербурга): " + punktInfo.email);
    console.log("График работы: " + punktInfo.work_time);


    // посчитать тариф через API

    $.getJSON( "//glavpunkt.ru/api/get_tarif", {
      'serv': 'выдача',
      'cityFrom': 'Санкт-Петербург',
      'cityTo': punktInfo.city,
      'weight': 1,
      'price': 1000,
      'paymentType': 'cash',
      'punktId': punktInfo.id
    }).done(function(data) {
      if (data.result == 'ok') {
        console.log('Тариф (за выдачу):', data.tarif);
      } else if (data.result == 'error') {
        console.log('Ошибка подсчета тарифа', data.message);
      } else {
        console.log('Ошибка подсчета тарифа (неверный ответ от сервера)', data);
      }
    }).fail(function(jqXHR, textStatus, errorThrown) {
        console.log('Ошибка подсчета тарифа (неверный ответ от сервера)', textStatus);
    });
  }
</script>

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

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

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