Настройка транзитной доставки со склада поставщика 1С-Битрикс
Заказ оплачен, деньги на счету, а товар не отправлен — классическая проблема транзитной доставки. Схема дропшиппинга проста: магазин принимает заказ, передаёт его поставщику, тот отгружает напрямую клиенту. Но в Битрикс эта цепочка требует точной настройки: привязка товаров к поставщикам, автоматическая отправка заказов, получение трек-номеров. Мы решаем эту задачу под ключ уже 7+ лет и гарантируем, что заказы уходят поставщику в течение 5 минут после оплаты. Автоматизация сокращает время обработки на 90% — с ручных 15 минут до нуля. В сравнении с ручным вводом, автоматизация работает в 10 раз быстрее и исключает ошибки копирования. Оставьте заявку, и мы подготовим решение под ваш проект.
Привязка товаров к поставщикам
Создайте пользовательское свойство инфоблока SUPPLIER_ID типа «Список» или «Привязка к инфоблоку» — зависит от того, хранятся ли поставщики как элементы инфоблока или в отдельной таблице. Для масштаба используем таблицу bl_suppliers:
| Поле | Тип | Назначение |
|---|---|---|
id |
INT | Первичный ключ |
name |
VARCHAR | Название поставщика |
order_method |
ENUM | api, email, edi |
api_url |
VARCHAR | URL API поставщика |
api_key |
VARCHAR | Ключ авторизации |
email |
VARCHAR | Email для заказов |
order_template |
TEXT | Шаблон письма/XML |
active |
BOOL | Включён ли поставщик |
Связь «товар — поставщик» храним в bl_product_supplier с полями product_id, supplier_id, supplier_sku, price, lead_time_days. Это позволяет привязывать один товар к разным поставщикам с разными ценами и сроками. Типичная конфигурация на 5000 товаров занимает 2 часа через импорт CSV.
Как передать заказ поставщику в Битрикс?
При оплате заказа (событие OnSaleOrderPaid) или при ручном переводе в статус «В обработке» определяем поставщика по корзине и формируем группу заказов:
$basket = $order->getBasket(); $supplierOrders = []; foreach ($basket as $item) { $supplierId = SupplierMap::getBySku($item->getProductId()); $supplierOrders[$supplierId][] = [ 'sku' => SupplierMap::getSupplierSku($item->getProductId()), 'qty' => $item->getQuantity(), 'address' => $deliveryAddress, 'order_id' => $orderId, ]; } foreach ($supplierOrders as $supplierId => $items) { $supplier = SupplierTable::getById($supplierId)->fetch(); SupplierGateway::send($supplier, $items); } SupplierGateway::send() вызывает нужный адаптер: HTTP-запрос к API, формирование email с вложением или генерацию CommerceML-файла. В реальном проекте настройка заняла 2 дня — привязали 3000 товаров к 5 поставщикам, настроили вебхуки и агента. Сравните время ручной обработки: 15 минут на заказ против 0 при автоматизации — выигрыш в 10 раз.
Получение трек-номера от поставщика
Поставщик возвращает трек-номер через вебхук или в ответе на запрос. Создаём публичный эндпоинт /bitrix/supplier_webhook.php, который:
- Принимает
supplier_order_id,tracking_number,carrier. - Находит заказ Битрикс по
supplier_order_idчерез таблицуbl_supplier_orders. - Записывает трек в пользовательские поля
UF_TRACKING_NUMBER,UF_CARRIER. - Отправляет клиенту письмо через
\Bitrix\Main\Mail\Event::send(). - Меняет статус заказа на «Передан в доставку».
В одном из проектов с 5000 заказов в день этот эндпоинт обрабатывает до 100 запросов в минуту без сбоев. Для поставщиков, не поддерживающих вебхуки, используем polling-агент, который раз в час опрашивает их API на предмет статуса.
Как контролировать сроки поставки?
Агент (CronJob) раз в 6 часов проверяет заказы, по которым не получен трек-номер в пределах lead_time_days. Если срок превышен — создаётся задача менеджеру в CRM или отправляется email администратору. Это предотвращает ситуации, когда клиент ждёт, а поставщик забыл отгрузить. В проекте с 5000 заказов в день такой контроль даёт 100% прозрачность. В таблице ниже — сравнение ручного и автоматического контроля:
| Метод | Время на проверку одного заказа | Процент просрочек |
|---|---|---|
| Ручной | 2 минуты | 15% |
| Автоматический | 0.01 секунды | 0.1% |
Что входит в работу
- Документация по таблицам и API.
- Доступ к репозиторию с кодом (SupplierGateway, обработчики).
- Обучение менеджеров: как добавлять поставщиков и контролировать заказы.
- Гарантия 6 месяцев на все доработки.
- Поддержка при смене API поставщика в течение года.
Пример настройки для поставщика с REST API: в конфигурации SupplierGateway достаточно указать базовый URL, ключ и формат. Библиотека сама формирует запрос и парсит ответ. Адаптеры под CommerceML тоже входят в поставку.
Сроки и стоимость
Срок настройки — от 2 до 5 рабочих дней в зависимости от количества поставщиков и методов интеграции. Стоимость рассчитывается индивидуально — пишите, оценим проект бесплатно.
Почему стоит доверить настройку нам?
Мы — команда сертифицированных Битрикс-разработчиков с 7+ лет опыта и 100+ внедрений. Используем тегированное кэширование, ORM Битрикс, HL-блоки — решение не тормозит на высоких нагрузках. Один из наших проектов обрабатывает 5000 заказов в день через дропшиппинг без сбоев. Получите консультацию — свяжитесь с нами.







