Виджет встраивается в любое место на сайте.
Выберите в настройках используемые вами службы доставки, и они автоматически появятся в виджете.
Вес является обязательным для заполнения. Габариты в зависимости от настроек: обязятельными, как на этой странице, или не обязательными. Габариты можно оставить пустыми или предзаполненными.
Поле Откуда можно оставить доступным для указания любого населенного пункта, или зафиксировать только городами, откуда вы делаете отправки, как сделано на этой странице.
В настройках есть возможность разрешить/запретить оформление заказа. Если оформление включено, то виджет отправит заказ с выбранными параметрами доставки вам на электронную почту или в CRM/CMS. На этой странице оформление включено.
В настройках есть возможность разрешить онлайн оплату через одну из подключенных к нам платёжных систем.
Таким образом выбрав тип оплаты «Картой на сайте» клиент сможет оплатить заказ прямо в виджете.
Разрешенные типы оплат и их названия настраиваются в личном кабинете.
На данный момент доступна оплата через ЮKassa,
Альфа-банк и
PayKeeper,
Т-банк,
Точка.
Другие платежные сервисы и банки добавим по запросу.
На этой странице для примера при выборе DPD с оплатой Наличными при получении добавляется 100% наценка к стоимости доставки. Так же коррекцию стоимости и сроков можно настроить в зависимости от любых других параметров заказа.
Если у транспортной компании есть разные тарифы, то в настройках виджета вы можете разрешить выбор тарифа для пользователей. На этой странице включен выбор тарифа для Сдэк и Почты России.
Если у транспортной компании есть дополнительные услуги, такие как обрешетка, страховка, подъем на этаж и т.п., в настройках виджета вы можете разрешить выбор дополнительных услуг, изменить их названия и вывести ваш комментарий, а также включить нужные вам по умолчанию. На этой странице выбор дополнительных услуг разрешен для Сдэк и Деловых Линий
Настроить внешний вид можно с помощью css под дизайн конкретного сайта (цвета, шрифт, форма и расположение блоков)
Этот виджет вы можете встроить в любой сайт, подключить к любой CMS, разрешающей использование внешних скриптов.
Для этого достаточно разместить код виджета в нужное место на сайте.
Виджет может автоматически определять город доставки по ip пользователя (если разрешить в настройках).
Доступные события смотрите ниже в блоке Подключение и настройка.
1. Создайте и настройте аккаунт в сервисе eShopLogistic. Порядок действий описан здесь.
2. Выполните подключение виджета к сайту по документации ниже. Если что-то не получается, напишите нам через раздел «Поддержка» в нашем кабинете, мы обязательно поможем!
Помимо параметров настройки виджета в личном кабинете, некоторые настройки можно применять прямо при установки виджета.
Это позволяет переопределять указанные в личном кабинете базовые настройки (например, в зависимости от каких-то условий на сайте).
Обязательным параметром, который должен быть указан и не может быть изменён, является ключ виджета - data-key.
| Параметр | Описание |
|---|---|
| data-key | Ключ доступа |
| data-weight |
Вес по умолчанию, в кг Данный параметр может быть переопределён параметром data-offers |
| data-dimensions |
Габариты по умолчанию, формат Д*Ш*В в сантиметрах Например: data-dimensions="25*15*10" |
| data-title |
Изменяет заголовок окна виджета на указанный. Пример: data-title="Узнать стоимость доставки" |
| data-lazy-load |
Установите значение Пример:
Внимание! Рекомендуется исползовать этот режим в случае, если используется параметр data-from="..." и виджет установлен на странице с высокой посещаемостью (как обычных пользователей, так и ботов). Таким образом не будет производиться поиск города-отправителя при автозагрузке виджета, соответственно не будет большого количества запросов к сервису. |
| data-user |
JSON-строка с данными пользователя. Если на сайте авторизованный пользователь, то можно вывести его данные в виджет при оформлении заказа (просто чтобы пользователю не нужно было заполнять их). Доступные элементы: Пример:
|
| data-order |
Если в настройках виджета в нашем личном кабинете Вы настроили отправку заказа,
но на определённой странице не хотите разрешать отправку заказа, установите значение Удобно при использовании виджета при встраивании в панель управления CMS или иных сервисов, а также для вывода виджета на информационных страницах без привязки к товарам, например «Доставка». |
| data-terminal-delivery-default |
Выбрать указанную транспортную компанию по умолчанию для варианта «курьер». По умолчанию виджет выбирает самый дешёвый вариант. |
| data-door-delivery-default |
Выбрать указанную транспортную компанию по умолчанию для варианта «самовывоз». По умолчанию виджет выбирает самый дешёвый вариант. |
| data-controller |
Если вы хотите, чтобы запросы от виджета шли не напрямую к нашему серверу, а через какой-то контроллер, укажите URL в этом атрибуте. Актуально для логгирования или отладки. |
Параметры, отмеченные , - обязательны.
Функции обратного вызова
Доступно 10 функций обратного вызова для каждого ключевого события или ошибки:
Пример использования:
<script>
document.addEventListener('DOMContentLoaded', () => {
const root = document.getElementById('eShopLogisticWidgetFormOrder');
root.addEventListener('eShopLogisticWidgetFormOrder:onLoadApp', (event) => {
console.log('Событие onLoadApp', event.detail)
});
root.addEventListener('eShopLogisticWidgetFormOrder:onSelectedService', (event) => {
console.log('Событие onSelectedService', 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›
1. Добавьте ключ доступа. Далее к данному ключу можно добавлять любое количество любых виджетов.
2. Выберите нужный тип виджета. После добавления виджета автоматически произойдёт переход к его настройке.
Подробно о настройке виджета смотрите в руководстве.
1. Добавить блок виджета:
<div id="eShopLogisticWidgetFormOrder"
data-key="000000-0-0"
data-lazy-load="false"
data-dimensions="25*15*10"
data-price="1500"
data-weight="1">
</div>
2. настроить событие запуска виджета:
<script>
document.addEventListener('DOMContentLoaded', () => {
document.getElementById('ваш_элемент').addEventListener('click', event => {
document.getElementById('eShopLogisticWidgetFormOrder').dispatchEvent(new CustomEvent('eShopLogisticWidgetFormOrder:loadApp'))
})
})
</script>
3. Подключить виджет:
<script src="https://api.esplc.ru/widgets/form-order/app.js"></script>