Интернет-магазин на 1С-Битрикс начал продажи в Европу — и сразу упёрся в DHL как единственного перевозчика. Стандартные калькуляторы не поддерживают международные тарифы, а ручной расчёт с переходом на сайт DHL занимает 10 минут на заказ. Мы автоматизировали процесс: интеграция через DHL Express API сокращает время до 1-2 секунд и исключает ошибки ввода. Окупаемость такой доработки — в среднем 3-4 месяца за счёт сокращения ручного труда.
Какие проблемы решаем
Расчёт стоимости в реальном времени. DHL API возвращает цену с учётом веса, габаритов, страны получателя и дополнительных опций. Без интеграции менеджеры вручную ходят на сайт DHL — это занимает 5–10 минут на один заказ, а при сотне заказов в день — часы. Наша интеграция ускоряет процесс в 20 раз и полностью исключает ошибки округления.
Создание отправлений с печатью ярлыка. API генерирует AWB-номер и PDF-файл для печати. Вручную требуется экспорт данных в форму DHL, скачивание и прикрепление к заказу. Интеграция сокращает время до 30 секунд и автоматически привязывает ярлык к заказу.
Трекинг для покупателя. Без интеграции клиенты вынуждены отслеживать посылку по ссылке на сайте DHL — это неудобно. Встроенный трекинг в личном кабинете повышает доверие и снижает нагрузку на поддержку.
Таможенные декларации. Международные отправления требуют HS-коды и экспортную декларацию. Ошибки — задержка таможни. Интеграция автоматически передаёт данные из свойств товаров, снижая риск ошибок на 95% и ускоряя прохождение границы.
Как автоматизировать расчёт стоимости DHL?
Мы используем PHP 8.1+ и библиотеку guzzlehttp/guzzle для HTTP-запросов. Класс доставки наследуется от \Bitrix\Sale\Delivery\Services\Base. Параметры хранятся в b_sale_delivery_service_params. Пример запроса к API:
$ratesRequest = [
'customerDetails' => [
'shipperDetails' => [
'postalCode' => '220004',
'cityName' => 'Minsk',
'countryCode' => 'BY',
],
'receiverDetails' => [
'postalCode' => '10115',
'cityName' => 'Berlin',
'countryCode' => 'DE',
],
],
'accounts' => [['typeCode' => 'shipper', 'number' => $accountNumber]],
'productCode' => 'P',
'localProductCode' => 'P',
'packages' => [[
'weight' => $weightKg,
'dimensions' => ['length' => 30, 'width' => 20, 'height' => 15],
]],
'plannedShippingDateAndTime' => date('Y-m-d\TH:i:s \G\M\T+0000'),
'unitOfMeasurement' => 'metric',
];
Ответ содержит массив products с ценами. Выбираем нужный сервис и отдаём totalPrice покупателю.
Как настроить авторизацию DHL Express в Битрикс?
Авторизация — Basic Auth. Username и password берутся из настроек службы доставки. Для каждого запроса они передаются в заголовке Authorization: Basic base64(username:password). Мы не храним их в коде — используем файл .env или параметры модуля. Согласно документации DHL Express API, авторизация осуществляется через Basic Auth.
Типичные ошибки при работе с API DHL
Частые ошибки: неверный формат адреса получателя, отсутствие таможенных данных для международной отправки, превышение лимита веса. DHL Express API возвращает код ошибки в XML-ответе. Мы логируем все запросы в bx_event_log для отладки. Для тестирования используем песочницу DHL с фиктивными данными — это помогает отловить проблемы до боевого запуска.
Процесс работы
- Аналитика — определяем продукты DHL (Express/Parcel/eCommerce), собираем требования к таможенным данным.
- Проектирование — разрабатываем класс доставки, маппинг свойств товаров, схему хранения AWB-номеров.
- Реализация — пишем код расчёта, создания отправления, трекинга и забора. Используем компонент 2.0 и D7 ORM.
- Тестирование — проверяем на тестовом аккаунте DHL, эмулируем разные сценарии (отмена отправления, ошибка таможни). Важно обработать ошибки: неверный индекс или отсутствие HS-кода должны возвращать понятное сообщение.
- Деплой — настраиваем тегированное кэширование, агенты для фоновой обработки, мониторинг.
Что входит в работу
- Разработка класса службы доставки с расчётом стоимости и печатью ярлыков.
- Интеграция трекинга в личный кабинет покупателя (компонент
sale.personal.order).
- Настройка таможенных деклараций с маппингом HS-кодов.
- Документация по эксплуатации: описание настроек, кодов ошибок, регламент обновления.
- Обучение сотрудников: как тестировать отправления, где смотреть логи.
- Поддержка 2 недели после запуска — исправление возможных багов.
Сравнение интеграции с DHL и ручного процесса
| Характеристика |
Ручная работа |
Интеграция с DHL API |
| Время расчёта стоимости |
5–10 мин |
1–2 сек |
| Время оформления отправления |
10–15 мин |
30–60 сек |
| Ошибки в таможенных данных |
Высокая вероятность |
Автоматический контроль |
| Трекинг для клиента |
По ссылке на DHL |
Встроенный в ЛК |
| Заказ забора курьера |
Отдельный звонок |
Кнопка в админке |
Почему выбирают нас
Мы — команда с опытом 10+ лет в разработке на Битрикс. Выполнили более 50 интеграций с DHL и другими международными перевозчиками (включая DHL Parcel). Используем сертифицированные подходы: PHP 8.1, тегированное кэширование, миграции базы. Гарантируем стабильную работу — каждый API-запрос логируется, мониторинг ошибок настроен. Экономия на логистике достигает 30% за счёт автоматизации, а окупаемость проекта — 3-4 месяца.
Сроки ориентировочно
| Масштаб |
Состав |
Срок |
| Базовый |
Расчёт стоимости + создание отправлений + печать ярлыков |
от 4 до 6 дней |
| Расширенный |
+ Таможенные декларации с HS-кодами и Commercial Invoice |
+ 2–3 дня |
| Полный |
+ Трекинг в ЛК покупателя + автозаказ забора курьера |
+ 2–3 дня |
Стоимость рассчитывается индивидуально под задачу. Получите консультацию по интеграции DHL в ваш магазин — напишите нам на почту или в Telegram. Расскажите про текущие процессы — мы подскажем, какие дополнительные модули (обмен с 1С, фискализация) потребуются для полной автоматизации.
Интеграция доставки: от разрозненных API к единому калькулятору за 5 дней
Покупатель бросает корзину на этапе доставки — не видит расчёта или видит заведомо неверную цену. Каждый такой случай теряет конверсию. Автоматизация логистики в 1С-Битрикс решает эту проблему: мы подключаем службы доставки так, чтобы цена показывалась мгновенно, а трекинг обновлялся без участия менеджера. За 8 лет реализовано более 50 проектов с каталогами от 500 до 100 000 SKU. Среднее время подключения одной транспортной компании — 4 дня.
Как ускорить подключение служб доставки к 1С-Битрикс?
Главная сложность — не сам вызов API, а адаптация к логике каждого перевозчика. СДЭК, Boxberry, Почта России, ПЭК, DPD — у каждого свой формат запроса, тарификация и обработка ошибок. Мы используем готовые адаптеры под каждую ТК, что сокращает время интеграции втрое по сравнению с реализацией с нуля. Развернутый кейс: интернет-магазин товаров для дома (15 000 товаров) — подключили СДЭК и Boxberry за 5 дней, автоматизировали расчёт и создание заказов. Обращения в поддержку по доставке снизились на 60%, средний чек вырос на 8% за счёт индикатора бесплатной доставки.
Почему API каждой транспортной компании — отдельный квест?
СДЭК — объёмный вес и карта ПВЗ
API v2 (/api/v2/calculator/tarifflist) принимает габариты, вес и адреса — возвращает все доступные тарифы. Подводные камни: объёмный вес рассчитывается по формуле (Д × Ш × В) / 5000. Если физический вес 2 кг, а объёмный 8 кг — СДЭК берёт по объёмному. Не учтёте в калькуляторе — покупатель увидит одну цену, а заплатит другую. Карта ПВЗ загружается через /deliverypoints. Виджет СДЭК можно встроить, но он конфликтует со стилями Битрикс — рисуем свою карту на Яндекс.Картах. Автоматическое создание заказа через /api/v2/orders — при оформлении заявка улетает в СДЭК, возвращается трек-номер. Печать накладных и этикеток из админки — через /api/v2/print/orders. Тарифы: склад-склад, склад-дверь, дверь-дверь, экспресс, постамат.
Boxberry — широкая сеть ПВЗ в регионах
Самая широкая сеть пунктов выдачи в малых городах. API проще, чем у СДЭК, но есть нюансы с наложенным платежом и частичным выкупом. Карта ПВЗ с фильтрацией: примерка, оплата картой, работа в выходные. Обязательно проверяем корректную обработку ответа 0 при отсутствии ПВЗ.
Почта России — стабильность ценой скорости
API «Отправка» — расчёт стоимости, автоформирование бланков ф.103 и ф.116, трекинг по трек-номеру. Тарифы: посылка, бандероль, EMS. Международные отправления. API медленнее коммерческих ТК — закладываем таймауты 10 секунд, используем асинхронные агенты Битрикс для обновления статусов.
ПЭК — тяжёлые грузы и сбор
Когда нужно отправить диван или оборудование. Расчёт сборных грузов, страхование, обрешётка. Доставка до терминала и от двери до двери. Индексы терминалов ПЭК подгружаем в инфоблок для автоподстановки.
DPD — экспресс-доставка с временными слотами
DPD по России и за рубеж. Доставка в выбранный временной интервал, возврат подписанных документов. В расчёте учитываем объёмный вес по формуле (Д×Ш×В)/4000 — отличие от СДЭК.
Пример: типичные ошибки при интеграции Boxberry
Отсутствие фильтрации ПВЗ по признаку `onlyPrepaid` приводит к ошибкам при наложенном платеже. Игнорирование параметра `partialReturn` ломает частичный выкуп. API возвращает код города в формате "770000000000" — требуется маппинг на index города.
Как объединить разные ТК в едином калькуляторе?
Используем гибридный подход: модуль-агрегатор, который маршрутизирует запросы к разным API и нормализует ответы. Это позволяет сравнивать тарифы в реальном времени без переключения между личными кабинетами. В ответе модуля — единая структура: название тарифа, цена, срок, тип доставки. Кэширование тегированное: при изменении настроек модуля очищается только кэш расчёта для выбранного города, остальное остаётся. Событие OnBeforeDeliveryCalculate вешаем на кастомный обработчик — так подменяем стандартную логику доставки.
Расчёт стоимости: какие грабли встречаются?
Автоматический калькулятор суммирует физический и объёмный вес товаров в корзине, прибавляет вес упаковки, выбирает наибольший. Звучит просто, но:
- Габариты должны быть заполнены у каждого товара. Нет габаритов — нет расчёта. На каталоге в 10 000 SKU обязательно найдутся товары без размеров — для них заводим дефолтные значения (например, 0.1×0.1×0.1 м) и предупреждаем менеджера через почтовое событие.
- Промоакции и пороги бесплатной доставки — гибкая настройка: по сумме заказа, для VIP-клиентов, при конкретном способе оплаты. Реализуем через пользовательские свойства корзины.
- Индикатор «До бесплатной доставки осталось N руб.» — простая штука, но поднимает средний чек на 5–12%. Вычисляем по сумме корзины и ближайшему порогу, выводим в шаблоне корзины.
Как автоматизировать трекинг, самовывоз и курьерскую доставку?
Трекинг. Автоматический опрос API транспортных компаний — агент Битрикс каждые 30 минут проверяет статусы заказов, у которых STATUS_DELIVERY != 'DELIVERED'. При изменении — обновление статуса заказа в системе и уведомление покупателю (email, SMS, push). Встроенная страница трекинга в личном кабинете — покупателю не нужно идти на сайт ТК. Карта с текущим местоположением, прогнозируемая дата доставки, возможность переадресации.
Самовывоз. Собственные точки выдачи на карте: адреса, график, контакты. Поиск ближайшей по адресу покупателя. Проверка наличия в реальном времени, бронирование до определённого часа. QR-код для быстрого получения и SMS о готовности к выдаче.
Курьерская доставка. Зоны доставки с разной стоимостью. 2-часовые слоты, управление расписанием курьеров, ограничение заказов на слот. Доставка день в день — приём до 14:00, экспресс за 2-4 часа с наценкой за срочность. Интеграция с навигацией для оптимизации маршрутов.
Мультисклад. Несколько складов с адресами и зонами обслуживания. Автоматический выбор склада отгрузки по адресу покупателя — приоритет ближайшему, где есть все товары заказа. Если на одном складе всего нет — разделение заказа по складам (мультидоставка). Синхронизация остатков через 1С или WMS (CommerceML), используем события OnBeforeBasketAdd для проверки доступности.
Сравнение транспортных компаний
| Параметр |
СДЭК |
Boxberry |
Почта России |
ПЭК |
DPD |
| Покрытие |
Россия, СНГ |
Регионы, малые города |
Вся РФ |
РФ, тяжёлые грузы |
РФ, экспресс |
| Скорость доставки |
2–7 дней |
3–10 дней |
5–15 дней |
3–10 дней |
1–4 дня |
| Сложность API |
Средняя |
Низкая |
Высокая (XML) |
Средняя |
Средняя |
| Особенность |
Широкий набор тарифов, постаматы |
Самая широкая сеть ПВЗ |
Стабильный, но медленный ответ |
Страхование, обрешётка |
Временные интервалы |
Из каких этапов состоит подключение служб доставки?
-
Анализ логистики (1–2 дня) — география, средний вес, объём заказов, интеграция с 1С. Рекомендуем комбинацию ТК.
-
Подключение API (3–5 дней на ТК) — настройка расчётов, карт ПВЗ, автоматическое создание заказов через агенты и события.
-
Настройка трекинга (1–2 недели) — агенты обновления статусов, шаблоны уведомлений, страница трекинга.
-
Тестирование (2–3 дня) — проверка на реальных адресах, сравнение тарифов, контроль ошибочных расчётов, нагрузочное тестирование.
-
Деплой и обучение (1 день) — выгрузка модуля, передача доступов, обучение менеджеров.
-
Гарантийная поддержка (1 месяц) — исправление багов, корректировка конфигураций, донастройка кэширования.
Ориентировочные сроки реализации
| Этап |
Срок |
| Подключение одной ТК (API) |
3–5 дней |
| Карта выбора ПВЗ |
2–3 дня |
| Настройка самовывоза |
2–3 дня |
| Система трекинга |
1–2 недели |
| Мультисклад |
2–4 недели |
| Комплексная логистическая система |
4–8 недель |
Сроки зависят от количества ТК, сложности каталога и необходимости интеграции с 1С/ERP. Стоимость рассчитывается индивидуально — ориентируйтесь на экономию: снижение операционных затрат на доставку до 40% и сокращение обращений в поддержку на 60%. Например, один из клиентов с магазином электроники (20 000 товаров) вернул инвестиции за 3 месяца за счёт уменьшения числа «забытых» заказов.
Готовы ускорить логистику вашего интернет-магазина? Свяжитесь с нами — поможем подобрать оптимальную комбинацию ТК под ваш ассортимент и бюджет. Закажите консультацию, и мы подготовим предложение за 1 рабочий день.