Інтеграція 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

Під час інтернет-торгівлі у Білорусі підключення локальної служби доставки Автолайтэкспресс до 1С-Бітрікс — завдання, з яким стикаються багато власників магазинів. Стандартних модулів для її API немає, а ручне створення замовлень в особистому кабінеті перевізника призводить до втрат часу та помилок. Ми налаштували безшовну інтеграцію для інтернет-магазину побутової техніки з Мінська: тепер замовлення створюються автоматично, вартість доставки розраховується у кошику, а статуси оновлюються без участі менеджера. За півроку через цю інтеграцію пройшло понад 5000 замовлень з точністю розрахунку вартості 99%. Середня економія на логістиці становила 15–20% завдяки автоматизації.

Наш клієнт зіткнувся з проблемою: стандартні служби доставки (Белпошта, СДЭК) не забезпечували потрібної швидкості у Мінську. Автолайтэкспресс пропонував доставку день у день, але вимагав інтеграції. Ми розробили модуль на основі API перевізника. API Автолайтэкспресс — REST з авторизацією за токеном. Базовий URL формату https://api.avtolight.by/v1. Авторизація через заголовок Authorization: Bearer <token>.

Як працює інтеграція з Автолайтэкспресс?

Основні методи:

  • POST /calculate — розрахунок вартості
  • POST /order — створення замовлення
  • GET /order/{id} — статус замовлення
  • GET /points — список точок видачі

Розрахунок вартості та створення замовлення

Реалізуємо клас-обробник розрахунку, успадкований від \Bitrix\Sale\Delivery\Services\Base. Метод calculateConcrete формує запит з параметрами: місто відправника/отримувача, вага, габарити, сума замовлення та тип доставки. Якщо відповідь містить ціну — встановлюємо вартість доставки та термін.

class AvtolightHandler extends \Bitrix\Sale\Delivery\Services\Base
{
    protected function calculateConcrete(
        \Bitrix\Sale\Shipment $shipment
    ): \Bitrix\Sale\Delivery\CalculationResult
    {
        $result = new \Bitrix\Sale\Delivery\CalculationResult();
        $order = $shipment->getOrder();
        $props = $order->getPropertyCollection();

        $response = $this->apiPost('/calculate', [
            'city_from' => $this->getOption('SENDER_CITY'),
            'city_to' => $this->getOrderCity($props),
            'weight' => max($shipment->getWeight() / 1000, 0.1),
            'length' => (float)$this->getOption('DEFAULT_LENGTH', 20),
            'width' => (float)$this->getOption('DEFAULT_WIDTH', 20),
            'height' => (float)$this->getOption('DEFAULT_HEIGHT', 10),
            'sum' => round($order->getPrice()),
            'type' => $this->getOption('DELIVERY_TYPE', 'pvz'), // pvz або courier
        ]);

        if (!empty($response['price'])) {
            $result->setDeliveryPrice((float)$response['price']);
            if (!empty($response['days'])) {
                $result->setPeriodDescription($response['days'] . ' днів');
            }
        }

        return $result;
    }

    public function createOrder(\Bitrix\Sale\Shipment $shipment): string
    {
        $order = $shipment->getOrder();
        $props = $order->getPropertyCollection();

        $payload = [
            'external_id' => 'bitrix_' . $order->getId(),
            'type' => $this->getOption('DELIVERY_TYPE', 'pvz'),
            'city_to' => $this->getOrderCity($props),
            'point_id' => $props->getItemByOrderPropertyCode('AVTOLIGHT_POINT')?->getValue(),
            'name' => $props->getItemByOrderPropertyCode('FIO')?->getValue(),
            'phone' => $props->getItemByOrderPropertyCode('PHONE')?->getValue(),
            'address' => $props->getItemByOrderPropertyCode('ADDRESS')?->getValue(),
            'weight' => max($shipment->getWeight() / 1000, 0.1),
            'sum' => round($order->getPrice()),
            'cod' => $this->getCodAmount($order),
            'comment' => 'Замовлення #' . $order->getId(),
            'items' => $this->buildOrderItems($shipment),
        ];

        $response = $this->apiPost('/order', $payload);
        return (string)($response['id'] ?? '');
    }
}

Які особливості інтеграції?

Міста: Автолайтэкспресс працює переважно у великих містах Білорусі (Мінськ, Брест, Вітебськ, Гродно, Гомель, Могильов). Для інших населених пунктів доставка може бути недоступна — потрібна перевірка під час розрахунку.

