Разработка модуля интеграции 1С-Битрикс с CRM: автоматизация

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

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

Этапы разработки

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

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

Автоматизация: разработка модуля интеграции с CRM 1С-Битрикс

Ежедневно вы теряете заказы из-за ручного переноса данных в CRM. Дубли контактов, забытые сделки, часы рутины — это стоит бизнесу до 200 000 рублей в год. Мы создаём модуль синхронизации между Битрикс и CRM, который автоматизирует двусторонний обмен заказами, контактами, сделками и статусами. Без ручного ввода. Без потерь. Наш опыт — более 500 проектов на 1С-Битрикс — позволяет проектировать надёжную архитектуру с очередями, дедупликацией и логированием. Закажите разработку модуля под ключ — и забудьте о ручном вводе навсегда. Модуль окупается в среднем за 4 месяца, экономя до 300 000 рублей в год. Среднее время синхронизации одной операции — 2 секунды, а пропускная способность — до 1000 заказов в минуту. Ручной ввод — главный источник ошибок: забыли передать контакт, неправильно указали сумму. Автоматизация снижает эти риски до нуля.

Интеграция с различными CRM и передаваемые данные

Интегрируемся с Битрикс24, amoCRM, RetailCRM, Salesforce, HubSpot. Через REST API и вебхуки. При оформлении заказа создаётся сделка с данными покупателя, составом, суммой, UTM. Контакт или компания обновляется по нормализованному номеру телефона или email — это исключает дубли в 95% случаев. При изменении статуса заказа на сайте статус сделки в CRM обновляется автоматически. Обратная синхронизация обновляет статус на сайте через вебхук — в среднем за 2 секунды. Полный обмен заказами между сайтом и CRM в реальном времени.

Как работает синхронизация: пошаговая инструкция

  1. Покупатель оформляет заказ на сайте.
  2. Событие OnOrderNew активирует обработчик.
  3. Модуль формирует запрос к CRM через REST API.
  4. Если CRM недоступна, запрос сохраняется в очередь.
  5. Раз в минуту cron повторяет неудачные запросы.
  6. Успешная синхронизация фиксируется в логе.

Архитектура модуля

local/modules/vendor.crmintegration/
├── lib/
│   ├── Adapter/
│   │   ├── Bitrix24Adapter.php
│   │   └── RetailCrmAdapter.php
│   ├── Mapper/
│   │   ├── OrderMapper.php    # Заказ → сделка
│   │   └── UserMapper.php     # Пользователь → контакт
│   ├── SyncService.php
│   └── WebhookHandler.php     # Обработка входящих вебхуков
└── install/db/install.sql
Схема таблицы лога синхронизаций
Поле Тип Назначение
ID int auto_increment
ENTITY_TYPE varchar(50) order, user, product
ENTITY_ID int ID сущности на сайте
CRM_TYPE varchar(50) lead, deal, contact
CRM_ID varchar(100) ID в CRM
DIRECTION enum OUTBOUND, INBOUND
STATUS enum SUCCESS, ERROR, PENDING
ERROR_MESSAGE text Текст ошибки
CREATED_AT datetime

Интеграция с Битрикс24 и дедупликация контактов

Для Битрикс24 используем REST API. Создание сделки при новом заказе:

$dealData = [
    'TITLE'        => 'Заказ #' . $orderId . ' с сайта',
    'OPPORTUNITY'  => $order->getPrice(),
    'CURRENCY_ID'  => $order->getCurrency(),
    'SOURCE_ID'    => 'WEB',
    'UF_ORDER_ID'  => $orderId,  // пользовательское поле в Б24
];

$response = $this->callBitrix24(
    'crm.deal.add',
    ['fields' => $dealData]
);

$dealId = $response['result'];

// Добавляем товары к сделке
foreach ($basket as $item) {
    $this->callBitrix24('crm.deal.productrows.set', [
        'id' => $dealId,
        'rows' => [[
            'PRODUCT_NAME' => $item->getField('NAME'),
            'PRICE'        => $item->getPrice(),
            'QUANTITY'     => $item->getQuantity(),
            'PRODUCT_ID'   => $item->getProductId(),
        ]],
    ]);
}

Метод callBitrix24 выполняет запрос к https://portal.bitrix24.ru/rest/{token}/. Токен хранится в настройках модуля (b_option). Перед созданием нового контакта ищем существующий по нормализованному телефону:

$existing = $this->callBitrix24('crm.contact.list', [
    'filter' => ['PHONE' => $normalizedPhone],
    'select' => ['ID', 'NAME'],
]);

if (!empty($existing['result'])) {
    $contactId = $existing['result'][0]['ID'];
    // Обновляем существующий, не создаём дубль
} else {
    $contactId = $this->callBitrix24('crm.contact.add', [... ]);
}

Нормализация убирает различия в форматировании: +7 (999) 123-45-67 и 89991234567 — один номер.

Почему REST API надёжнее файлового обмена?

Файловый обмен (CommerceML, CSV) — источник конфликтов: дубли, задержки, потеря данных. REST API работает в реальном времени, каждая операция подтверждается ответом сервера. При ошибке модуль повторяет запрос или сохраняет в очередь — файловый обмен такой гарантии не даёт. Подробнее о преимуществах REST можно прочитать в Wikipedia.

Как работает очередь сообщений и отказоустойчивость?

Все исходящие запросы к CRM помещаются в очередь в таблице b_crm_queue. Cron обрабатывает очередь каждую минуту, повторяя неудачные попытки (до 5 раз с интервалом 10 секунд). Это гарантирует, что при недоступности API CRM заказы не теряются. Входящие вебхуки обрабатываются скриптом:

// local/api/crm/webhook/index.php
$payload = json_decode(file_get_contents('php://input'), true);

\Vendor\CrmIntegration\WebhookHandler::handle($payload);

Обработчик по CRM_ID из b_crm_sync_log находит ORDER_ID, обновляет статус через $order->setField('STATUS_ID', $mappedStatus) и сохраняет.

Что входит в разработку модуля?

  • Анализ API целевой CRM и текущих бизнес-процессов (1 день).
  • Проектирование архитектуры модуля и схемы данных (1 день).
  • Написание адаптеров, мапперов, сервиса синхронизации (3–5 дней).
  • Настройка вебхуков и очереди сообщений (1–2 дня).
  • Интеграционное тестирование на тестовом и боевом контурах (2–3 дня).
  • Документация по эксплуатации и обучение ваших менеджеров (1 день).
  • Техническая поддержка 3 месяца после запуска.

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

Масштаб Состав Срок
Базовый Одна CRM, передача заказа/контакта, исходящая синхронизация 5–8 дней
Стандартный + Вебхуки, двусторонняя синхронизация, дедупликация, очередь 10–15 дней
Расширенный + Две CRM, маппинг статусов, аналитика синхронизаций, Admin UI 18–25 дней

Свяжитесь с нами для оценки вашего проекта — рассчитаем точную стоимость и сроки за один рабочий день. Получите консультацию — мы проанализируем вашу CRM и предложим оптимальное решение.