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

Даже одна отправка в деревню превращается в проблему: курьерские службы туда не ездят, а Белпочта остаётся единственным оператором, покрывающим всю Беларусь. Без интеграции менеджеры вручную заполняют данные на сайте почты — ошибки, задержки, потерянные статусы. Клиенты недовольны, а вы теряете время. Ручное создание посылки занимает 10–15 минут, а при 50 заказах в день это часы бесполезной работы. Ошибки при вводе индекса или веса приводят к возвратам и повторным отправкам — до 20% заказов требуют корректировки. Наши инженеры с 10+ летним опытом интегрировали Белпочту с десятками магазинов на 1С-Битрикс, обработав более 100 000 посылок. Решение закрывает весь цикл: от расчёта стоимости до печати марки и трекинга.

Как интегрировать API Белпочты с каталогом Битрикс?

Белпочта предоставляет SOAP и REST API. Рекомендуем REST версию: https://api.belpost.by/api/v1. Авторизация через токен в заголовке Authorization: Token <token>. Токен выдаётся после заключения договора с Белпочтой и подключения услуги «Электронная доставка».

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

Метод Назначение Частота использования
POST /parcel/calculate Расчёт стоимости отправления при каждом изменении корзины
POST /parcel/create Создание посылки при оформлении заказа
GET /parcel/{id} Статус посылки по агентам раз в 6 часов
GET /parcel/{id}/label Получение марки в PDF при печати из админки

Расчёт стоимости реализуется через кастомный транспорт. Регистрируем обработчик на событие OnSaleDeliveryHandlersBuildList и добавляем класс BelposhtaHandler. В свойствах заказа обязательно добавляем индекс получателя (6 цифр) — без него расчёт невозможен.

class BelposhtaHandler extends \Bitrix\Sale\Delivery\Services\Base
{
    protected function calculateConcrete(\Bitrix\Sale\Shipment $shipment): \Bitrix\Sale\Delivery\CalculationResult
    {
        $result = new \Bitrix\Sale\Delivery\CalculationResult();
        $response = $this->apiPost('/parcel/calculate', [
            'from_region' => $this->getOption('SENDER_REGION_CODE'),
            'to_index' => $this->getRecipientIndex($shipment),
            'weight' => max((int)($shipment->getWeight()), 50), // граммы, минимум 50г
            'cost' => round($shipment->getOrder()->getPrice()),
            'payment' => 'prepaid', // или cod
        ]);
        if (!empty($response['amount'])) {
            $result->setDeliveryPrice((float)$response['amount']);
            $days = $response['delivery_days'] ?? '3–7';
            $result->setPeriodDescription("{$days} дней");
        }
        return $result;
    }

    private function getRecipientIndex(\Bitrix\Sale\Shipment $shipment): string
    {
        $props = $shipment->getOrder()->getPropertyCollection();
        return (string)($props->getItemByOrderPropertyCode('ZIP')?->getValue() ?? '');
    }
}

Индекс получателя — обязательное свойство заказа. Добавляем его через \Bitrix\Sale\Property с кодом ZIP и привязываем к службе доставки. При выборе Белпочты свойство становится обязательным.

Как создать посылку и печатать марки?

После оформления заказа необходимо создать посылку. Отправляем POST-запрос с полными данными отправителя и получателя. В ответ получаем parcel_id, который сохраняем в заказ (например, в UF-поле).

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

    $payload = [
        'sender' => [
            'name' => $this->getOption('SENDER_NAME'),
            'address' => $this->getOption('SENDER_ADDRESS'),
            'phone' => $this->getOption('SENDER_PHONE'),
        ],
        'recipient' => [
            'name' => $props->getItemByOrderPropertyCode('FIO')?->getValue(),
            'phone' => $props->getItemByOrderPropertyCode('PHONE')?->getValue(),
            'index' => $props->getItemByOrderPropertyCode('ZIP')?->getValue(),
            'address' => $props->getItemByOrderPropertyCode('ADDRESS')?->getValue(),
        ],
        'parcel' => [
            'weight' => max((int)$shipment->getWeight(), 50),
            'cost' => round($order->getPrice()),
            'contents' => 'Товар',
        ],
        'payment' => $this->getPaymentType($order), // prepaid или cod
        'cod_sum' => $this->getCodSum($order),
    ];

    $response = $this->apiPost('/parcel/create', $payload);

    return (string)($response['parcel_id'] ?? '');
}

Марка возвращается в PDF формате. Мы добавляем кнопку «Печать марки» в административную часть заказа. При нажатии вызывается агент, который получает PDF через GET /parcel/{id}/label и выводит на печать. Трекинг обновляется агентами раз в 6 часов — этого достаточно, так как Белпочта обновляет статусы раз в сутки. Для ускорения можно настроить вебхук от Белпочты, но они пока не предоставляют push-уведомлений.

Когда Белпочта — оптимальный выбор?

Белпочта в 2–3 раза дешевле курьерских служб в регионы, особенно для отправлений в деревни и посёлки. API позволяет автоматизировать весь цикл: от расчёта до печати марок. Для интернет-магазинов, ориентированных на всю Беларусь, это обязательный канал.

Особенности:

  • Минимальный вес — 50 г. Товары меньше оформляются как «мелкий пакет» по другому тарифу — модуль автоматически подбирает тариф.
  • Международная доставка: Белпочта участник UPU, отправка в страны СНГ и дальнее зарубежье. Таможенные декларации CN22/CN23 через отдельный метод API. Интеграция поддерживает заполнение деклараций на основе товарных позиций каталога.
  • Сроки: в пределах Беларуси 3–7 рабочих дней, в отдалённые районы до 10 дней. Фактические сроки зависят от загрузки отделений.
  • Наложенный платёж поддерживается, перечисление раз в неделю. Сумма наложенного платежа (cod_sum) автоматически рассчитывается как стоимость заказа плюс почтовый сбор.

Интеграция снижает трудозатраты на обработку заказов до 95%. Ошибки ручного ввода исключаются — адреса и веса берутся напрямую из заказа. Это особенно важно для интернет-магазинов с большим ассортиментом и высокой сезонностью. Экономия на обработке одного заказа составляет до 8 минут, что при 100 заказах в месяц даёт более 13 часов сэкономленного времени.

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

  • Аналитика: аудит текущего обмена, определение точек интеграции (расчёт, создание, печать, трекинг).
  • Проектирование: разработка схемы обработчиков, агентов, HL-блоков (если нужна дополнительная логика).
  • Разработка: реализация транспорта, агентов синхронизации, интерфейса печати. Кеширование запросов расчёта — тегированное, с привязкой к корзине.
  • Тестирование: на тестовом контуре Белпочты (песочница) — проверка всех сценариев, включая ошибки API и таймауты.
  • Запуск: установка модуля на боевой сервер, настройка агентов, обучение сотрудников. Документация по эксплуатации и восстановлению после сбоев.

Сроки работ

Состав Срок
Расчёт + создание посылки 3–5 дней
+ Печать марки + трекинг +2 дня
+ Международные отправления +2 дня
Полный функционал (все опции) 5–9 дней

Сроки варьируются в зависимости от сложности каталога и требований к обмену с 1С. Например, если уже настроены торговые предложения и инфоблоки v2.0, интеграция выполняется быстрее. Для интернет-магазинов, работающих с 1С через CommerceML, мы настраиваем передачу статусов доставки обратно в 1С.

Оценим ваш проект — свяжитесь с нами для консультации. Закажите интеграцию — она окупится на первых ста отправлениях за счёт экономии времени и снижения возвратов. Получите готовое решение за 5–9 дней.