Разбираюсь с этим на каждом втором проекте на WooCommerce: вопрос как подключить Boxberry к магазину звучит просто, но на деле распадается на три задачи - карту пунктов выдачи на сайте, расчёт стоимости доставки в корзине и синхронизацию статусов заказа с личным кабинетом Boxberry. Показываю на практике, какой вариант интеграции выбрать и что обычно ломается при запуске.
Важная оговорка до всего остального: Boxberry больше не самостоятельная служба доставки. На сайте Яндекс Доставки об этом сказано прямо: «Боксберри теперь часть Яндекс Доставки», а про пункты выдачи: «Отправлять заказы через пункты выдачи Boxberry уже не получится. Они будут работать ещё какое-то время только на выдачу, пока не заберут последний заказ. После отправлять и получать заказы можно будет через пункты выдачи Яндекса». Домен boxberry.ru отдаёт 301 на dostavka.yandex.ru/boxberry-site/. Поэтому на новом проекте настраивается интеграция с Яндекс Доставкой, а описанная ниже связка актуальна только для магазинов, которые дозабирают старые отправления.
Зачем интернет-магазину на WordPress пункты выдачи Boxberry
Стоимость доставки один из самых частых стоп-факторов на этапе оформления заказа. Когда покупатель видит только курьерскую доставку по фиксированному тарифу по всему городу, часть корзин бросают именно на шаге выбора способа доставки. Пункты выдачи снимают часть этой проблемы: покупатель платит за доставку до ближайшего ПВЗ, забирает посылку в удобное время, а магазин не оплачивает курьера на каждый заказ.
На проектах на WooCommerce я обычно ставлю Boxberry рядом с СДЭК и курьерской доставкой отдельным способом в корзине - так владелец магазина видит, какой вариант выбирают чаще, и может со временем убрать то, что не работает.
Отдельный плюс для магазинов с наложенным платежом: Boxberry принимает оплату при получении, что закрывает часть аудитории, которая не готова платить онлайн. Для оплаты картой на сайте я параллельно подключаю эквайринг, чаще всего это связка T‑Bank и WooCommerce - тогда «оплата картой на сайте плюс Boxberry с оплатой при получении как альтернатива» закрывает почти все сценарии оформления заказа.
Если нужно не просто добавить способ доставки, а собрать магазин целиком под доставку и оплату с нуля, обычно беру такую задачу как интернет-магазин под ключ - тогда Boxberry сразу закладываю в архитектуру корзины, а не встраиваю в готовую тему постфактум.
Как подключить Boxberry к магазину: три рабочих варианта
На практике есть три способа завести Boxberry в WooCommerce, и выбор зависит от того, сколько времени готовы вложить в настройку и насколько гибкий расчёт доставки нужен на выходе.
Готовое решение для WooCommerce
В каталоге WordPress лежит плагин «Яндекс Доставка (Boxberry)» от автора akazanstev: он добавляет способ доставки, показывает карту ПВЗ прямо в корзине и выгружает оформленный заказ в кабинет службы. В описании плагина это названо так: «расчет стоимости доставки до ПВЗ и курьером», «выбор ПВЗ в виджете при оформлении заказа и в админке для смены ПВЗ», «выгрузка заказов в ЛК Яндекс Доставки (Boxberry)», «смена статусов заказа в Woocommerce, после выгрузки в ЛК Яндекс Доставки (Boxberry)». Это решение стороннего разработчика, а не плагин самой службы, и кабинет в нём уже Яндекс Доставки. Это самый быстрый путь - ключевые настройки (город отправления, вес по умолчанию, доступные пункты выдачи) задаются в административной панели без правки кода. Из минусов: тонкая логика вроде скидок на доставку по сумме заказа или ограничения по весу для отдельных категорий товаров обычно упирается в возможности плагина, и тогда приходится дорабатывать код поверх готового решения.
Виджет карты плюс расчёт через API
Второй вариант - карту ПВЗ ставлю через встраиваемый виджет Boxberry, а стоимость и сроки доставки считаю отдельным запросом к API Boxberry на сервере, по весу, габаритам и коду выбранного пункта выдачи. Такой вариант удобен, когда в магазине уже есть кастомная логика корзины (скидки, наборы товаров, отдельные тарифы для хрупких позиций) и стандартный плагин её не покрывает.
Только API, без визуальной карты Boxberry
Третий сценарий встречается на кастомных фронтендах: список ближайших ПВЗ запрашивается через API и рисуется в собственном интерфейсе, без карты Boxberry как таковой. Так делаю, когда магазин собран не на типовой теме WooCommerce, а на кастомном шаблоне, и визуально готовый виджет не вписывается в дизайн страницы оформления заказа.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Настройка карты пунктов выдачи на сайте
Карта ПВЗ - самое заметное для покупателя место в этой интеграции, поэтому здесь чаще всего всплывают практические нюансы.
Что проверяю в первую очередь:
- список ПВЗ должен подгружаться по городу, который покупатель уже указал в адресе, а не показывать сразу всю базу пунктов по стране;
- у карты должна нормально работать мобильная версия - если виджет не адаптируется под экран телефона, часть покупателей просто закрывает окно оформления заказа;
- нужно решить, что показывать по умолчанию, если покупатель ещё не указал город - обычно подставляю город магазина или определяю регион по IP через сервис, который уже используется на сайте.
Отдельно слежу за скоростью загрузки карты. Если виджет подключён через внешний скрипт без отложенной загрузки, он может тормозить отрисовку всей страницы оформления заказа - на паре проектов именно это было причиной жалоб на «зависающую» корзину, а не сам Boxberry.
Расчёт стоимости доставки Boxberry в корзине WooCommerce
Стоимость зависит от веса и габаритов посылки, региона отправления и выбранного пункта выдачи. Если в карточках товара не заполнен вес, расчёт либо падает с ошибкой, либо подставляет вес по умолчанию, и тогда покупатель на последнем шаге видит стоимость доставки, которая не совпадает с тем, что магазин реально заплатит перевозчику.
Порядок, который использую на проектах:
- Проверяю, что вес и габариты заполнены у всех активных товаров - для крупных каталогов делаю это скриптом, точечная проверка руками занимает слишком много времени.
- Настраиваю пересчёт стоимости доставки при каждом изменении корзины, а не только при первом открытии способов доставки, иначе покупатель может изменить количество товара и не заметить, что доставка подорожала.
- Отдельно тестирую пограничные случаи: товар с незаполненным весом, самый тяжёлый товар в каталоге, доставка в отдалённый регион.
- Проверяю, что при недоступности API Boxberry магазин не блокирует оформление заказа целиком, а откатывается на курьерскую доставку или показывает понятное сообщение.
Последний пункт закрывает реальный кейс: на одном проекте при кратковременной недоступности стороннего API вся корзина переставала оформляться, потому что единственный способ доставки не мог посчитать стоимость. С тех пор никогда не оставляю расчёт через внешний сервис единственным путём оформить заказ.
Синхронизация заказов, статусов и трекинг посылок
После оформления заказ передаётся в личный кабинет Boxberry (вручную или автоматически через API), а обратно магазин получает статусы: принят на сортировке, прибыл в пункт выдачи, выдан покупателю. Через API это можно принимать вебхуком - сервис вызывает нужный адрес на сайте, магазин обновляет статус заказа в WooCommerce и, если настроено уведомление, отправляет письмо или сообщение покупателю.
Уведомления в Telegram под эту задачу собираю чаще всего на aiogram: бот принимает данные о смене статуса заказа и присылает покупателю короткое сообщение вроде «посылка в пункте выдачи», без необходимости заходить на сайт и проверять личный кабинет.
Если нужно не гонять статусы вручную, а связать WooCommerce, Boxberry и, например, CRM или таблицу учёта в одном потоке, обычно собираю это на n8n: одна цепочка триггерится по новому заказу и передаёт данные в Boxberry, вторая слушает изменение статуса и раскидывает его дальше - в CRM, в Telegram, в таблицу для склада. Для магазина с небольшим потоком заказов такая связка снимает часть рутины без написания отдельного сервиса под интеграцию.
Boxberry, СДЭК и Яндекс Доставка: что выбрать для WordPress-магазина
Эти три варианта чаще всего стоят рядом в корзине WooCommerce, поэтому сравнивать их по цене смысла нет - тарифы у всех считаются индивидуально по весу, региону и объёму отправок. Сравниваю по тому, что реально отличается на уровне интеграции с сайтом.
| Служба доставки | Пункты выдачи и постаматы | Наложенный платёж | Уведомления о статусе через API |
|---|---|---|---|
| Boxberry | Отдельной сети больше нет: пункты перешли в Яндекс Доставку и работают только на выдачу уже отправленного | Для новых отправлений не актуально | Для новых отправлений не актуально |
| СДЭК | ПВЗ и постаматы, встроенный калькулятор доставки по зонам | Есть | Есть, через вебхук |
| Яндекс Доставка | Пункты выдачи и курьер, подключается через токен в настройках | Зависит от выбранного тарифа | Есть |
На практике выбор чаще упирается не в таблицу возможностей, а в то, какая служба реально хорошо покрывает регионы, где живут покупатели магазина - и сравнивать теперь имеет смысл Яндекс Доставку, куда перешли пункты Boxberry, с СДЭК: в одном городе плотнее сеть у одной службы, в другом у другой, и это выясняется только по факту тестового периода с обеими.
WordPress регулярно обновляется, поэтому перед внедрением я сверяюсь с актуальной документацией.
Частые вопросы
Нужен ли плагин «Яндекс Доставка (Boxberry)» для WooCommerce или хватит API?
Для стандартного магазина без сложной логики скидок и весовых ограничений обычно хватает готового плагина - он закрывает карту ПВЗ, расчёт стоимости и передачу заказа. Переходить на связку виджет плюс отдельный API имеет смысл, если в корзине уже есть кастомные правила, которые плагин не поддерживает.
Как покупатель узнаёт, что заказ уже в пункте выдачи?
Статус приходит через API Boxberry вебхуком или периодическим опросом, дальше магазин сам решает, как об этом сообщить - письмом, смс-сервисом или сообщением в Telegram. На части проектов ставлю бота на aiogram, который присылает короткое уведомление о смене статуса без лишних деталей.
Можно ограничить доставку Boxberry по весу или сумме заказа?
Да, это делается на уровне зон доставки WooCommerce и условий показа способа доставки - например, скрыть Boxberry для заказов тяжелее определённого веса или показывать бесплатную доставку через ПВЗ при сумме заказа выше порога. В готовом плагине такие условия обычно настраиваются через стандартные классы условий доставки WooCommerce, в кастомной интеграции - в коде расчёта стоимости.
Что делать, если карта ПВЗ не загружается на сайте?
Сначала проверяю консоль браузера на ошибки скрипта - чаще всего дело в неверном ключе виджета или в блокировке скрипта рекламным блокировщиком у части покупателей. Потом смотрю, не конфликтует ли виджет с кэширующим плагином сайта: агрессивное кэширование иногда обрезает динамически подгружаемые скрипты. Если проблема не в этом, обычно дело на стороне API Boxberry, и тогда стоит предусмотреть запасной вариант доставки, чтобы оформление заказа не блокировалось полностью.