Інтеграція 1С-Бітрікс із сервісами оптимізації маршрутів

Щодня диспетчер витрачає 2-3 години на ручне планування маршрутів. Кур'єри не встигають доставити всі замовлення вчасно, повторні виїзди збільшують витрати на паливо. Інтеграція 1С-Бітрікс з API сервісів оптимізації маршрутів вирішує ці проблеми: алгоритми знаходять оптимальний маршрут за секунди, в
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція 1С-Бітрікс із сервісами оптимізації маршрутів
Середній
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1013
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    752
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    873
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1154

Щодня диспетчер витрачає 2-3 години на ручне планування маршрутів. Кур'єри не встигають доставити всі замовлення вчасно, повторні виїзди збільшують витрати на паливо. Інтеграція 1С-Бітрікс з API сервісів оптимізації маршрутів вирішує ці проблеми: алгоритми знаходять оптимальний маршрут за секунди, враховуючи затори, часові вікна та завантаження автомобіля. Наша команда виконала 30+ таких інтеграцій для бізнесу від 1 до 100 машин. Досвід показує, що після впровадження час планування скорочується до 10 хвилин, а пробіг — на 15-25%. Гарантуємо стабільну роботу інтеграції на всіх етапах.

Задача оптимізації маршрутів (Vehicle Routing Problem, VRP) — NP-складна, згідно з Wikipedia. На практиці справляються комерційні сервіси: Яндекс.Маршрутизація, Route4Me, Routific, OptimoRoute. Вони обробляють 10 000 точок за секунди — в 10 разів швидше самописних рішень. Безкоштовний OR-Tools від Google теж дає відмінні результати. Ми інтегруємо будь-який з них у вашу CRM на Бітрікс через універсальний адаптер. Сертифіковані інженери підберуть відповідний сервіс під ваш бюджет.

Проблеми, які вирішуємо

  • Довге ручне планування: логіст витрачає 2-3 години вранці. Автоматизація скорочує це до 10 хвилин.
  • Перевантажені маршрути: без оптимізації кур'єр проїжджає зайві 50 км на день. Оптимізатор знижує пробіг на 15-25%, економлячи витрати на паливо.
  • Помилки геокодування: якщо адресу не перетворено на координати, машина їде не туди. Ми геокодуємо під час імпорту замовлення, використовуючи свіжі бази.

Економія часу диспетчера — 2 години на день. Зниження витрат на логістику — до 25%.

Як вибрати сервіс оптимізації під бізнес?

Сервіс Особливості Модель оплати
Яндекс.Маршрутизація Російська інфраструктура, хороша геокодингова база Запити + склад кур'єрів
Route4Me Гнучкий API, часові вікна, мультидепо Підписка
Routific Просте API, підходить для малого автопарку Підписка від 5 машин
OptimoRoute Пріоритети, компетенції водіїв Підписка
OR-Tools Безкоштовний, self-hosted, потребує Python-сервер Свої сервери

Вибір залежить від кількості машин та обсягу замовлень. Для 1-3 машин — Routific або Яндекс, для 10+ — Route4Me з мультидепо. Ми допомагаємо підібрати варіант.

Архітектура інтеграції

Цикл роботи:

  1. Вранці агент збирає замовлення на сьогодні зі статусом «До доставки» з b_sale_order.
  2. Формує список точок з адресами, координатами та часовими вікнами.
  3. Надсилає запит в API оптимізатора.
  4. Зберігає маршрути в bl_delivery_routes.
  5. Призначає водіїв через CRM або вручну.
  6. При завершенні доставки вебхук від оптимізатора оновлює статуси замовлень.
Кейс: автоматизація для мережі доставкиДля мережі з 15 машин з мультидепо інтегрували Route4Me. Час планування скоротився з 3 годин до 15 хвилин, пробіг — на 20%. Клієнт отримав карту маршрутів в адмінці та автоматичні сповіщення клієнтам.

Чому інтеграція через адаптер — надійний спосіб?

Реалізуємо патерн адаптер — один інтерфейс, декілька реалізацій:

interface RouteOptimizerInterface { public function optimize(array $depot, array $vehicles, array $orders): array; } class YandexRouteOptimizer implements RouteOptimizerInterface { public function optimize(array $depot, array $vehicles, array $orders): array { $payload = [ 'depot' => $depot, 'vehicles' => $vehicles, 'orders' => array_map(fn($o) => [ 'id' => (string)$o['order_id'], 'point' => ['lat' => $o['lat'], 'lon' => $o['lon']], 'time_window' => [$o['time_from'], $o['time_to']], 'service_duration' => 300, ], $orders), ]; $http = new \Bitrix\Main\Web\HttpClient(); $http->setHeader('Content-Type', 'application/json'); $http->setHeader('X-Ya-Courier-Request-Id', uniqid()); $response = $http->post( 'https://courier.yandex.ru/api/v1/companies/' . $this->companyId . '/routes', json_encode($payload) ); return json_decode($response, true); } } class Route4MeOptimizer implements RouteOptimizerInterface { public function optimize(array $depot, array $vehicles, array $orders): array { // Route4Me-специфична логіка } } 

Конкретна реалізація вибирається через фабричний метод, конфігурується в b_option.

Перетворення даних замовлення

Ключовий момент — коректне перетворення даних Бітрікс у формат API оптимізатора. Адресу потрібно геокодувати в координати (якщо не зроблено під час замовлення), часові вікна — конвертувати в формат оптимізатора. Дані про товари можуть імпортуватися через CommerceML, що спрощує завантаження ваги та об'єму.

function buildOrderPoint(\Bitrix\Sale\Order $order): array { $props = $order->getPropertyCollection(); return [ 'order_id' => $order->getId(), 'lat' => (float)$props->getItemByOrderPropertyCode('LAT')?->getValue(), 'lon' => (float)$props->getItemByOrderPropertyCode('LON')?->getValue(), 'time_from' => $this->toUnix($props->getItemByOrderPropertyCode('DELIVERY_TIME_FROM')?->getValue()), 'time_to' => $this->toUnix($props->getItemByOrderPropertyCode('DELIVERY_TIME_TO')?->getValue()), 'weight_kg' => $this->getBasketWeight($order->getBasket()), 'volume_m3' => $this->getBasketVolume($order->getBasket()), 'priority' => (int)$props->getItemByOrderPropertyCode('DELIVERY_PRIORITY')?->getValue(), ]; } 

Збереження та відображення маршрутів

Структура таблиці bl_delivery_routes:

route_id — ID маршруту від оптимізатора route_date — дата доставки vehicle_id — ID транспортного засобу driver_id — CRM-контакт водія stops_json — JSONB впорядкований список зупинок total_distance — загальний пробіг у км estimated_time — передбачуваний час у хвилинах status — planned / in_progress / completed created_at 

Маршрут відображається на карті в адміністративному розділі через Яндекс.Карти API або Leaflet.js. Водію — посилання з waypoints.

Оновлення статусів замовлень

По завершенні доставки в точці оптимізатор (або водій через мобільний додаток) надсилає подію. Вебхук Бітрікс оновлює статус конкретного замовлення:

// /bitrix/route_webhook.php $data = json_decode(file_get_contents('php://input'), true); foreach ($data['completed_stops'] as $stop) { $order = \Bitrix\Sale\Order::load((int)$stop['order_id']); if ($order) { $order->setField('STATUS_ID', 'F'); $order->save(); // Відправка листа клієнту про доставку } } 

Терміни виконання за масштабом

Масштаб Особливості Терміни
Малий (1–3 машини) Один адаптер, ручне призначення водіїв 3–5 днів
Середній (5–20 машин) Автоназначення, карта маршрутів, вебхуки статусів 8–12 днів
Великий (20+ машин) Мультидепо, компетенції водіїв, реалтайм-трекінг 20–35 днів

Що входить у роботу

  • Розробка інтерфейсу RouteOptimizerInterface з адаптерами під ваші сервіси (1-3 дні на перший адаптер)
  • Налаштування агента збору замовлень та відправки в оптимізатор вранці робочого дня
  • Створення таблиці bl_delivery_routes зі зберіганням маршрутів та статусів
  • Реалізація карти маршрутів в адміністративному розділі
  • Налаштування вебхука оновлення статусів замовлень після виконання доставки
  • Документація з архітектури та навчання логістів (1-2 години)
  • Підтримка 30 днів після здачі

Інтеграція виконується під ключ. Оцінимо ваш проект за 1 день. Для замовлення інтеграції зв'яжіться з нами — допоможемо налаштувати автоматизацію доставки.