Интеграция 1С-Битрикс со службой доставки Деловые Линии

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

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

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

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

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1534
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1049
  • Разработка виджета онлайн-записи на прием для медицинского центра
    Разработка виджета онлайн-записи на прием для медицинского центра
    820
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    920
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    858
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1209

Представьте: менеджер интернет-магазина вручную заполняет данные для доставки в личном кабинете Деловых Линий. На один заказ уходит до 15 минут. При 50 заказах в день — это более 12 часов чистой рутины. Ошибки в адресах, потерянные статусы, пересорт по габаритам — типичная картина без API-интеграции. Мы автоматизируем этот процесс: расчёт стоимости, создание заказов и трекинг — через REST API Деловых Линий. Один из клиентов — магазин мебели — после внедрения сократил время обработки заказа с 15 до 2 минут и снизил операционные затраты на доставку на 15%. Экономия на ручном труде — до $360–520./мес.

Почему важна автоматизация доставки через API?

Без интеграции магазины тратят до 20% рабочего времени на ручную обработку доставки. Деловые Линии — крупнейшая транспортная компания с сетью из 2000+ терминалов. Их API с JWT-авторизацией позволяет гибко управлять отправлениями. Мы выполнили более 30 проектов по интеграции 1С-Битрикс с транспортными компаниями, гарантируем стабильную работу и обновление при изменениях API. Подробнее о протоколе читайте в официальной документации REST API Деловых Линий.

Как автоматизировать доставку через интеграцию с Деловыми Линиями?

Как устроено API Деловых Линий? — интеграция 1с битрикс

Базовый URL: https://api.dellin.ru/v3/. Авторизация двухэтапная: сначала получаем session token через /v3/auth/login.json, затем используем его в заголовке Cookie: session=TOKEN или параметром.

private function getSession(): string
{
    $cacheKey = 'dellin_session_' . md5($this->appKey);
    $cached = \Bitrix\Main\Data\Cache::createInstance();
    if ($cached->startDataCache(3600 * 8, $cacheKey, '/dellin')) {
        $response = $this->httpPost('/v3/auth/login.json', [
            'appkey' => $this->appKey,
            'login' => $this->login,
            'password' => $this->password,
        ]);
        $session = $response['data']['sessionID'] ?? '';
        $cached->endDataCache(['session' => $session]);
    }
    return $cached->getVars()['session'];
}

Сессия живёт 8+ часов. Кэшируем на 8 часов, чтобы не авторизоваться при каждом расчёте. Пример запроса расчёта стоимости:

private function calcCost( string $fromCity, string $toCity, float $weightKg, float $volumeM3 ): float {
    $response = $this->apiPost('/v3/calculator.json', [
        'appkey' => $this->appKey,
        'sessionID' => $this->getSession(),
        'delivery' => [
            'deliveryType' => ['type' => 'auto'],
            'arrival' => ['variant' => 'address'],
            'dispatch' => ['variant' => 'terminal'],
        ],
        'cargo' => [
            'quantity' => 1,
            'weight' => $weightKg,
            'volume' => $volumeM3,
            'totalEnvelopesWeight' => 0,
        ],
        'members' => [
            'from' => ['terminalID' => $this->findTerminalId($fromCity)],
            'to' => ['city' => $toCity],
        ],
    ]);
    return (float)($response['data']['price'] ?? 0);
}

Параметр delivery.dispatch.variant: terminal означает, что магазин сам привезёт груз на терминал. arrival.variant: address — доставка покупателю до двери. Комбинации variant влияют на цену: терминал-терминал дешевле, адрес-адрес дороже.

Поиск терминала по городу

public function findTerminalId(string $cityName): string {
    $response = $this->apiPost('/v3/public/terminals.json', [
        'appkey' => $this->appKey,
    ]);

    foreach ($response['data']['terminals'] ?? [] as $terminal) {
        if (mb_stripos($terminal['city']['name'], $cityName) !== false) {
            return $terminal['id'];
        }
    }

    return '';
}

Список терминалов большой — кэшируем результат поиска на сутки.

Создание заказа

