Доставка Европочтой, Белпочтой и СДЭК: модули для интернет-магазина
Доставка — место, где интернет-магазины в Беларуси чаще всего теряют заказы. Покупатель доходит до оформления, видит «Стоимость доставки уточнит менеджер» или выпадающий список из 600 отделений без поиска — и уходит. Разберу, какие есть варианты интеграции со службами доставки, что реально умеют модули и на что смотреть при выборе.
Три уровня интеграции
1. Фиксированная цена или таблица. В магазине задаются тарифы вручную: «Европочта — 6 BYN», «курьер по Минску — 10 BYN, бесплатно от 150 BYN». Ни к какому API не подключаемся.
Плюсы: работает всегда, ничего не ломается. Минусы: цена неточная, если вес и размеры товаров сильно отличаются; пункт выдачи покупатель пишет текстом в комментарии.
2. Расчёт стоимости и выбор пункта выдачи. Модуль обращается к API службы доставки, считает стоимость по весу и адресу и показывает карту или список пунктов с поиском.
Плюсы: точная цена, покупатель сам выбирает отделение, меньше ошибок в адресах. Минусы: зависимость от API — если служба доставки недоступна, оформление может зависнуть.
3. Полная интеграция. Модуль не только считает, но и создаёт отправление в личном кабинете службы доставки, получает трек-номер, отправляет его покупателю и обновляет статус заказа.
Плюсы: менеджер не переписывает заказы вручную. Минусы: дороже в настройке, нужен договор со службой доставки и доступ к API.
Для небольшого магазина обычно достаточно второго уровня. Третий окупается от нескольких десятков отправок в день.
СДЭК
У СДЭК открытый API и официальные модули для популярных CMS, включая WooCommerce и OpenCart, плюс много сторонних.
Что нужно:
- договор со СДЭК (для расчёта по договорным тарифам) и ключи API из личного кабинета;
- у всех товаров заполнены вес и габариты — без них расчёт будет неверным или упадёт;
- адрес отправки — склад или пункт приёма.
На что смотреть в модуле:
- выбор пункта выдачи на карте с поиском;
- кэширование списка пунктов — без него оформление тормозит;
- что происходит, если API не ответил: должна показаться резервная цена, а не пустое место;
- поддержка тестового режима.
СДЭК работает и по Беларуси, и с доставкой в Россию — это удобно магазинам, у которых покупатели в обеих странах.
Европочта
Европочта популярна в Беларуси за счёт плотной сети отделений и цены. API доступен клиентам по договору. Готовых модулей меньше, чем для СДЭК, и качество у них разное.
Типичный вариант для магазина без договора на API: список отделений Европочты, загружаемый в выпадающий список с поиском, и фиксированная цена по весовым категориям. Это уже заметно лучше, чем «напишите отделение в комментарии».
С договором и доступом к API можно сделать расчёт стоимости и создание отправлений из админки.
Белпочта
Белпочта нужна там, где нет пунктов других служб: небольшие города и деревни. Возможности API ограничены, поэтому чаще используется расчёт по таблице тарифов: вес плюс тип отправления (посылка, мелкий пакет) плюс наложенный платёж.
Для наложенного платежа важно правильно посчитать сумму: стоимость заказа плюс доставка плюс комиссия за перевод. Это проще делать на стороне магазина отдельным правилом, чем ждать от модуля.
Подключение в OpenCart
В OpenCart модули доставки находятся в Расширения — Расширения — Доставка. Порядок:
- Загрузите модуль через установщик расширений, обновите модификаторы — подробно в статье «Модули OpenCart».
- Дайте права группе администраторов на новый модуль.
- Установите и откройте настройки: ключи API, город отправки, тарифы.
- Заполните вес и размеры у товаров. В OpenCart это вкладка «Данные» у товара. Единицы веса и длины — в Система — Локализация.
- Проверьте оформление заказа в нескольких городах, на разный вес.
Проблема OpenCart: стандартное оформление заказа плохо подходит для выбора пункта выдачи. Часто приходится ставить модуль упрощённого оформления и проверять, что модуль доставки с ним совместим.
Подключение в WooCommerce
В WooCommerce доставка настраивается через зоны: WooCommerce — Настройки — Доставка. Модули служб доставки добавляют свои методы в зоны.
- Создайте зоны: «Минск», «Беларусь», «Россия».
- Добавьте в каждую зону нужные методы: самовывоз, курьер, СДЭК, Европочта.
- Настройте модули: ключи, отправитель, тарифы.
- Заполните вес и габариты у товаров.
- Проверьте оформление.
Для полей адреса в WooCommerce полезно убрать лишнее (область, индекс, если не нужны) — меньше полей, меньше брошенных корзин.
Типичные ошибки
- Нет веса у товаров — расчёт выдаёт 0 или ошибку, и метод доставки исчезает из списка.
- Список из сотен пунктов без поиска — покупатель не может найти своё отделение.
- Нет резервной цены — API службы недоступен, и оформление заказа ломается.
- Модуль запрашивает API на каждой загрузке страницы — оформление тормозит. Нужен кэш.
- Модуль для другой версии CMS — частично работает, частично падает.
- Бесплатная доставка от суммы не учитывает купоны — проверяйте граничные случаи.
Как я подхожу к выбору
- Узнаю, сколько отправок в день и какими службами вы пользуетесь уже сейчас.
- Если отправок мало — таблица тарифов плюс список отделений с поиском.
- Если много и есть договор с API — модуль с расчётом и созданием отправлений.
- Обязательно — резервная цена на случай недоступности API и проверка на мобильном.
Белпочта, Европочта, СДЭК — и оплата
Доставка тесно связана с оплатой: наложенный платёж у почтовых служб, оплата при получении у курьера, предоплата картой или через ЕРИП. Разумно настраивать доставку и оплату вместе, чтобы не было сочетаний вроде «наложенный платёж при самовывозе».
Если нужно подключить доставку к новому магазину или переделать оформление заказа в существующем — это задача для создания интернет-магазина или доработки OpenCart.
Как заполнить вес и габариты у тысяч товаров
Расчёт доставки по API без веса не работает, а заполнять его вручную для каталога в тысячи позиций нереально. Варианты:
- Импорт из Excel. Выгрузить товары с артикулами, заполнить колонки веса и габаритов, загрузить обратно модулем импорта.
- Значения по категориям. Если товары в категории похожи (например, футболки), проставить средний вес одним SQL-запросом для всей категории.
- Значение по умолчанию. Многие модули доставки позволяют задать вес и размер, которые используются, если у товара они не заполнены. Это страховка, а не решение: для крупных товаров цена будет занижена.
Пример запроса для OpenCart, который проставляет вес 0,5 кг товарам категории с ID 25, у которых вес не заполнен:
UPDATE oc_product p
JOIN oc_product_to_category pc ON pc.product_id = p.product_id
SET p.weight = 0.5, p.weight_class_id = 1
WHERE pc.category_id = 25 AND p.weight = 0;
Перед такими запросами делайте копию базы и проверяйте, какой weight_class_id соответствует килограммам в вашей установке.
Бесплатная доставка от суммы
Порог бесплатной доставки — один из самых действенных способов поднять средний чек. При настройке проверьте:
- считается ли сумма до или после скидки по купону;
- на какие способы доставки распространяется бесплатность — обычно только на самый дешёвый;
- как ведёт себя порог для крупногабаритных товаров;
- показывается ли покупателю, сколько не хватает до бесплатной доставки, — это лучше всего работает в корзине.
Пункты выдачи на мобильном
Большинство покупателей оформляют заказ с телефона. Карта пунктов выдачи на маленьком экране часто неудобна. Хороший вариант — поле поиска по городу и улице со списком ближайших пунктов, а карта — по кнопке. Обязательно проверьте оформление на реальном телефоне: выбор пункта, переключение способа доставки, пересчёт итоговой суммы.
Типичный сценарий подключения для магазина в Беларуси
- Самовывоз из пункта магазина — бесплатно.
- Европочта до отделения — фиксированная цена по весовым категориям, список отделений с поиском.
- Курьер по городу — фиксированная цена, бесплатно от порога.
- СДЭК — расчёт по API для доставки в другие города и в Россию.
- Белпочта — для небольших населённых пунктов, по таблице тарифов.
Такой набор закрывает большинство покупателей и не требует сложных интеграций на старте.
Чек-лист перед запуском доставки
- У всех товаров заполнены вес и габариты или задано значение по умолчанию.
- Расчёт проверен для нескольких городов и разного веса.
- Есть резервная цена на случай недоступности API.
- Список пунктов выдачи с поиском, удобен на телефоне.
- Бесплатная доставка от суммы работает с купонами.
- Способы оплаты согласованы со способами доставки.
- Покупатель получает письмо с выбранным способом доставки и адресом пункта.
Частые вопросы
Можно ли подключить доставку без договора со службой?
Только с фиксированными ценами и вручную оформленными отправлениями. Для расчёта по API и создания заказов нужен договор и ключи доступа.
Что делать, если API службы доставки недоступен?
В модуле должна быть резервная цена или резервный способ доставки, чтобы покупатель всё равно мог оформить заказ.
Нужна помощь?
Если не хочется разбираться самому или не получилось — напишите мне. Посмотрю сайт и скажу, что сломалось и сколько стоит исправить.
Разработка интернет-магазина под ключНаписать в TelegramНаписать в Viber
