Этот виджет удобно использовать если вы хотите разместить на сайте простой информационный калькулятор доставки без связи с конкретными товарами и корзиной сайта.
Виджет может автоматически определять город отправления и доставки, а также задавать параметры груза.
Список возможных городов отправителей при необходимости можно ограничить в личном кабинете, как сделано на этой странице.
Выберите в настройках используемые вами службы доставки, и они автоматически появятся в виджете.
Если у транспортной компании есть разные тарифы, то в настройках виджета вы можете разрешить выбор тарифа для пользователей. На этой странице включен выбор тарифа для Сдэк и Почты России.
Если у транспортной компании есть дополнительные услуги, такие как обрешетка, страховка, подъем на этаж и т.п., в настройках виджета вы можете разрешить выбор дополнительных услуг, изменить их названия и вывести ваш комментарий, а также включить нужные вам по умолчанию. На этой странице выбор дополнительных услуг разрешен для Сдэк и Деловых Линий
Настроить внешний вид можно с помощью css под дизайн конкретного сайта (цвета, шрифт, форма и расположение блоков).
Этот виджет вы можете встроить в любой сайт, подключить к любой CMS, разрешающей использование внешних скриптов.
Для этого достаточно разместить код виджета в нужное место на сайте.
Виджет может автоматически определять город доставки по ip пользователя (если разрешить в настройках).
Список возможных городов отправителей при необходимости можно ограничить в личном кабинете,
как сделано на этой странице.
Порядок подключения:
1. Зарегистрируйтесь в личном кабинете: my.eshoplogistic.ru
2. Создайте ключ доступа и добавьте нужные транспортные компании
3. Для установки виджета воспользуйтесь инструкцией, указанной на вкладке «Установка и примеры»
Помимо параметров настройки виджета в личном кабинете, некоторые настройки можно применять прямо при установки виджета.
Это позволяет переопределять указанные в личном кабинете базовые настройки (например, в зависимости от каких-то условий на сайте).
Обязательным параметром, который должен быть указан и не может быть изменён, является ключ виджета - data-key
.
Параметр | Описание |
---|---|
data-key | Ключ доступа |
data-weight |
Вес по умолчанию, в кг |
data-dimensions |
Габариты по умолчанию, формат Д*Ш*В в сантиметрах Например: data-dimensions="25*15*10" |
data-title |
Изменяет заголовок окна виджета на указанный. Пример: data-title="Узнать стоимость доставки" |
data-from |
Изменение города-отправителя. В качестве значения используется ФИАС-код или название населённого пункта. Примеры (изменит город-отправитель на «Тверь»): Внимание! Данный параметр не будет работать, если в личном кабинете указаны варианты городов-отправителей (поле «Установить города-отправители») Рекомендуется указывать города-отправители в личном кабинете, это уменьшит количество запросов к сервису. |
data-lazy-load |
Управление автозагрузкой виджета. По умолчанию значение Пример:
Внимание! Рекомендуется исползовать этот режим в случае, если используется параметр data-from="..." и виджет установлен на странице с высокой посещаемостью (как обычных пользователей, так и ботов). Таким образом не будет производиться поиск города-отправителя при автозагрузке виджета, соответственно не будет большого количества запросов к сервису. |
data-ip |
IP-адрес посетителя для автоматического определения города. Может быть получен средствами CMS или напрямую, например посредством php:
|
data-price |
Стоимость товара по умолчанию |
Параметры, отмеченные , - обязательны.
1. Добавьте ключ доступа. Далее к данному ключу можно добавлять любое количество любых виджетов.
2. Выберите нужный тип виджета. После добавления виджета автоматически произойдёт переход к его настройке.
Подробно о настройке виджета смотрите в руководстве.
Для установки виджета на сайт необходимо вставить в код страницы контейнер для виджета и подключить js-скрипт:
<div id="eShopLogisticWidgetForm" data-lazy-load="false" class="eshoplogistic-widget-calculate" data-key="000000-0-0"></div>
<script src="https://api.esplc.ru/widgets/form/app.js"></script>
Параметр data-key
должен содержать ключ виджета, указанный в настройках виджета в личном кабинете:
Функции обратного вызова
Пример использования:
‹script›
document.addEventListener('DOMContentLoaded', () => {
const root = document.getElementById('eShopLogisticWidgetForm')
root.addEventListener('eShopLogisticWidgetForm:onLoadApp', (event) => {
console.log('Событие loadApp', event.detail)
})
root.addEventListener('eShopLogisticWidgetForm:onClickSubmit', (event) => {
console.log('Событие клика по кнопке "Рассчитать"', event.detail)
})
})
‹/script›
Методы
Важный нюанс: «под капотом» виджет использует общий для всех виджетов объект offers
, поэтому для обновления параметров веса, цены и габаритов необходимо
обновлять именно его; пример ниже.
Пример использования:
‹script›
// изменим габариты при изменении веса и перезапустим расчёт доставки
document.addEventListener('DOMContentLoaded', () => {
const root = document.getElementById('eShopLogisticWidgetForm'),
price = document.getElementsByClassName('eshoplogistic-theme-input-price'),
length = document.getElementsByClassName('eshoplogistic-theme-input-length'),
width = document.getElementsByClassName('eshoplogistic-theme-input-width'),
height = document.getElementsByClassName('eshoplogistic-theme-input-height')
document.addEventListener('input', (event) => {
if(event.target.classList.contains('eshoplogistic-theme-input-weight')) {
length[0].value = 50
width[0].value = 50
height[0].value = 50
root.dispatchEvent(
new CustomEvent('eShopLogisticWidgetForm:updateParamsRequest', {
detail: {
requestParams: {
offers: JSON.stringify([{
"count": 1,
"price": price[0].value,
"weight": event.target.value,
"dimensions": "50x50x50"
}])
}
}
})
)
}
})
})
‹/script›