public function createOrder(\Bitrix\Sale\Shipment $shipment): string {
    $order = $shipment->getOrder();
    $props = $order->getPropertyCollection();
    $payload = [
        'appkey' => $this->appKey,
        'sessionID' => $this->getSession(),
        'delivery' => [
            'deliveryType' => ['type' => 'auto'],
            'dispatch' => ['variant' => 'terminal'],
            'arrival' => [
                'variant' => 'address',
                'address' => [
                    'search' => $props->getItemByOrderPropertyCode('ADDRESS')?->getValue(),
                ],
            ],
        ],
        'cargo' => $this->buildCargo($shipment),
        'members' => [
            'from' => ['terminalID' => $this->getOption('FROM_TERMINAL_ID')],
            'to' => [
                'contactPersons' => [[
                    'name' => $props->getItemByOrderPropertyCode('FIO')?->getValue(),
                    'phone' => $props->getItemByOrderPropertyCode('PHONE')?->getValue(),
                ]],
            ],
        ],
        'payment' => [
            'type' => 'cash',
            'payer' => 'receiver',
        ],
    ];
    $response = $this->apiPost('/v3/orders.json', $payload);
    return (string)($response['data']['orderID'] ?? '');
}

Параметр payment.payer: receiver — доставку оплачивает получатель. sender — отправитель (магазин). Выбор зависит от бизнес-модели магазина.

Трекинг заказов

public function getOrderState(string $orderId): array
{
    $response = $this->apiPost('/v3/orders/state.json', [
        'appkey' => $this->appKey,
        'sessionID' => $this->getSession(),
        'orders' => [['orderID' => $orderId]],
    ]);

    $state = $response['data'][0] ?? [];

    return [
        'status' => $state['orderState']['name'] ?? '',
        'deliveryDate' => $state['deliveryDate'] ?? '',
    ];
}

Деловые Линии не поддерживают вебхуки для трекинга. Агент Битрикс раз в 3–4 часа опрашивает статус активных отправлений.

Какие особенности для крупногабаритных товаров?

Деловые Линии поддерживают паллетные отправления. Для магазинов мебели или строительных материалов нужно разделять отправления на несколько мест с индивидуальными габаритами. Поле cargo.oversizedWeight используется для нестандартных мест (> 80 кг или > 3 м в длину). В одном из проектов интернет-магазина мебели мы столкнулись с проблемой неправильного расчёта габаритов: товары приходили к покупателю с повреждениями. После внедрения интеграции с указанием параметров oversizedWeight и паллетной группировки количество возвратов снизилось на 15%.

Как происходит интеграция: пошаговый процесс?

  1. Аналитика — изучаем ваш каталог, типы доставки, настройки 1С-Битрикс.
  2. Проектирование — выбираем методы API, определяем маппинг полей.
  3. Реализация — пишем код расчёта, создания заказов, трекинга.
  4. Тестирование — проверяем на тестовых заказах, замеряем время ответа.
  5. Деплой — выкатываем на боевой, настраиваем агенты.
  6. Документация и обучение — передаём инструкции, обучаем менеджеров.

Что входит в работу по интеграции?

  • Регистрация приложения в личном кабинете Деловых Линий.
  • Настройка авторизации и кэширования сессии.
  • Реализация расчёта стоимости на странице корзины.
  • Создание заказов из административной панели.
  • Трекинг с уведомлениями о смене статуса.
  • Техническая поддержка 30 дней после запуска.
Доставка Вариант Средняя стоимость (условная) Сроки
Терминал → Терминал Самовывоз Низкая 3–5 дн
Терминал → Адрес До двери Средняя 3–5 дн
Адрес → Адрес Курьер Высокая 2–4 дн

Сколько времени занимает интеграция?

Состав работ Срок
Авторизация + расчёт + маппинг терминалов 3–4 дня
+ Создание заказов + трекинг +2 дня
+ Габаритный расчёт + паллеты +1 день

Какие типичные ошибки допускают при интеграции?

Распространённые косяки и как их избежать
  • Игнорирование кэширования сессии — частые авторизации приводят к блокировке.
  • Неправильный маппинг городов — терминал не находится.
  • Отсутствие обработки ошибок API — заказ не создаётся без уведомления. Например, при превышении лимитов запросов API возвращает код 429, который нужно обрабатывать с повторной попыткой.
  • Забывают про oversized параметры для тяжёлых грузов.

Закажите интеграцию сегодня — получите консультацию и оценку проекта. У нас более 5 лет опыта в интеграции 1С-Битрикс с транспортными компаниями. Свяжитесь с нами, чтобы обсудить детали вашего магазина.