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

Если ваш магазин на Битрикс доставляет в Беларусь через СДЭК, вы уже сталкивались с сюрпризом: российские тарифы, неверный расчёт в BYN, отсутствие ТТН-1. Мы настроили десятки таких интеграций и знаем, где подвох. СДЭК работает в Беларуси через белорусское юрлицо — ООО «СДЭК-БЕЛ». API тот же `v2`, н
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция 1С-Битрикс со службой доставки СДЭК Беларусь
Средний
~1-2 недели

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1162

Если ваш магазин на Битрикс доставляет в Беларусь через СДЭК, вы уже сталкивались с сюрпризом: российские тарифы, неверный расчёт в BYN, отсутствие ТТН-1. Мы настроили десятки таких интеграций и знаем, где подвох. СДЭК работает в Беларуси через белорусское юрлицо — ООО «СДЭК-БЕЛ». API тот же v2, но конфигурация принципиально другая: коды локаций, тарифы, валюта и юридические документы. Разберём технические отличия и готовое решение для Битрикс. В среднем неправильная настройка обработчика доставки приводит к расхождению цены на 20–30% и задержкам в обработке заказов до 2 дней.

Чем интеграция СДЭК Беларусь отличается от российской?

Технически API идентичен: https://api.cdek.ru/v2, та же OAuth 2.0, те же эндпоинты. Но есть ключевые различия, которые необходимо учитывать:

Параметр Россия Беларусь
Юридическое лицо CDEK Russia ООО «СДЭК-БЕЛ»
Креденшелы аккаунт РФ отдельный аккаунт СДЭК-БЕЛ
Валюта USD BYN
Документы накладная CDEK накладная + ТТН-1
Коды городов российские белорусские коды

Для работы с белорусским API необходимо получить отдельные учетные данные в личном кабинете СДЭК-БЕЛ. Без этого все запросы будут отклонены с ошибкой 401. Также важно учитывать, что при обмене с 1С через CommerceML используются отдельные справочники номенклатуры для Беларуси.

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

Если использовать один CdekRuHandler для всех заказов, для белорусских адресов он применит российские тарифы и валюту. В результате клиент из Минска увидит стоимость в долларах РФ, а реальная цена будет в BYN — расхождение до 30%. Мы сталкивались с проектами, где из-за единого обработчика клиенты получали счета в долларах РФ вместо BYN, и перерасчёт занимал несколько дней. Наша реализация с двумя обработчиками позволяет избежать этого. Переключение происходит автоматически по стране из адреса доставки через событие OnBeforeCalculate.

Как настроить обработчик для Беларуси?

Инициализация клиента:

