Интеграция 1С-Битрикс со службой доставки ТехноЛогист (Беларусь)
ТехноЛогист — белорусский логистический оператор, специализирующийся на доставке для интернет-магазинов по Беларуси. Собственная курьерская служба, пункты выдачи и фулфилмент. Основная валюта — белорусский рубль (BYN). Для магазинов, работающих на рынке РБ, — один из основных вариантов доставки наравне с Европочтой и СДЭК.
API ТехноЛогист
ТехноЛогист предоставляет REST API для интеграции с интернет-магазинами. Документация предоставляется партнёрам при подключении. Авторизация — по токену в заголовке. Эндпоинты:
-
POST /orders— создание заявки -
GET /orders/{id}— статус заявки -
GET /orders/{id}/label— этикетка для печати -
POST /orders/calculate— расчёт стоимости -
GET /pvz— список пунктов выдачи
Модуль доставки в Битрикс
Класс наследует \Bitrix\Sale\Delivery\Services\Base. Параметры модуля:
-
TECHNOLOGIST_TOKEN— токен доступа к API -
SENDER_ID— идентификатор отправителя -
DEFAULT_CITY— город по умолчанию для расчёта (Минск) -
CURRENCY— BYN (белорусский рубль)
В calculateConcrete() выполняем запрос расчёта стоимости с учётом веса, габаритов, типа доставки (курьер/ПВЗ) и города получателя.
Особенности белорусского рынка
При интеграции с белорусскими службами доставки важно учитывать:
Валюта. Сумма заказа и стоимость доставки передаются в BYN. Если магазин работает в нескольких валютах, в calculateConcrete() конвертируем через механизм курсов Битрикс (CCurrencyRates::ConvertCurrency()).
Телефон покупателя. Белорусские номера: +375 (XX) XXX-XX-XX. В запросе к API передаём в формате 375XXXXXXXXX — без плюса, без скобок. Нормализация через регулярное выражение в обработчике.
Адреса. Классификатор городов РБ — КЛАДР не используется (российский стандарт). ТехноЛогист использует собственный справочник населённых пунктов. При оформлении заказа поиск города — через GET /cities?q={query} с кешированием результатов.
Наложенный платёж. Широко распространён в Беларуси. При CashOnDelivery > 0 курьер принимает наличные или карту (в зависимости от оснащения курьера терминалом — уточнять у ТехноЛогиста).
Создание заявки
$payload = [
'externalOrderId' => 'SHOP-' . $bitrixOrderId,
'senderId' => $senderId,
'recipient' => [
'name' => $recipientName,
'phone' => $normalizedPhone,
'address' => [
'cityId' => $cityId,
'street' => $street,
'house' => $house,
'flat' => $flat,
],
],
'deliveryType' => 'courier', // или 'pvz'
'pvzId' => $pvzId,
'weight' => $weightKg,
'dimensions' => $dimensions,
'declaredValue' => $declaredValueBYN,
'cod' => $codAmountBYN,
'comment' => $deliveryComment,
];
В ответ получаем orderId в системе ТехноЛогист и trackingNumber. Сохраняем в b_sale_order_props.
Статусы
ТехноЛогист уведомляет о смене статуса через вебхук (POST на URL магазина) или через polling. Маппинг:
| Статус ТехноЛогист | Битрикс |
|---|---|
| Принят | Передан в доставку |
| На сортировке | В обработке |
| В доставке | Курьер в пути |
| Доставлен | Доставлен |
| Возврат | Возврат |
Интеграция ПВЗ
Список ПВЗ загружается раз в сутки агентом Битрикс и сохраняется в HL-блок. Для Минска — несколько десятков точек, по всей Беларуси — меньше, чем у крупных российских операторов. Отображение на карте с координатами из ответа API.
Сроки
| Масштаб | Состав | Срок |
|---|---|---|
| Базовая интеграция | Расчёт + заявки + статусы | 3–5 дней |
| + ПВЗ на карте | HL-блок + виджет | +2 дня |
| + Мультивалютность | Конвертация в BYN + логика | +1 день |







