Интеграция 1С-Битрикс со службой доставки Автолайтэкспресс (Беларусь)

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс со службой доставки Автолайтэкспресс (Беларусь)
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция 1С-Битрикс со службой доставки Автолайтэкспресс (Беларусь)

Автолайтэкспресс — белорусская курьерская компания, специализирующаяся на доставке по Беларуси. Преимущество перед крупными федеральными операторами — более гибкие условия для малого бизнеса и хорошее покрытие белорусских областных центров. API предоставляется партнёрам.

API Автолайтэкспресс

Компания предоставляет REST API с авторизацией через токен. Базовый URL уточняется при подключении — обычно формата https://api.avtolight.by/v1. Авторизация через заголовок Authorization: Bearer <token>.

Основные методы:

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

Расчёт стоимости и создание заказа

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);
}

Трекинг

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

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

Кейс

Интернет-магазин бытовой техники, Минск. Автолайтэкспресс используется как опция быстрой городской доставки (в пределах Минска — день в день, в области — 1–2 дня). Параллельно работает Белпочта для доставки по всей Беларуси. Маршрутизация заказов: если адрес в Минске — предлагаем оба варианта, если за пределами — только Белпочта/СДЭК-БЕЛ.

Сроки

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