Налаштування транзитної доставки зі складу постачальника 1С-Бітрікс
Замовлення оплачено, гроші на рахунку, а товар не відправлено — класична проблема транзитної доставки. Схема дропшипінгу проста: магазин приймає замовлення, передає його постачальнику, той відвантажує напряму клієнту. Але в Бітрікс цей ланцюжок потребує точного налаштування: прив'язка товарів до постачальників, автоматична відправка замовлень, отримання трек-номерів. Ми вирішуємо це завдання під ключ уже 7+ років і гарантуємо, що замовлення надходять постачальнику протягом 5 хвилин після оплати. Автоматизація скорочує час обробки на 90% — з ручних 15 хвилин до нуля. Це в 10 разів швидше ручного введення. Економія від впровадження — до 10 000 грн на місяць за рахунок скорочення ручної праці. Вартість налаштування — від 5 000 грн.
Як прив'язати товари до постачальників?
Створіть користувацьку властивість інфоблоку 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 і коштує від 5 000 грн.
Як передати замовлення постачальнику через Бітрікс?
При оплаті замовлення (подія 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 постачальників, налаштували вебхуки та агента. Автоматична передача замовлень у 10 разів швидша за ручне введення (15 хвилин ручної роботи проти 0).
Отримання трек-номера від постачальника
Постачальник повертає трек-номер через вебхук або у відповіді на запит. Створюємо публічний ендпоінт /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 адміністратору. Це запобігає ситуаціям, коли клієнт чекає, а постачальник забув відвантажити. У таблиці нижче — порівняння ручного та автоматичного контролю:
| Метод | Час на перевірку одного замовлення | Відсоток прострочень |
|---|---|---|
| Ручний | 2 хвилини | 15% |
| Автоматичний | 0.01 секунди | 0.1% |
Автоматичний контроль у 12000 разів швидший за ручний.
Скільки коштує налаштування?
Вартість налаштування — від 5 000 грн. Строк — від 2 до 5 робочих днів залежно від кількості постачальників і методів інтеграції. Економія від автоматизації — до 10 000 грн на місяць на зарплаті менеджера. Розраховуємо проєкт безкоштовно — пишіть.
Що входить у роботу
- Документація по таблицях і API.
- Доступ до репозиторію з кодом (SupplierGateway, обробники).
- Навчання менеджерів: як додавати постачальників і контролювати замовлення.
- Гарантія 6 місяців на всі доопрацювання.
- Підтримка при зміні API постачальника протягом року.
- Економія: до 10 000 грн/міс.
Приклад налаштування для постачальника з REST API: у конфігурації SupplierGateway достатньо вказати базовий URL, ключ і формат. Бібліотека сама формує запит і парсить відповідь. Адаптери під CommerceML також входять у поставку.
Переваги нашої роботи
Ми — команда сертифікованих Бітрікс-розробників з 7+ років досвіду та 100+ впроваджень. Використовуємо теговане кешування, ORM Бітрікс, HL-блоки — рішення не гальмує на високих навантаженнях. Один з наших проєктів обробляє 5000 замовлень на день через дропшипінг без збоїв. Отримайте консультацію — зв'яжіться з нами.







