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







