Выберите нужные транспортные компании - они автоматически появятся в виджете.
Виджет может отправить заказ с выбранными параметрами доставки на электронную почту или в CRM/CMS
Выберите одну из платёжных систем и при выборе варианта оплаты «Картой на сайте» -
клиент сможет оплатить заказ прямо в виджете.
Разрешенные типы оплат и их названия настраиваются в личном кабинете.
Этот виджет вы можете встроить в любой сайт, подключить к любой CMS, разрешающей использование внешних скриптов. Для этого достаточно разместить код виджета в нужное место на сайте.
Настроить внешний вид можно с помощью css под дизайн конкретного сайта (цвета, шрифт, форма и расположение блоков).
Можно настроить запуск виджета на любую кнопку или другой элемент страницы.
Купить кроссовки с доставкой
Цена: 6 500 рублей
Для запуска виджета кликнете по кнопке «Быстрый заказ с доставкой».
По умолчанию город-отправитель используется тот, который указан в настройках
соответствующего ключа (в данном случае - Москва),
но его можно изменить при необходимости через атрибут data-from.
Например для определенного бренда подставлять в город-отправитель Екатеринбург.
Виджет реагирует на изменение количества товара в форме.
Подробнее на вкладке «Установка и примеры» ниже.Помимо параметров настройки виджета в личном кабинете, некоторые настройки можно применять прямо при установки виджета.
Это позволяет переопределять указанные в личном кабинете базовые настройки (например, в зависимости от каких-то условий на сайте).
Обязательным параметром, который должен быть указан и не может быть изменён, является ключ виджета - data-key
.
Параметр | Описание |
---|---|
data-key | Ключ доступа |
data-from |
Изменение города-отправителя. В качестве значения используется ФИАС-код или название населённого пункта. Примеры (изменит город-отправитель на «Тверь»): Внимание! Данный параметр не будет работать, если в личном кабинете указаны варианты городов-отправителей (поле «Установить города-отправители»). Рекомендуется указывать города-отправители в личном кабинете, это уменьшит количество запросов к сервису. |
data-offers |
JSON-строка с данными набора товаров. По клику на кнопке, вместо 1 товара вы можете добавить в виджет сразу несколько. Например, содержимое корзины посетителя (если у вас уже используется штатная корзина) или набор связанных товаров. Важно! Обязательные элементы: Дополнительно можно (и желательно) указать габариты единицы товара: Пример:
|
data-user |
JSON-строка с данными пользователя. Если на сайте авторизованный пользователь, то можно вывести его данные в виджет при оформлении заказа (просто чтобы пользователю не нужно было заполнять их). Доступные элементы: Пример:
|
data-ip |
IP-адрес посетителя для автоматического определения города. Может быть получен средствами CMS или напрямую, например посредством php:
|
data-order |
Если в настройках виджета в нашем личном кабинете Вы настроили отправку заказа,
но на определённой странице не хотите разрешать отправку заказа, установите значение Удобно при использовании виджета при встраивании в панель управления CMS или иных сервисов, а также для вывода виджета на информационных страницах без привязки к товарам, например «Доставка». |
data-terminal-delivery-default |
Выбрать указанную транспортную компанию по умолчанию для варианта «курьер». По умолчанию виджет выбирает самый дешёвый вариант. |
data-door-delivery-default |
Выбрать указанную транспортную компанию по умолчанию для варианта «самовывоз». По умолчанию виджет выбирает самый дешёвый вариант. |
data-controller |
Если вы хотите, чтобы запросы от виджета шли не напрямую к нашему серверу, а через какой-то контроллер, укажите URL в этом атрибуте. Актуально для логгирования или отладки. |
Параметры, отмеченные , - обязательны.
Доступно 10 функций обратного вызова для каждого ключевого события или ошибки:
Пример использования:
‹script›
document.addEventListener('DOMContentLoaded', () => {
const root = document.getElementById('eShopLogisticWidgetBlock');
root.addEventListener('eShopLogisticWidgetBlock:onLoadApp', (event) => {
console.log('Событие onLoadApp', event.detail)
});
root.addEventListener('eShopLogisticWidgetBlock:onSelectedService', (event) => {
console.log('Событие onSelectedService', event.detail)
})
// ...
})
1. Добавьте ключ доступа. Далее к данному ключу можно добавлять любое количество любых виджетов.
2. Выберите нужный тип виджета. После добавления виджета автоматически произойдёт переход к его настройке.
1. Добавить в нужное место на странице элемент запуска виджета.
Обязательный атрибут: data-esl-widget
:
‹button data-esl-widget data-title="Быстрый заказ с доставкой"›Быстрый заказ с доставкой‹/button›
2. Добавить блок виджета:
‹div id="eShopLogisticWidgetModal"
data-lazy-load="true"
data-key="539826-6-14"
data-offers='[{ "article":91,"name":"Радиотелефон DECT Siemens","count":1,"price":304,"weight":1 }]'›
‹/div›
3. Подключить виджет:
‹script src="https://api.esplc.ru/widgets/modal/app.js"›‹/script›
Виджет запускается с теми data-атрибутами (элемента с идентификатором "eShopLogisticWidgetModal"), которые указаны в момент клика по элементу запуска. Т.е. все data-атрибуты можно менять и при новом запуске виджета он примет новые параметры.
Примеры
1. Изменение параметров запуска виджета через data-атрибуты элемента запуска виджета
Например, нужно изменить какой-то параметр (или все сразу: заголовок окна виджета, город отправления, состав заказа) при клике на кнопку.
Добавим кнопку в data-атрибутом data-esl-widget и нужными параметрами; при клике на неё виджет запустится с указанными параметрами:
‹button data-esl-widget
data-title="Быстрый заказ с доставкой"
data-from="7b6de6a5-86d0-4735-b11a-499081111af8"
data-offers="[{ "article":91,"name":"Радиотелефон DECT Siemens","count":2,"price":304,"weight":1 }]" ›
Запустить виджет
‹/button›
2. Изменение параметров запуска виджета через изменение data-атрибутов корневого элемента виджета
Корневой элемент, это элемент с с идентификатором "eShopLogisticWidgetModal". Вы можете установить для него нужные парметры через dataset и виджет запустится с указанными параметрами. Например, изменим количество товара:
‹script›
document.addEventListener('DOMContentLoaded', () => {
const root = document.getElementById('eShopLogisticWidgetModal')
let offers = JSON.parse(root.dataset.offers)
document.getElementById('productCounter').addEventListener('change', event => {
if(typeof offers[0] === 'object') {
offers[0].count = event.target.value
root.dataset.offers = JSON.stringify(offers)
}
})
})
‹/script›
3. Закрыть модальное окно программно
Например, закрыть окно при выборе ПВЗ или варианта курьерской доставки: