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

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

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1428
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1008
  • 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 Appointment Booking Widget for a Medical Center
    745
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    869
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    782
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1149

Каждый день диспетчер тратит 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 день. Для заказа интеграции свяжитесь с нами — поможем настроить автоматизацию доставки.