В том числе вы можете настроить расчет крупногабаритных доставок разными типами грузовых авто с вашего склада, например стройматериалов
На этой странице выбор зоны реализован через выбор города. Аналогично можно создать несколько зон внутри одного города.
На этой странице для Москвы адрес склада отгрузки зафиксирован, а для Санкт-Петербурга нет (на случай если вам это не нужно)
В настройках есть возможность разрешить/запретить оформление заказа. Если оформление включено, то виджет отправит заказ с выбранными параметрами доставки вам на электронную почту или в CRM/CMS
Настроить внешний вид можно с помощью css под дизайн конкретного сайта (цвета, шрифт, форма и расположение блоков)
Этот виджет вы можете встроить в любой сайт, подключить к любой CMS, разрешающей использование внешних скриптов. Для этого достаточно разместить код виджета в нужное место на сайте.
Доступные события смотрите ниже в блоке Подключение и настройка.
1. Создайте и настройте аккаунт в сервисе eShopLogistic. Порядок действий описан здесь.
2. Выполните подключение виджета к сайту по документации ниже.
Если что-то не получается - напишите нам через Telegram или в раздел «Поддержка» в нашем кабинете, мы обязательно поможем!
Помимо параметров настройки виджета в личном кабинете, некоторые настройки можно применять прямо при установке виджета.
Это позволяет переопределять указанные в личном кабинете базовые настройки (например, в зависимости от каких-то условий на сайте).
Обязательным параметром, который должен быть указан и не может быть изменён, является ключ виджета - data-key.
| Параметр | Описание |
|---|---|
| data-key | Ключ виджета. Указан в настройках виджета на вкладке «Подключение на сайте». |
| data-lazy-load |
Установите значение Пример:
|
| data-zone |
Если у вас настроено несколько направлений доставки, можно при запуске виджета определить нужное направление. На вкладке «Установка и примеры» приведён пример переключения направлений доставки - так , как это реализовано на данной странице выше. |
| data-offers |
Необязательный параметр, если вы хотите добавить в форму значения веса, цены и габаритов по умолчанию. JSON-строка с данными груза. Состоит из элементов: Пример:
|
| data-user |
JSON-строка с данными пользователя. Если на сайте авторизованный пользователь, то можно вывести его данные в виджет при оформлении заказа (просто чтобы пользователю не нужно было заполнять их). Доступные элементы: Пример:
|
Параметры, отмеченные , - обязательны.
Доступно 10 функций обратного вызова для каждого ключевого события или ошибки:
Пример использования:
<script>
document.addEventListener('DOMContentLoaded', () => {
const root = document.getElementById('eShopLogisticWidgetDistance');
if(root) {
root.addEventListener('eShopLogisticWidgetDistance:onGetRoute', (event) => {
console.log('Событие onGetRoute', event.detail)
})
}
</script>
После регистрации на нашей платформе добавьте ключ доступа и нужные вам службы доставки.
Настройте параметры и функционал виджета по документации.
Общий порядок действий для подключения сервиса eShopLogistic на ваш сайт или в МойСклад описан здесь. Подключайтесь по документации и используйте все возможности интеграции со службами доставки для вашего бизнеса.
1. Добавить блок виджета:
<div id="eShopLogisticWidgetDistance" data-lazy-load="false" data-key="000000-00-00"></div>
2. Настроить событие запуска виджета (при data-lazy-load="true"):
<script>
document.addEventListener('DOMContentLoaded', () => {
document.getElementById('ваш_элемент').addEventListener('click', event => {
document.getElementById('eShopLogisticWidgetDistance').dispatchEvent(new CustomEvent('eShopLogisticWidgetDistance:loadApp'))
})
})
</script>
3. Подключить виджет:
<script src="https://api.esplc.ru/widgets/distance/app.js"></script>
Примеры
Переключение направлений доставки
<!-- Добавим выбор направлений доставки -->
<select id="distanceZone">
<option value="66338eee42e2b">Москва</option>
<option value="663391e181dc6">Санкт-Петербург</option>
</select>
<script>
document.addEventListener('DOMContentLoaded', () => {
document.getElementById('distanceZone').addEventListener('change', event => {
document.getElementById('eShopLogisticWidgetDistance').dispatchEvent(new CustomEvent('eShopLogisticWidgetDistance:updateParamsRequest', {
detail: {
requestParams: {
zone: event.target.value
}
}
}))
})
})
</script>