Интеграция 1С-Битрикс с агрегатором доставок Dalli
Интернет-магазин теряет заказы, если не может доставить товар в день оформления. По статистике, 30% заказов в Москве требуют такой скорости, а без экспресс-доставки магазины теряют до 15% покупателей. Dalli Service — агрегатор и логистический оператор, который решает эту задачу. Но встроенных средств Битрикс для работы с Dalli нет. Мы реализовали десятки таких интеграций и знаем, как сделать процесс бесшовным. Наш опыт — 10+ лет в разработке на Битрикс и 50+ успешных проектов с Dalli. Экономия на доставке за счёт оптимизации тарифов достигает значительных сумм с каждой посылки.
Почему Dalli лучше прямых контрактов с перевозчиками?
Подключение Dalli через наш модуль вместо прямых интеграций с каждым перевозчиком сокращает затраты на разработку в 3–4 раза. Вы получаете единый API для доставки: курьерская служба Dalli и партнёры объединены в одном протоколе. Не нужно согласовывать отдельные договоры с СДЭК, Boxberry и другими — всё реализовано через Dalli. Согласно документации, агрегатор отвечает за распределение заказов между перевозчиками и контроль сроков. Dalli API
Как работает экспресс-доставка в день заказа?
Экспресс-доставка — ключевая особенность Dalli для Москвы и Санкт-Петербурга. Работает при выполнении условий:
- Заказ принят до определённого времени (обычно до 14:00–15:00)
- Склад отправителя находится в зоне покрытия
- Товар физически готов к отправке
В calculateConcrete() проверяем текущее время: если date('H') >= $cutoffHour — экспресс-доставка сегодня недоступна, предлагаем доставку на следующий день.
$currentHour = (int) date('H'); $cutoffHour = 14; // Дата дедлайна из настроек модуля if ($currentHour >= $cutoffHour) { $deliveryDate = date('d.m.Y', strtotime('+1 day')); $label = 'Доставка завтра, ' . $deliveryDate; } else { $deliveryDate = date('d.m.Y'); $label = 'Доставка сегодня, ' . $deliveryDate; } Что предоставляет Dalli API и как его подключить?
Dalli API — REST, авторизация по токену. Документация на портале dalli.ru для партнёров. Основные операции:
- Расчёт стоимости доставки
- Создание заявок (одиночных и пакетных)
- Получение статусов
- Список ПВЗ
- Получение этикеток (PDF)
- Регистрация вебхуков
Dalli работает преимущественно по модели: магазин передаёт заявки через API, Dalli распределяет между своей службой и партнёрами в зависимости от адреса и сроков.
Модуль доставки в Битрикс
Класс наследует \Bitrix\Sale\Delivery\Services\Base. Параметры в b_sale_delivery_service_params:
-
DALLI_TOKEN— токен API -
SENDER_ID— ID точки отправки (оформляется при подключении) -
DELIVERY_MODE—express(день-в-день / следующий день) илиstandard -
COD_ALLOWED— разрешён ли наложенный платёж
Расчёт стоимости
В calculateConcrete() передаём адрес, габариты, объявленную ценность. Dalli возвращает варианты с разными сроками (стандарт, экспресс) и ценами:
$calcResponse = $httpClient->post('/v1/calculate', [ 'sender_id' => $senderId, 'address' => $recipientAddress, 'weight' => $weightGram, 'dimensions' => $dimensions, 'declared_value' => $declaredValue, 'delivery_types' => ['standard', 'express'], ]); foreach ($calcResponse['variants'] as $variant) { // $variant['type'], $variant['price'], $variant['delivery_date'] } Если магазин предлагает два способа доставки (стандарт и экспресс), создаём два экземпляра модуля с разными DELIVERY_MODE в настройках.
Создание заявки
$orderPayload = [ 'sender_id' => $senderId, 'external_id' => 'SHOP-' . $bitrixOrderId, 'delivery_type' => $deliveryMode, 'recipient' => [ 'name' => $name, 'phone' => $phone, 'address' => $address, ], 'packages' => [[ 'weight' => $weightGram, 'dimensions' => $dimensions, 'items' => $items, ]], 'declared_value' => $declaredValue, 'cash_on_delivery'=> $codAmount, 'comment' => $comment, ]; Ответ: order_id в системе Dalli. Этикетку получаем через GET /orders/{id}/label.
Пакетное создание заявок
Если заказы накапливаются в течение дня, Dalli поддерживает POST /orders/batch — создание нескольких заявок одним запросом. Менеджер нажимает «Отправить в Dalli» в административной части Битрикс — скрипт собирает все заказы со статусом «Готов к отправке» и отправляет пакетом.
Статусы и вебхуки
Вебхуки: Dalli отправляет уведомления на URL мерчанта. Регистрируем в личном кабинете. Маппинг:
| Статус Dalli | Битрикс |
|---|---|
accepted |
Принят |
on_the_way |
В пути |
delivered |
Доставлен |
partially_delivered |
Частичный выкуп |
returned |
Возврат |
failed |
Ошибка доставки |
Какие задачи решает интеграция с Dalli?
Интеграция решает три ключевые задачи: скорость подключения нового перевозчика, автоматизация расчётов и синхронизация статусов. Без неё менеджеры вручную формируют заявки на сайте Dalli, ошибаются в адресах и забывают отслеживать возвраты. Наш модуль исключает человеческий фактор.
Типичные ошибки при интеграции:
- Неправильный маппинг статусов: если не настроить
failed, заказы зависают в «В пути». - Отсутствие обработки timeout: API Dalli отвечает до 15 секунд, на больших каталогах расчёт может падать по таймауту. Добавьте повторные попытки с таймаутом 20 секунд.
- Игнорирование кода наложенного платежа: если не передать
cash_on_delivery, Dalli не рассчитывает комиссию, и реальная стоимость доставки расходится с ожидаемой.
Что входит в интеграцию под ключ
Мы предоставляем полный пакет: разработка модуля доставки, настройка API, тестирование всех сценариев, обучение менеджеров, документация. Гарантия на работу — 3 месяца. Поддерживаем версии PHP 8.1+ и Битрикс 22.0+. Сертифицированные специалисты с опытом реализуют интеграцию без сбоев.
Сроки
| Масштаб | Состав | Срок |
|---|---|---|
| Базовая интеграция | Расчёт + заявки + статусы | 3–4 дня |
| + Экспресс-логика | Контроль времени, два способа | +1–2 дня |
| + Пакетная отправка | Интерфейс в админке + batch API | +2 дня |
| + ПВЗ | Загрузка + виджет | +2 дня |
Получите консультацию — мы рассчитаем стоимость и сроки под ваш проект. Свяжитесь с нами: уже интегрировали Dalli для 50+ магазинов, оценим ваш проект бесплатно.







