Разработка промежуточного сервиса обмена 1С и Битрикс

Прямая связь 1С и Битрикс проста, пока систем две. Добавьте склады, CRM и маркетплейсы — каждая новая связь удваивает сложность. На одном проекте клиент соединил три сайта на Битрикс с единой 1С напрямую. Каждую неделю синхронизация слетала, дублировались заказы, расходились остатки. Среднее время н
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка промежуточного сервиса обмена 1С и Битрикс
Средний
~1-2 недели

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

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

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

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

Прямая связь 1С и Битрикс проста, пока систем две. Добавьте склады, CRM и маркетплейсы — каждая новая связь удваивает сложность. На одном проекте клиент соединил три сайта на Битрикс с единой 1С напрямую. Каждую неделю синхронизация слетала, дублировались заказы, расходились остатки. Среднее время на исправление — четыре часа. Мы спроектировали промежуточный сервис (middleware), который стал единым шлюзом для всех систем. Результат: ошибки ушли, время синхронизации сократилось в два раза.

Middleware под ключ нужен, когда несколько сайтов на Битрикс подключены к одной 1С, когда требуется синхронизация с CRM или маркетплейсами, когда конфигурация 1С нестандартна, а требования к трансформации данных выходят за рамки CommerceML-маппинга. Он изолирует бизнес-логику обмена и делает её тестируемой отдельно. Закажите аудит — мы оценим ваш проект.

Когда необходим middleware?

  • Несколько сайтов на Битрикс подключены к одной 1С
  • 1С + Битрикс + CRM (AmoCRM, Bitrix24) — данные нужно синхронизировать между всеми
  • Нестандартная конфигурация 1С без HTTP-сервисов — нужен адаптер
  • Требования к трансформации данных сложнее, чем можно реализовать в CommerceML-маппинге
  • Бизнес-логика обмена должна быть изолирована и тестируема отдельно от 1С и Битрикс

Почему middleware эффективнее прямых интеграций?

Прямые связи превращают архитектуру в паутину. Каждая новая система требует доработки всех существующих соединений. Middleware снижает количество ошибок синхронизации в три раза за счёт единой очереди задач и централизованного журнала. При сбое достаточно перезапустить один компонент, а не латать каждую связь. Наши инженеры с опытом более десяти лет в Битрикс и 1С гарантируют стабильность обмена даже при пиковых нагрузках. За это время мы реализовали более 50 проектов по интеграции.

Обработка ошибок в middleware

Очередь задач с механизмом backoff: если задача упала, она автоматически повторяется через 5 минут. Максимум 3 попытки, после чего ошибка фиксируется в SyncLog. Другие задачи не блокируются — каждый элемент синхронизируется независимо. Это позволяет локализовать проблему и не терять данные.

Как работает очередь задач?

Очередь строится на Redis и Horizon (Laravel) или аналогичном решении. Каждая задача — это класс, реализующий интерфейс ShouldQueue. При неудаче задача повторяется с экспоненциальной задержкой. Это гарантирует, что временные сбои (например, недоступность API) не приводят к потере данных.

Архитектура и технический стек

[1С] ←→ [Middleware] ←→ [Битрикс] ←→ [CRM] ←→ [Маркетплейс] 

Middleware — отдельное приложение (PHP, Node.js, Python, Go — по стеку команды). Его ядро:

  1. Адаптеры подключения: умеет читать/писать в каждую систему через её API
  2. Маппинг данных: преобразует объекты из формата одной системы в формат другой
  3. Очередь задач: хранит задачи на синхронизацию, обеспечивает повторы при сбоях
  4. Журнал обмена: история всех операций с результатами
  5. Конфигурация правил: какие поля синхронизировать, в каком направлении, с какими преобразованиями

Адаптеры и мапперы

Пример адаптера для Битрикс через REST API:

