Описание
Плагин представляет собой интеграцию WordPress (WooCommerce) со службами доставки через интеграционный сервис eShopLogistic. Подробная информация по возможностям и тарифам платформы на сайте eshoplogistic.ru.
Интеграция со всеми службами доставки в одном решении: СДЭК, DPD, Яндекс Доставка, 5Post, Деловые Линии, ПЭК, Почта России, КИТ, Байкал Сервис, Желдорэкспедиция, Возовоз, Энергия, Магнит Пост, Grastin, Logsis, Интеграл. Другие нужные вам ТК подключим по запросу.
Для работы приложения необходимо зарегистрировать аккаунт в eShopLogistic, и выполнить в личном кабинете eShopLogistic базовые настройки по интеграции со всеми нужными вам службами доставки. В WooCommerce настраивается только то, что касается работы плагина с подключенными службами доставки. Расчет доставки в WooCommerce работает по всем подключенным к eShopLogistic службам доставки. Выгрузка заявок на доставку в кабинеты служб доставок на сегодняшний день реализована для СДЭК, DPD, Яндекс Доставка, 5Post, Почта России, Деловые Линии, ПЭК и Байкал Сервис. Остальные службы доставки добавим постепенно, по мере развития плагина и запросов пользователей.
Основные возможности:
- Расчет доставки в корзине, карточке товара или любой другой странице всеми нужными вам службами доставки
- Отображение всех служб доставки и их ПВЗ в едином виджете, или использование отдельных методов доставки для каждой транспортной компании
- Учет веса и габаритов товаров: из карточек товаров или значений по умолчанию
- Гибкие правила корректировки стоимости и сроков доставки
- Выгрузка заказов в кабинеты служб доставки из админки WooCommerce в едином интерфейсе
- Получение трек-номера
- Печать ярлыков для отправлений из админки WooCommerce
- Синхронизация статусов заказов WooCommerce со статусами служб доставки
- Создание заказов в кабинетах служб доставки с предоплатой или наложенным платежом
- Возможность ручной коррекции грузовых мест и их параметров при выгрузке заказов в службы доставки
- Удаление заказа из кабинета службы доставки
Плагин работает корректно только на шаблонах со стандартной не кастомизированной логикой чекаута WooCommerce. Если чекаут не стандартный, потребуется кастомизация модуля.
Если что-то не получается — напишите нам через Telegram, Max, чат или в раздел «Поддержка» в нашем кабинете, мы обязательно поможем!
Требования:
— WordPress 6.0+
— WooCommerce 4.0+
— PHP 7.4+
Поддержка режимов оформления заказа:
Совместим как с классическим оформлением заказа через шорткод ([woocommerce_checkout]), так и с блочным WooCommerce Checkout.
Подробная документация и демо: wp.eshoplogistic.ru
Внешние сервисы
Плагин подключается к сервису eShopLogistic для расчёта стоимости доставки и выгрузки заказов в службы доставки. Он обменивается данными со следующими сторонними сервисами:
- API eShopLogistic (
api.eshoplogistic.ru,api.esplc.ru) — бэкенд самого сервиса eShopLogistic (сервиса, с которым интегрируется плагин). PHP-код плагина (на сервере, черезHttp/WpHttpClient.php) отправляет туда: API-ключ аккаунта, содержимое корзины/заказа, необходимое для расчёта стоимости (артикул, название, количество, цена, вес, габариты), город отправления/назначения, выбранный способ оплаты, а при оформлении заказа — адрес доставки покупателя и позиции заказа, чтобы заказ можно было создать/выгрузить/отследить в системе службы доставки. Это происходит при каждом просмотре корзины, оформления заказа или страницы товара с включённым расчётом доставки, а также при оформлении заказа. См. Договор оферты eShopLogistic и Политику конфиденциальности. - Встраиваемый виджет-бандл eShopLogistic (
https://api.esplc.ru/widgets/{cart,modal,block}/app.js, который подгружает версионированный JS/CSS-бандл с хэшированными именами файлов с того же доменаapi.esplc.ru) — это живой, самообновляющийся интерфейс калькулятора доставки для корзины, товара и оформления заказа, по аналогии со встраиваемым виджетом онлайн-чата: команда eShopLogistic обновляет этот бандл независимо от релизов плагина, а имена файлов меняются при каждом таком обновлении, поэтому вшить их статично в плагин без риска устаревания невозможно. Загружается только на страницах, где отображается виджет доставки (страница товара, корзина, оформление заказа), и после загрузки обращается к тому же API eShopLogistic выше (передавая содержимое корзины и IP-адрес посетителя для определения города), чтобы показать тарифы и пункты выдачи. Действуют те же Условия использования и Политика конфиденциальности, указанные выше. Второй, более старый интерфейс виджета (используется в режимах отображения вкладки товара «static» и «modal») вшит в плагин локально (assets/css/widget-*.css,assets/js/widget-*.js) и не загружается удалённо. - Yandex Maps API (
api-maps.yandex.ru) — загружается при каждом открытии модального окна выбора пункта выдачи (ПВЗ), чтобы браузер посетителя мог отобразить метки пунктов выдачи на интерактивной карте. Указание собственного API-ключа Яндекс Карт в настройках плагина не обязательно: без ключа карта и метки пунктов выдачи всё равно работают, отключается только элемент поиска по улице/метро на карте; если ключ указан, он добавляется к запросу к API. См. Условия использования Яндекса и Политику конфиденциальности Яндекса. - Подсказки адресов DaData (
suggestions.dadata.ru) — локально вшитый интерфейс виджета вкладки товара и модального окна (см. пункт 2) использует этот сервис, чтобы подсказывать подходящие российские адреса, пока покупатель вводит адрес доставки: браузер посетителя отправляет вводимый текст адреса вместе с API-токеном, выданным eShopLogistic, напрямую наsuggestions.dadata.ru. Работает только пока покупатель вводит текст в поле адреса доставки этого виджета. См. Условия использования DaData и Политику конфиденциальности DaData. - Google Fonts (
fonts.googleapis.com) — тот же интерфейс виджета загружает веб-шрифт «Roboto» (лицензия SIL Open Font License) с Google Fonts для собственного оформления. См. FAQ Google Fonts и Политику конфиденциальности Google.
Благодарности
Плагин включает следующие сторонние библиотеки:
- Bootstrap 4.6.0 — лицензия MIT
- Font Awesome Free 5.15.3 — иконки: CC BY 4.0, шрифты: SIL OFL 1.1, код: лицензия MIT
Скриншоты