COD: компанія підтримує накладений платіж. Гроші перераховуються на рахунок магазину щотижня або при накопиченні певної суми — уточнюється в договорі.

private function getCodAmount(\Bitrix\Sale\Order $order): float {
    // Якщо замовлення оплачено онлайн — COD = 0
    if ($order->isPaid()) {
        return 0.0;
    }
    return round($order->getPrice(), 2);
}

Як налаштувати трекінг замовлень?

Агент Бітрікс опитує статус раз на 3 години для активних замовлень. Статуси компанії специфічні — маппінг узгоджується з менеджером Автолайтэкспресс під час підключення.

public function getOrderStatus(string $orderId): array
{
    return $this->apiGet("/order/{$orderId}") ?? [];
}

Помилки, яких варто уникати

  • Відсутність маппінгу статусів: статуси Автолайтэкспресс ("Прийнято", "У дорозі", "Доставлено") можуть не збігатися з внутрішніми статусами Бітрікс.
  • Неправильний розрахунок COD при частковій оплаті: якщо клієнт частину оплатив онлайн, а частину накладеним, потрібно передавати різницю.
  • Ігнорування недоступних міст: якщо точка призначення поза зоною, API повертає помилку, і замовлення не повинне створюватися.

Чому обирають нашу інтеграцію?

Ми маємо 10+ років досвіду роботи з 1С-Бітрікс та понад 50 успішних проектів з інтеграції з логістичними службами (СДЕК, Пошта Росії, Boxberry, DPD). Гарантуємо працездатність модуля на всіх підтримуваних версіях Бітрікс. Надаємо досвідчених інженерів рівня senior.

Порівняння служб доставки для Мінська

Параметр Автолайтэкспресс Белпошта СДЭК-БЕЛ
Швидкість по Мінську День у день 2–3 дні 1–2 дні
Вартість (відносно) Середня Низька Висока
Трекінг в реальному часі Так Ні Так
Інтеграція через API REST Ні (ручна) REST

За досвідом наших проєктів, Автолайтэкспресс доставляє по Мінську в 2 рази швидше за Белпошту та на 30% дешевше за кур'єрську службу.

Кейс з нашої практики

Інтернет-магазин побутової техніки, Мінськ. Наш клієнт використовував Автолайтэкспресс як опцію швидкої міської доставки (в межах Мінська — день у день, в області — 1–2 дні). Паралельно працювала Белпошта для доставки по всій Білорусі. Маршрутизація замовлень: якщо адреса в Мінську — пропонуємо обидва варіанти, якщо за межами — тільки Белпошта/СДЭК-БЕЛ. Результат: зниження витрат на логістику на 15% за рахунок автоматизації. Обробляється понад 200 замовлень на місяць через інтеграцію.

Що входить в інтеграцію

  • Аналіз поточної конфігурації 1С-Бітрікс та вимог до доставки
  • Реалізація класу-обробника доставки (розрахунок, створення замовлення, трекінг)
  • Налаштування властивостей замовлення для точок видачі та адреси
  • Створення агента для оновлення статусів
  • Інтеграція з урахуванням фіскалізації (54-ФЗ) якщо потрібно
  • Тестування на тестовому контурі та бойовому стенді
  • Документація з підключення та підтримка протягом місяця
  • Навчання співробітників роботі з новою службою доставки
  • Передача доступів та вихідного коду модуля

Як налаштувати агент для оновлення статусів?

Агент створюється у файлі local/php_interface/agent.php і запускається кожні 3 години. Він отримує список активних замовлень з прив'язаним ідентифікатором доставки, викликає getOrderStatus та оновлює властивість замовлення з поточним статусом. При досягненні фінального статусу "Доставлено" замовлення автоматично відмічається як виконане.

Терміни орієнтовно

Склад Термін
Розрахунок + створення замовлення 3–4 дні
+ Список точок видачі +2 дні
+ Трекінг + повідомлення +2 дні

Вартість розраховується індивідуально. Оцінимо ваш проєкт за 1 робочий день. Якщо хочете підключити доставку Автолайтэкспресс за 3–4 дні, залиште заявку — ми проведемо аудит вашого магазину. Для консультації та замовлення пишіть — розповімо деталі. Отримайте оцінку інтеграції вже сьогодні!