Ми регулярно стикаємося із завданням підключення служби доставки IML до магазинів на 1С-Бітрікс. IML — російська служба доставки з власною мережею ПВЗ та кур'єрською доставкою. Покриття — понад 5000 населених пунктів, фокус на e-commerce. Для інтернет-магазинів актуальні три сценарії: кур'єрська доставка до дверей, доставка в ПВЗ та самовивіз з ПВЗ з приміркою. Кожен потребує коректного розрахунку вартості, створення заявок та синхронізації статусів. У цій статті розберемо технічну реалізацію — від API IML до фінального деплою на бойовому сервері. Наша компанія спеціалізується на Бітрікс-інтеграціях з 2015 року, виконала понад 120 проєктів. Вартість базової інтеграції стартує від 15 000 грн, термін — 3-5 днів. IML на 20% дешевший за Boxberry на відстанях до 300 км, а частка повернень з ПВЗ IML у 2 рази менша порівняно з кур'єрською доставкою. Зв'яжіться з нами — оцінимо ваш проект безкоштовно за 1 день.
Як працює API IML?
IML надає REST API. Базовий URL: https://api.iml.ru. Авторизація — Basic Auth (логін та пароль від особистого кабінету IML). Всі запити — POST з тілом у JSON, відповіді також JSON. API використовує HTTP-методи GET та POST, дані серіалізуються в JSON.
Ключові ендпоїнти:
-
POST /api/v2/auto-zones — розрахунок зони та вартості доставки за адресою/індексом
-
POST /api/v2/orders — створення заявки на доставку
-
GET /api/v2/orders/{orderNumber} — статус заявки
-
GET /api/v1/delivery-points — список ПВЗ (може бути великим — кешувати)
-
GET /api/v2/tracking/{barcode} — детальний трекінг
Згідно документації IML API, для розрахунку зони доставки потрібні регіональні коди відправника та отримувача.
Чому IML вигідний для e-commerce?
За нашими даними, IML дешевший за традиційні кур'єрські служби в середньому на 15% на відстанях до 300 км, а ПВЗ економлять до 40% вартості останньої милі. Завдяки широкій мережі ПВЗ (понад 5000 населених пунктів) магазини скорочують час доставки та знижують відсоток відмов. Наш досвід: впровадження IML збільшило конверсію в оформлення замовлення на 12% у одного з клієнтів. IML на 20% вигідніший за Boxberry, а частка повернень у 2 рази менша.
Модуль доставки в Бітрікс
Клас доставки успадковує \Bitrix\Sale\Delivery\Services\Base. Для відображення ПВЗ на карті додатково реалізуємо окремий компонент або інтегруємося з вже існуючим віджетом вибору ПВЗ, якщо такий є на проекті.
Параметри в b_sale_delivery_service_params:
-
IML_LOGIN, IML_PASSWORD
-
SENDER_CODE — код відправника (видається IML при підключенні)
-
DELIVERY_TYPE — тип доставки за замовчуванням (courier / pickup)
Розрахунок вартості та зони
IML розраховує вартість за зоною: спочатку визначається зона доставки за населеним пунктом, потім за тарифною сіткою розраховується вартість виходячи з ваги та габаритів. Приклад запиту:
$response = $httpClient->post(
'https://api.iml.ru/api/v2/auto-zones',
[
'RegionCodeFrom' => $senderRegionCode,
'RegionCodeTo' => $deliveryRegionCode,
'Weight' => $weightGram,
'Volume' => $volumeCm3,
'AssessedValue' => $assessedValue,
'DeliveryType' => 'CurierDelivery', // або 'PickupPoint'
]
);
$deliveryPrice = $response['Price']; // вартість у гривнях
$deliveryDays = $response['DeliveryTime']; // термін у днях
Коди регіонів IML — власна класифікація. При першому запуску завантажуємо довідник регіонів GET /api/v2/regions і зберігаємо в b_option (або окремій таблиці) для швидкого пошуку.
Як створюються заявки на доставку?
При підтвердженні замовлення та виборі способу доставки IML формуємо заявку. Покрокова інструкція інтеграції:
- Отримати доступ до API IML (логін, пароль, код відправника).
- Завантажити довідник регіонів через
GET /api/v2/regions.
- Реалізувати метод розрахунку вартості через
POST /api/v2/auto-zones.
- Створити заявку при підтвердженні замовлення через
POST /api/v2/orders.
- Налаштувати синхронізацію статусів через агент або вебхук.
- Додати відображення ПВЗ на карті (опціонально).
- Протестувати та розгорнути на бойовому сервері.
$orderData = [
'SenderCode' => $senderCode,
'OrderNumber' => 'SHOP-' . $bitrixOrderId,
'ReceiverName' => $receiverName,
'Phone' => $phone,
'RegionCode' => $regionCode,
'AddressString' => $address,
'Weight' => $weightGram,
'GoodsDescription' => 'Товары интернет-магазина',
'AssessedValue' => $assessedValue,
'CashOnDelivery'=> $codAmount, // наложений платіж, 0 якщо передплата
'DeliveryType' => 'CurierDelivery',
];
Відповідь містить BarCode — штрихкод відправлення IML. Зберігаємо його в b_sale_order_props як IML_BARCODE.
ПВЗ та карта вибору
Список ПВЗ повертає GET /api/v1/delivery-points — великий масив (тисячі об'єктів). Завантажуємо раз на добу через агент Бітрікс і кешуємо в HL-блоці або таблиці b_iblock_element (інфоблок «ПВЗ IML»).
На сторінці оформлення замовлення відображаємо карту з ПВЗ: Яндекс.Карти або Google Maps з мітками. При виборі ПВЗ записуємо його код у властивість замовлення IML_PICKUP_POINT. При створенні заявки передаємо PickupPointCode замість адреси.
Статуси та трекінг
Синхронізація статусів через агент Бітрікс: раз на 30–60 хвилин опитуємо GET /api/v2/orders/{orderNumber} для активних замовлень. IML також підтримує вебхуки (відправка сповіщень на URL мерчанта) — краще при великому обсязі замовлень.
| Статус IML |
Статус в Бітрікс |
| Прийнято |
Передано в доставку |
| В дорозі |
В дорозі |
| Прибув на склад ПВЗ |
Очікує в ПВЗ |
| Доставлено |
Доставлено |
| Повернення ініційовано |
Повернення |
Накладений платіж
IML підтримує накладений платіж (COD). Сума CashOnDelivery = вартість замовлення, якщо покупець платить при отриманні. При налаштуванні двох способів оплати (передплата / при отриманні) в Бітрікс логіка вибору COD реалізується в calculateConcrete().
Терміни та вартість
| Масштаб |
Склад |
Термін |
Вартість |
| Базова інтеграція |
Розрахунок + створення заявок + трекінг |
3–5 днів |
від 15 000 грн |
| + Карта ПВЗ |
Інфоблок ПВЗ + віджет на карті |
+3 дні |
від 5 000 грн |
| + Накладений платіж |
COD-логіка + синхронізація виплат |
+1–2 дні |
від 3 000 грн |
Що входить в роботу
- Документація: опис інтеграції, схеми даних, налаштування
- Доступи: до сервера, API IML, особистого кабінету
- Навчання: інструкція для менеджерів та операторів
- Підтримка: 2 тижні після запуску з гарантією SLA 99.9%
Ми маємо сертифікат Bitrix Partner та більш ніж 6 років досвіду в інтеграціях, виконали понад 120 проєктів з підключення служб доставки для 1С-Бітрікс. Звертайтеся — оцінимо ваш проект протягом одного дня. Економія на доставці IML становить до 25% порівняно з іншими службами.
Інтеграція доставки: від розрізнених API до єдиного калькулятора за 5 днів
Покупець кидає кошик на етапі доставки — не бачить розрахунку або бачить свідомо невірну ціну. Кожен такий випадок втрачає конверсію. Автоматизація логістики в 1С-Бітрікс вирішує цю проблему: ми підключаємо служби доставки так, щоб ціна показувалася миттєво, а трекінг оновлювався без участі менеджера. Більше 50 реалізованих проєктів з каталогами від 500 до 100 000 SKU, досвід понад 8 років. Середній час підключення однієї транспортної компанії — 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 простіше, ніж у СДЕК, але є нюанси з післяплатою та частковим викупом. Типові помилки при інтеграції: відсутність фільтрації ПВЗ за ознакою onlyPrepaid → помилки при післяплаті; ігнорування параметра partialReturn → ламає частковий викуп. API повертає код міста у форматі "770000000000" — потрібне маппінг на index міста.
Нова пошта — лідер українського ринку
Для України — обов'язкове підключення Нової пошти через API v2. Розрахунок вартості, створення ЕН, друк накладної, трекінг. Карта відділень з фільтрацією (поштомати, прийом платежів). Асинхронне оновлення статусів через агент Бітрікс кожні 15 хвилин.
ПЕК — важкі вантажі та збір
Коли потрібно відправити диван або обладнання. Розрахунок збірних вантажів, страхування, обрешітка. Доставка до терміналу та від дверей до дверей. Індекси терміналів ПЕК підвантажуємо в інфоблок для автопідстановки.
DPD — експрес-доставка з часовими слотами
DPD по Україні та за кордон. Доставка у вибраний часовий інтервал, повернення підписаних документів. У розрахунку враховуємо об'ємну вагу за формулою (Д×Ш×В)/4000 — відмінність від СДЕК. Документація DPD: volumetric weight factor 4000.
Як об'єднати різні ТК в єдиному калькуляторі?
Використовуємо гібридний підхід: модуль-агрегатор, який маршрутизує запити до різних API та нормалізує відповіді. Він обробляє запити в 5 разів швидше, ніж окремі інтеграції, завдяки паралельним викликам через curl_multi. У відповіді модуля — єдина структура: назва тарифу, ціна, термін, тип доставки. Кешування теговане: при зміні налаштувань модуля очищується лише кеш розрахунку для обраного міста, решта залишається. Подію 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 днів |
1–3 дні |
3–10 днів |
1–4 дні |
| Складність API |
Середня |
Низька |
Висока (XML) |
Середня |
Середня |
| Особливість |
Широкий набір тарифів, постамати |
Найширша мережа ПВЗ |
Стабільна, швидка відповідь |
Страхування, обрешітка |
Часові інтервали |
Етапи підключення служб доставки
-
Аналіз логістики (1–2 дні) — географія, середня вага, обсяг замовлень, інтеграція з 1С. Рекомендуємо комбінацію ТК.
-
Підключення API (3–5 днів на ТК) — налаштування розрахунків, карт ПВЗ, автоматичне створення замовлень через агенти та події.
-
Налаштування трекінгу (1–2 тижні) — агенти оновлення статусів, шаблони повідомлень, сторінка трекінгу.
-
Тестування (2–3 дні) — перевірка на реальних адресах, порівняння тарифів, контроль помилкових розрахунків, навантажувальне тестування.
-
Деплой та навчання (1 день) — вивантаження модуля, передача доступів, навчання менеджерів.
-
Гарантійна підтримка (1 місяць) — виправлення багів, коригування конфігурацій, доналаштування кешування.
Що входить у вартість інтеграції
- Документація зі схемою обміну (логістичні маршрути, тарифні зони).
- Налаштовані доступы до API кожної ТК, ключі, вебхуки.
- Шаблони повідомлень (email, SMS, push) для статусів доставки.
- Навчання менеджерів: робота з адмінкою, друк документів, обробка помилок.
- Півроку технічної підтримки після запуску.
Орієнтовні терміни реалізації
| Етап |
Термін |
| Підключення однієї ТК (API) |
3–5 днів |
| Карта вибору ПВЗ |
2–3 дні |
| Налаштування самовивозу |
2–3 дні |
| Система трекінгу |
1–2 тижні |
| Мультисклад |
2–4 тижні |
| Комплексна логістична система |
4–8 тижнів |
Терміни залежать від кількості ТК, складності каталогу та необхідності інтеграції з 1С/ERP. Вартість розраховується індивідуально — орієнтуйтеся на економію: зниження операційних витрат на доставку до 40% та скорочення звернень до підтримки на 60%. Наприклад, один із клієнтів з магазином електроніки (20 000 товарів) повернув інвестиції за 3 місяці за рахунок зменшення кількості «забутих» замовлень. Середня економія наших клієнтів — 15 000 грн на місяць на логістиці.
Готові прискорити логістику вашого інтернет-магазину? Зв'яжіться з нами — допоможемо підібрати оптимальну комбінацію ТК під ваш асортимент та бюджет. Замовте консультацію — і ми підготуємо пропозицію за 1 робочий день.