Интеграция 1С-Битрикс со службой доставки КСЭ

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс со службой доставки КСЭ
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1244
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    849
  • 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
    582
  • 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 для компании ТЕХНОТОРГКОМПЛЕКС
    983

Интеграция 1С-Битрикс со службой доставки КСЭ

КСЭ (Курьерская Служба Экспресс) — российский логистический оператор, специализирующийся на доставке для интернет-торговли. Сеть охватывает более 600 городов. Особенность: собственные ПВЗ и постаматы, широкое покрытие в регионах, поддержка наложенного платежа и частичной выдачи.

API КСЭ

КСЭ предоставляет REST API. Базовый URL: https://api.kse.ru (уточняется в документации для партнёров). Авторизация — по API-ключу в заголовке Authorization: Token {api_key}. Формат данных — JSON.

Ключевые методы:

  • POST /orders/create — создание заявки
  • GET /orders/{id} — статус и данные заявки
  • POST /orders/calculate — расчёт стоимости
  • GET /pvz/list — список ПВЗ
  • POST /orders/{id}/cancel — отмена

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

Класс наследует \Bitrix\Sale\Delivery\Services\Base. Основные настройки в b_sale_delivery_service_params:

  • KSE_API_KEY — ключ доступа
  • SENDER_CITY_ID — ID города-отправителя в классификаторе КСЭ
  • SENDER_ADDRESS — адрес склада
  • COD_ENABLED — наложенный платёж включён

Справочник городов

КСЭ использует собственный справочник городов с идентификаторами. При первом запуске загружаем его через GET /cities и сохраняем локально (в инфоблок или HL-блок). Поиск города по строке при оформлении заказа — либо через GET /cities?search={query}, либо по локальному кешу.

Расчёт стоимости

$calcData = [
    'from_city_id'   => $senderCityId,
    'to_city_id'     => $recipientCityId,
    'weight'         => $weightKg,
    'length'         => $lengthCm,
    'width'          => $widthCm,
    'height'         => $heightCm,
    'declared_value' => $declaredValue,
    'delivery_type'  => 'courier', // или 'pvz'
];

$result = $httpClient->post('/orders/calculate', $calcData);
$cost   = $result['delivery_cost'];
$days   = $result['delivery_days'];

При доставке в ПВЗ передаём pvz_id вместо delivery_type = pvz — тогда расчёт учитывает конкретный ПВЗ.

Создание заявки и этикетка

$orderPayload = [
    'external_id'    => 'SHOP-' . $bitrixOrderId,
    'from_city_id'   => $senderCityId,
    'to_city_id'     => $recipientCityId,
    'delivery_type'  => $deliveryType,
    'pvz_id'         => $pvzId, // если тип pvz
    'recipient' => [
        'name'  => $fullName,
        'phone' => $phone,
    ],
    'address'     => $addressString,
    'weight'      => $weightKg,
    'dimensions'  => ['length' => $l, 'width' => $w, 'height' => $h],
    'declared_value' => $declaredValue,
    'cod_amount'  => $codAmount, // 0 если предоплата
    'comment'     => $comment,
    'items'       => $items, // перечень позиций для частичной выдачи
];

В ответ получаем order_id и tracking_number. Этикетку запрашиваем отдельно: GET /orders/{id}/label — возвращает PDF. В административной части Битрикс добавляем кнопку «Скачать этикетку КСЭ» в карточку заказа.

Частичная выдача

Если в запросе переданы items (позиции заказа), КСЭ поддерживает частичную выдачу: покупатель может отказаться от части товаров прямо при получении. Курьер фиксирует принятые позиции в своём приложении.

При получении вебхука с частичной выдачей пересчитываем заказ в Битрикс:

  1. Удаляем позиции из b_sale_basket (или помечаем возвращёнными).
  2. Пересчитываем итоговую сумму.
  3. Если была предоплата — создаём возврат через модуль оплаты.

Отслеживание статусов

КСЭ поддерживает вебхуки: при смене статуса заявки отправляет POST на зарегистрированный URL. Маппинг:

Статус КСЭ Статус в Битрикс
accepted Принят к доставке
in_transit В пути
at_pvz Прибыл в ПВЗ
delivered Доставлен
partial_issued Частичная выдача
returned Возврат на склад

Сроки

Масштаб Состав Срок
Базовая интеграция Расчёт + заявки + этикетки 4–5 дней
+ ПВЗ на карте Загрузка ПВЗ + виджет +2–3 дня
+ Частичная выдача Логика пересчёта + возвраты +2–3 дня