Установка
- После активации плагина перейдите в раздел «WC eShopLogistic» в меню админ-панели WordPress.
- Введите API-ключ из своего аккаунта eShopLogistic (my.eshoplogistic.ru).
- Сопоставьте способы оплаты WooCommerce со способами оплаты eShopLogistic в настройках плагина.
- Настройте способы доставки в WooCommerce (WooCommerce Настройки Доставка Зоны доставки).
- Завершите настройку плагина, следуя документации.
Часто задаваемые вопросы
-
Нужен ли для работы плагина аккаунт eShopLogistic?
-
Yes. The plugin is a front-end/checkout integration for the eShopLogistic shipping service. You need an account and API key from my.eshoplogistic.ru to calculate rates, show pickup points and export orders.
-
Какие службы доставки поддерживаются?
-
СДЭК, DPD, Яндекс Доставка, 5Post, Деловые Линии, ПЭК, Почта России, КИТ, Байкал Сервис, Желдорэкспедиция, Возовоз, Энергия, Магнит Пост, Грастин, Logsis, Интеграл и другие — точный список доступных служб доставки зависит от того, что включено в вашем аккаунте eShopLogistic.
-
Работает ли плагин с блочным оформлением заказа WooCommerce (Gutenberg)?
-
Да. Поддерживаются одновременно и классическое оформление заказа через шорткод (
[woocommerce_checkout]), и блочное. -
Нужен ли API-ключ Яндекс Карт?
-
Нет, карта пунктов выдачи (ПВЗ) работает «из коробки» без ключа. Указание собственного API-ключа Яндекс Карт в настройках плагина — опционально, оно только включает поиск по улице/метро на карте.
Отзывы
Участники и разработчики
«eShopLogistic Shipping Calculator» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«eShopLogistic Shipping Calculator» переведён на 1 язык. Благодарим переводчиков за их работу.
Перевести «eShopLogistic Shipping Calculator» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
Журнал изменений
3.1.59
- Block checkout: an order without a selected delivery service or pickup point is now rejected before it leaves the draft status, so incomplete orders no longer appear in the admin panel (WooCommerce 9.9+).
3.1.58
- Обновлены описание плагина, список служб доставки, шаги установки, скриншоты и иконка.
3.1.57
- Кнопка «Выбрать способ доставки» теперь скрывается, если для выбранного города нет доступных вариантов доставки, а вместо количества служб выводится сообщение «Нет вариантов доставки».
- Если виджет доставки сообщает, что в выбранный город нет доступных служб, ранее выбранная служба и стоимость сбрасываются, и оформить заказ без корректного выбора нельзя.
- При смене города в виджете доставки ранее выбранная служба доставки теперь сбрасывается, поэтому старая служба и стоимость больше не отображаются для нового города.
3.1.54
- Выбранный покупателем тариф доставки теперь надёжнее сохраняется в заказе, в том числе когда доставка была рассчитана ранее в виджете доставки.
- Улучшено определение адреса пункта выдачи.
- Уточнены условия применения ставки НДС к доставке.
- Исправлено название типа оплаты в выгружаемых заказах.
- Формат печати этикеток теперь зависит от типа заказа, а размер бумаги обновляется при изменении выбора печати.
- Трек-номера теперь берутся из ответа службы доставки — это улучшает обновление статусов заказов.
- Обновлены названия и ширина столбцов в таблице выгрузки заказов.
- Для «смешанного» способа доставки на странице оформления заказа теперь обязательно выбрать вариант доставки перед оформлением заказа.
- Исправлены ошибки в виджете доставки, когда поиск города не находит результатов.
3.1.42
- Исправлена регистрация заказов СДЭК как отправленных третьим лицом, а не отправителем: настройка «Название компании» теперь задаётся отдельно для каждой службы доставки (на её собственной вкладке настроек) вместо одного общего значения для всех служб и больше недоступна для СДЭК, поскольку её передача приводила к такой ошибке.
- Для разработчиков добавлена возможность тонкой настройки расчёта доставки и выгрузки заказов для магазинов с особыми требованиями.
- Улучшена документация плагина: более понятное описание возможностей, требований и шагов настройки.
- На странице оформления заказа калькулятор доставки теперь выводится после списка тарифов доставки, а не перед ним.
- Добавлены новые варианты печати заказов, улучшены кнопки печати.
- Улучшен экран админки: элементы страницы больше не перекрывают друг друга.
- Улучшено объединение нескольких товаров в одно грузовое место для СДЭК и DPD.
- Удалены лишние проверки, которые могли мешать при настройке дополнительных услуг доставки.
- Улучшен экран настроек объединения грузовых мест, исправлены отступы вокруг кнопки «Добавить».
- Улучшено объединение грузовых мест для СДЭК и DPD: теперь для страхования можно передавать полный состав заказа.
- После выбора фиксированного тарифа доставки тип доставки больше нельзя изменить.
- Добавлена поддержка опции «наложенный платёж» для СДЭК.
- Данные заказа, передаваемые в службы доставки, теперь содержат дополнительный идентификатор получателя — этого требуют некоторые службы.
- Поле трек-номера теперь показывает понятное сообщение, если служба доставки ещё не присвоила номер, вместо того чтобы оставаться пустым.
- Уточнено сообщение, отображаемое при перетаскивании статусов заказов.
- Для наглядности переименована вкладка настроек: «Оплата и виджет» теперь называется «Типы оплат».
- Обновлён внешний вид подсказок и полей формы в настройках.
- Добавлена поддержка отображения платных дней доставки в настройках аккаунта.
- Кнопка калькулятора доставки теперь автоматически становится активной или неактивной в зависимости от выбранного города и способа доставки.
- Исправлена формулировка сообщения о доступных вариантах доставки.
- Добавлены шорткоды для вывода ссылки на отслеживание и кода получения на сайте.
- Добавлен индикатор загрузки при поиске города на карте пунктов выдачи.
2.2.26
- Удалена служба доставки Boxberry (прекратила работу): вкладка настроек, её методы доставки и сопоставление полей при выгрузке заказов. Уже выгруженные заказы, оформленные через Boxberry, по-прежнему корректно отображаются в истории заказов.
2.2.25
- Стили и скрипты виджета вкладки товара теперь вшиты в плагин локально вместо загрузки со стороннего домена во время работы.
- Прямые вызовы cURL заменены на HTTP API WordPress (
wp_remote_post()) в прокси данных виджета и в резервном механизме при ошибках SSL. - Добавлено ограничение частоты запросов по IP для REST-эндпоинта создания заказов — дополнительный уровень защиты помимо опционального секретного ключа виджета.
- Данные POST-запроса к REST-эндпоинту виджета теперь санитизируются (кроме исходного JSON
offers, который очищается позже по цепочке обработки). - Уточнено описание внешних сервисов — теперь точно описывает живой, самообновляющийся бандл виджета корзины и оформления заказа.
- Переименовано неиспользуемое устаревшее AJAX-действие без префикса; удалена мёртвая ссылка на глобальную переменную стороннего плагина.
2.2.24
- Исправлен недействительный Author URI.
- Обновлён встроенный Bootstrap до версии 4.6.2 (последний релиз ветки 4.x).
- Расширено описание внешних сервисов: добавлены конкретные сведения о передаваемых данных и прямые ссылки на Условия использования и Политику конфиденциальности eShopLogistic.
- Публичный REST-эндпоинт данных виджета ограничен пространством методов
widget/*, чтобы через него нельзя было обратиться к методам управления аккаунтом или заказами. - Повторно включена проверка секретного ключа виджета для REST-эндпоинта создания заказов (действует только если ключ задан в настройках).
- Из имён ключей временного кэша тарифов доставки удалён «сырой» API-ключ.
- В панель выгрузки заказов в админке добавлена проверка прав доступа — предотвращает раскрытие данных заказов неавторизованным пользователям.
- Данные POST-запроса к REST-эндпоинту виджета теперь санитизируются перед использованием.
- Экранированы оставшиеся неэкранированные атрибуты вывода шорткодов.
- Внутренние PHP-функции-обработчики переименованы для единообразного использования префикса плагина
wc_esl_.
2.2.23
- Сокращено отображаемое название плагина в соответствии с требованиями каталога WordPress.org (устранён переспам ключевыми словами).
- Уведомление о зависимости от WooCommerce переведено на хук admin_notices и переводимые строки вместо прямого echo.
2.2.22
- Подготовка к публичному релизу в каталоге плагинов WordPress.org.