Интеграция 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+ магазинов, оценим ваш проект бесплатно.







