Интернет-магазин на 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С, фискализация) потребуются для полной автоматизации.