class BitrixAdapter { private string $webhookUrl; public function getOrders(array $filter = []): array { $response = $this->call('crm.deal.list', [ 'filter' => $filter, 'select' => ['ID', 'TITLE', 'STAGE_ID', 'OPPORTUNITY', 'UF_ORDER_ID'], ]); return $response['result'] ?? []; } public function updateProductStock(int $productId, int $quantity): bool { $response = $this->call('catalog.storeProduct.update', [ 'id' => $productId, 'fields' => ['AMOUNT' => $quantity], ]); return $response['result'] ?? false; } public function createOrder(array $fields): int { $response = $this->call('sale.order.add', ['fields' => $fields]); return $response['result']['order']['id'] ?? 0; } private function call(string $method, array $params = []): array { $response = file_get_contents( $this->webhookUrl . $method . '.json?' . http_build_query($params) ); return json_decode($response, true); } } 

Полный список методов описан в REST API Битрикс24. Маппер с правилами трансформации:

class ProductMapper { private array $categoryMapping; private array $propertyMapping; public function oneCToBitrix(array $oneCProduct): array { return [ 'IBLOCK_ID' => config('bitrix.catalog_iblock_id'), 'XML_ID' => $oneCProduct['Ref_Key'], 'NAME' => $oneCProduct['Description'], 'ACTIVE' => $oneCProduct['DeletionMark'] ? 'N' : 'Y', 'DETAIL_TEXT' => $oneCProduct['КомментарийДляСайта'], 'IBLOCK_SECTION_ID' => $this->mapCategory($oneCProduct['ОсновнаяТоварнаяГруппа_Key']), 'PROPERTY_ARTICLE' => $oneCProduct['Артикул'], 'PROPERTY_WEIGHT' => $oneCProduct['Вес'] * 1000, 'PROPERTY_BRAND' => $this->resolveBrand($oneCProduct['Производитель_Key']), ]; } } 

Очередь и надёжность

class SyncProductsJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public int $tries = 3; public int $backoff = 300; public function handle(OneCAdapter $oneC, BitrixAdapter $bitrix, ProductMapper $mapper): void { $products = $oneC->getModifiedProducts($this->sinceDate); foreach ($products as $oneCProduct) { try { $bitrixFields = $mapper->oneCToBitrix($oneCProduct); $bitrix->upsertProduct($bitrixFields); SyncLog::create([...]); } catch (\Exception $e) { SyncLog::create([...]); } } } } 

Мониторинг

Middleware без интерфейса управления — чёрный ящик. Минимальный dashboard:

  • Статус последних сеансов обмена (успех / ошибка / время)
  • Список ошибок с возможностью повторного запуска
  • Статистика: сколько объектов синхронизировано за сутки/неделю
  • Ручной запуск синхронизации для отдельного объекта или типа данных

Реализуется как простой Laravel/Symfony веб-интерфейс или через Laravel Horizon.

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

Этап Результат
Аудит систем Анализ текущих обменов, версий, объёмов. Архитектурная схема.
Проектирование Схема middleware, выбор стека, спецификация адаптеров и мапперов.
Реализация Код адаптеров, мапперов, очередей, логирования, dashboard.
Тестирование Нагрузочное тестирование, проверка пограничных случаев, корректировка.
Документация Инструкция по эксплуатации, описание API, схема развёртывания.
Обучение Сессия для администраторов, передача доступов.
Гарантийная поддержка 2 месяца после сдачи — исправление ошибок, консультации.

Процесс разработки

Этап Описание
Аудит систем Анализируем версии 1С и Битрикс, текущие обмены, объём данных. Выявляем узкие места.
Проектирование архитектуры Разрабатываем схему middleware, определяем стек, адаптеры, маппинг.
Реализация адаптеров и мапперов Пишем код подключения к каждой системе и правила трансформации.
Настройка очередей и логирования Внедряем очередь задач (Redis + Horizon) и журнал SyncLog.
Разработка dashboard Создаём интерфейс для мониторинга и ручного управления обменом.
Тестирование и отладка Проводим нагрузочное тестирование, отлавливаем пограничные случаи.
Документация и обучение Передаём документацию по архитектуре и инструкции для администраторов.

Сроки разработки

Объём middleware Срок
Два адаптера (1С + Битрикс) + 2–3 маппера + очередь 3–5 недель
+ 3-я система (CRM) + расширенный маппинг +2–3 недели
+ Dashboard мониторинга + ручное управление +1–2 недели
Полная система для 5+ систем 3–6 месяцев

Свяжитесь с нами для консультации. Закажите аудит — наши инженеры оценят ваш проект и предложат оптимальное решение.