Інтеграція 1С-Бітрікс із агрегатором доставок Dalli

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Інтеграція 1С-Бітрікс із агрегатором доставок Dalli
Середня
~1-2 тижні
Часті питання

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

Етапи розробки

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

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Інтеграція 1С-Bitrix з агрегатором доставок Dalli

Dalli Service — агрегатор і логістичний оператор, що спеціалізується на доставці для інтернет-магазинів. Об'єднує власну кур'єрську службу та партнерських перевозників. Особливість: доставка в день оформлення або на наступний день у Москві та Санкт-Петербурзі, інтеграція з маркетплейсами (Wildberries, Ozon, Яндекс.Маркет).

Що надає Dalli API

Dalli API — REST, авторизація за токеном. Документація на порталі dalli.ru для партнерів.

Основні операції:

  • Розрахунок вартості доставки
  • Створення заявок (одиничних та пакетних)
  • Отримання статусів
  • Список ПВЗ
  • Отримання етикеток (PDF)
  • Реєстрація вебхуків

Dalli працює переважно за моделлю: магазин передає заявки через API, Dalli розподіляє між своєю службою та партнерами залежно від адреси та термінів.

Модуль доставки у Bitrix

Клас успадковує \Bitrix\Sale\Delivery\Services\Base. Параметри в b_sale_delivery_service_params:

  • DALLI_TOKEN — токен API
  • SENDER_ID — ID точки відправки (оформляється при підключенні)
  • DELIVERY_MODEexpress (день-в-день / наступний день) або 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 у настройках.

Експрес-доставка в день замовлення

Ключова особливість 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;
}

Створення заявки

$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» в адміністративній частині Bitrix — скрипт збирає всі замовлення зі статусом «Готово до відправки» та надсилає пакетом.

Статуси

Вебхуки: Dalli надсилає сповіщення на URL мерчанта. Реєструємо в особистому кабінеті. Маппінг:

Статус Dalli Bitrix
accepted Прийнято
on_the_way У пути
delivered Доставлено
partially_delivered Частковий викуп
returned Повернення
failed Помилка доставки

Строки

Масштаб Склад Строк
Базова інтеграція Розрахунок + заявки + статуси 3–4 дні
+ Експрес-логіка Контроль часу, два способи +1–2 дні
+ Пакетна відправка Інтерфейс в адміні + batch API +2 дні
+ ПВЗ Завантаження + віджет +2 дні