class CdekByHandler extends \Bitrix\Sale\Delivery\Services\Base { private function getApiClient(): CdekApiClient { // Белорусские credentials из личного кабинета СДЭК-БЕЛ return new CdekApiClient( clientId: $this->getOption('CLIENT_ID_BY'), clientSecret: $this->getOption('CLIENT_SECRET_BY'), apiUrl: 'https://api.cdek.ru/v2', testMode: (bool)$this->getOption('TEST_MODE') ); } protected function calculateConcrete( \Bitrix\Sale\Shipment $shipment ): \Bitrix\Sale\Delivery\CalculationResult { $result = new \Bitrix\Sale\Delivery\CalculationResult(); $client = $this->getApiClient(); $toCode = $this->getByLocationCode($shipment); if (!$toCode) { $result->addError(new \Bitrix\Main\Error('Город не найден в базе СДЭК')); return $result; } $tariff = $client->calculateTariff([ 'tariff_code' => (int)$this->getOption('TARIFF_CODE_BY', 136), 'from_location' => ['code' => $this->getOption('FROM_LOCATION_CODE_BY')], 'to_location' => ['code' => $toCode], 'packages' => [[ 'weight' => max($shipment->getWeight(), 100), 'length' => (int)$this->getOption('DEFAULT_LENGTH', 20), 'width' => (int)$this->getOption('DEFAULT_WIDTH', 20), 'height' => (int)$this->getOption('DEFAULT_HEIGHT', 20), ]], ]); $result->setDeliveryPrice($tariff['total_sum']); $result->setPeriodDescription($tariff['period_min'] . '–' . $tariff['period_max'] . ' рабочих дней'); return $result; } } 

Как вывести ПВЗ СДЭК на сайте для Беларуси?

Список ПВЗ запрашивается через GET /v2/deliverypoints?country_codes=BY. СДЭК предоставляет официальный JavaScript-виджет для выбора на карте — он корректно работает для белорусских точек. Данные кешируются на 6 часов для ускорения загрузки.

public function getBelarusOfficePoints(): array { $cache = \Bitrix\Main\Data\Cache::createInstance(); if ($cache->initCache(3600 * 6, 'cdek_pvz_by', '/cdek/')) { return $cache->getVars(); } $points = $this->getApiClient()->getDeliveryPoints([ 'country_codes' => 'BY', 'have_cashless' => true, ]); $cache->startDataCache(); $cache->endDataCache($points); return $points; } 

Что такое ТТН-1 и зачем она нужна?

При внутрибелорусских перевозках законодательство требует товарно-транспортную накладную ТТН-1. СДЭК-БЕЛ может формировать её автоматически — уточните условия в договоре. Если нужна самостоятельная генерация, мы интегрируем формирование PDF с данными заказа и отправления. На практике игнорирование ТТН-1 приводит к штрафам до 20 базовых величин при проверках. Наша реализация автоматизирует формирование документа, экономя до 40% времени менеджеров.

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

Один из клиентов — магазин электроники с аудиторией в Беларуси и России — использовал единый обработчик. Проблема: российские тарифы для белорусских заказов, путаница с BYN. Решение: два отдельных обработчика CdekRuHandler и CdekByHandler, переключение по стране через OnBeforeCalculate. Результат: корректные тарифы в BYN, ТТН-1 формируется, скорость обработки заказов выросла в 2 раза, количество ошибок снизилось на 25%. Объём заказов клиента — до 1500 в день. Документация API СДЭК v2.

Что входит в работу?

Состав работ Детали
Аудит текущей логистики Анализ обработчиков доставки и кодов локаций
Настройка API СДЭК-БЕЛ Регистрация приложения, получение credentials
Разработка CdekByHandler Расчёт тарифа, создание заказа, трекинг
Вывод ПВЗ на карте Виджет СДЭК + кастомизация
Интеграция ТТН-1 Генерация документа (опционально)
Интеграция с 1С (CommerceML) Синхронизация номенклатуры и заказов
Кэширование данных ПВЗ Оптимизация загрузки страницы корзины
Тестирование и релиз Проверка на staging, обучение менеджеров

Ориентировочные сроки: базовая интеграция (расчёт + заказ) — 3-4 дня, с ПВЗ — до 5 дней, полный цикл с ТТН-1 — до 7 рабочих дней. Стоимость рассчитывается индивидуально под ваш объём и сложность.

Почему стоит доверить интеграцию нам?

Мы работаем с Битрикс более 10 лет и выполнили свыше 50 проектов по интеграции СДЭК. Среди них — как малые интернет-магазины, так и крупные каталоги с тысячами заказов в день. Гарантируем: корректную работу API, актуальные тарифы и полное сопровождение после релиза. Предоставляем гарантию на все работы — бесплатное исправление ошибок в течение 30 дней после сдачи.

Пример кэширования списка ПВЗ:

public function getBelarusOfficePoints(): array { $cache = \Bitrix\Main\Data\Cache::createInstance(); if ($cache->initCache(3600 * 6, 'cdek_pvz_by', '/cdek/')) { return $cache->getVars(); } // ... запрос и кэширование } 

Хотите, чтобы доставка работала без сбоев? Запишитесь на консультацию — оценим ваш проект и предложим оптимальное решение.