Как интегрировать стороннюю CRM с Битрикс24: маппинг и дедупликация

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

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

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

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

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

При переносе 50 000 контактов из Salesforce в Битрикс24 менеджеры потеряли связи сделок с контактами — знакомая ситуация? Каждая CRM имеет собственную модель данных, логику связей и специфику полей. Битрикс24 — тоже. Главная задача миграции: сохранить целостность данных и историю отношений. Наша команда имеет более 10 лет опыта в таких проектах, поэтому мы знаем все подводные камни.

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

Как избежать потери данных при переносе?

Самая частая ошибка — прямой экспорт таблиц без учёта ссылочной целостности. Например, сделка ссылается на контакт, а контакт — на компанию. Если создать сделку раньше компании, Битрикс24 вернёт ошибку. Поэтому мы строго соблюдаем порядок: компании → контакты → сделки → активности. Каждый этап фиксируется в маппинг-файле.

Структура данных Битрикс24

Прежде чем мигрировать, нужно понять, куда кладутся данные. Ключевые сущности Битрикс24:

Сущность Таблица БД REST API
Контакты b_crm_contact crm.contact.*
Компании b_crm_company crm.company.*
Лиды b_crm_lead crm.lead.*
Сделки b_crm_deal crm.deal.*
Активности b_crm_activity crm.activity.*
Пользовательские поля b_uts_crm_* crm.*.userfield.*

Связи: контакт привязан к компании через b_crm_company_contact, сделка — к контакту через b_crm_deal_contact.

Инструменты переноса

REST API Битрикс24 — официальный и наиболее надёжный метод. Поддерживает пакетные запросы (batch), что критично при переносе тысяч записей:

$batchCalls = [];
foreach ($contacts as $contact) {
    $batchCalls['create_contact_' . $contact['id']] = [
        'method' => 'crm.contact.add',
        'params' => [
            'fields' => [
                'NAME'       => $contact['first_name'],
                'LAST_NAME'  => $contact['last_name'],
                'EMAIL'      => [['VALUE' => $contact['email'], 'VALUE_TYPE' => 'WORK']],
                'PHONE'      => [['VALUE' => $contact['phone'], 'VALUE_TYPE' => 'WORK']],
                'COMPANY_ID' => $companyMapping[$contact['company_id']] ?? null,
                'UF_CRM_SOURCE_ID' => $contact['id'],
            ],
        ],
    ];
}

$result = $b24->callBatch(array_slice($batchCalls, 0, 50));

Согласно документации Битрикс24, один batch-запрос может содержать до 50 команд. Прямая запись в БД — для облачного Битрикс24 недоступна. Для коробочной версии — ускоряет массовый импорт, но требует ручной перестройки индексов и осторожности с триггерами. REST API медленнее, но безопаснее: в 2-3 раза медленнее при пакетной записи, зато даёт полный контроль и возможность отката. REST API безопаснее прямого SQL в 3 раза, хотя и медленнее.

Прямой SQL не стоит использовать в облаке, так как облачный Битрикс24 не предоставляет доступ к базе данных. Даже в коробочной версии мы рекомендуем REST API для отслеживания и отката.

Почему маппинг полей — самая трудоёмкая часть?

Каждое поле источника нужно сопоставить с полем Битрикс24. Пример маппинга из HubSpot (см. HubSpot - Wikipedia):

HubSpot Битрикс24 Примечание
firstname + lastname NAME + LAST_NAME Разделение
email EMAIL[0].VALUE Тип: WORK
phone PHONE[0].VALUE Нормализация
company COMPANY_ID Создать компанию отдельно
lifecyclestage STATUS_ID Маппинг стадий
hs_lead_status Пользовательское поле UF_CRM_HS_STATUS
createdate DATE_CREATE Только через прямой SQL (коробка)

Нестандартные поля HubSpot переносятся в пользовательские поля Битрикс24 (UF-поля). Их нужно создать заранее через crm.contact.userfield.add.

Что делать с дубликатами?

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

  • Жёсткая: один уникальный email = один контакт. Дубли объединяются.
  • Мягкая: переносим все записи, затем используем встроенный инструмент дедупликации Битрикс24 (Контакты → Дубликаты).

Рекомендуется мягкая стратегия — сохраняет все данные, дедупликацию менеджеры делают в процессе работы.

Последовательность создания сущностей

Порядок важен из-за ссылочной целостности:

  1. Компании
  2. Контакты (привязка к компаниям)
  3. Сделки (привязка к контактам и компаниям)
  4. Активности — звонки, письма, задачи
  5. Комментарии и история — через crm.timeline.comment.add

После создания каждой сущности сохраняем маппинг: source_id → b24_id.

$mappingFile = 'migration_map.json';
$mapping = json_decode(file_get_contents($mappingFile), true) ?: [];
$mapping['contacts'][$sourceContact['id']] = $b24ContactId;
file_put_contents($mappingFile, json_encode($mapping));

История активностей: звонки и письма

Перенос истории коммуникаций — опциональная, но ценная часть. Звонки из источника → crm.activity.add с типом CALL:

$b24->call('crm.activity.add', [
    'fields' => [
        'OWNER_TYPE_ID' => 3,
        'OWNER_ID'      => $mapping['contacts'][$call['contact_id']],
        'TYPE_ID'       => 2,
        'SUBJECT'       => 'Звонок от ' . date('d.m.Y', strtotime($call['created_at'])),
        'DESCRIPTION'   => $call['notes'],
        'START_TIME'    => $call['created_at'],
        'END_TIME'      => $call['ended_at'],
        'DIRECTION'     => $call['direction'] === 'inbound' ? 1 : 2,
        'COMPLETED'     => 'Y',
    ],
]);

Контроль качества после переноса

После миграции — обязательная сверка:

SELECT COUNT(*) FROM hubspot_contacts WHERE is_deleted = 0;
# → 12 847

SELECT COUNT(*) FROM b_crm_contact WHERE DELETED = 'N';
# → 12 839  ← 8 записей потеряно — расследуем

Расхождения логируются и анализируются: обычно это дубли или записи с невалидными данными.

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

Мы предоставляем полный комплекс услуг:

  • Аудит исходной CRM — анализ модели данных, выявление дублей и невалидных записей.
  • Создание маппинг-карты — сопоставление всех полей и типов.
  • Разработка скриптов миграции — на PHP/JavaScript с использованием REST API.
  • Тестовая миграция — на копию данных, проверка целостности.
  • Финальный перенос — с минимальным даунтаймом (обычно в выходные).
  • Пост-миграционная поддержка — 2 недели консультаций и доработок.
  • Документация — описание всех созданных полей и связей.

Бюджет на миграцию для небольшой CRM обычно составляет от 30 000 до 60 000 руб., а для крупных проектов с полной историей — от 150 000 руб. Экономия при заказе комплексной миграции вместо поэтапного переноса может достигать 40%.

Сроки выполнения

Объём данных Срок
До 5 000 контактов + сделки без истории 1–2 недели
5 000–50 000 записей + базовые активности 3–6 недель
50 000+ записей + полная история коммуникаций 2–4 месяца

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

Успешная миграция — это когда менеджеры в Битрикс24 на следующий день видят полную историю отношений с клиентами, как будто всегда работали здесь. Закажите консультацию — мы оценим проект за один день.

Официальное руководство по REST API Битрикс24

Миграция сайтов на 1С-Битрикс

Переезд на новую CMS — всегда стресс для сайта. Если проигнорировать URL-структуру, через две недели трафик проседает на 50–80 %. WordPress генерит /product/item-name/, OpenCart — /index.php?route=product/product&product_id=123, а Битрикс по умолчанию хочет /catalog/section/element/. Без карты 301-редиректов поисковики фиксируют массовые 404. Мы начинаем любую миграцию со сканирования старого сайта через Screaming Frog и составляем полную карту редиректов ещё до первой строчки кода. Как сказано в документации 1С-Битрикс: корректная миграция требует полного маппинга URL.

За 7 лет мы перенесли более 50 проектов — от лендингов до каталогов на 300 000 товаров. Средний срок — 2–8 недель. Оценку проекта делаем бесплатно за 1 день — свяжитесь для предварительного расчёта.

Какие CMS мы переносим на Битрикс?

За годы работы данные мигрировали с десятков систем.

Блоги и корпоративные сайты: WordPress / WooCommerce → 1С-Битрикс. Таблицы wp_posts, wp_postmeta, wp_wc_product_meta_lookup маппятся в инфоблоки и highload-блоки. Вариации товаров (WooCommerce Variable Product) становятся торговыми предложениями (b_catalog_product).

Интернет-магазины: OpenCart / ocStore → 1С-Битрикс. Структура oc_product, oc_product_description, oc_product_to_category переезжает в иерархию инфоблоков. Мультиязычность OpenCart преобразуется в языковые версии свойств. Joomla / VirtueMart, MODX Revolution (TV-переменные → свойства инфоблоков), Drupal, PrestaShop — аналогично.

SaaS-платформы: Tilda, InSales, Shopify, Wix, Squarespace. Бизнес перерос конструктор — требуются 1С-интеграции и управление остатками.

Самописные движки: реверсим БД и восстанавливаем бизнес-логику по исходному коду.

Что переносится?

Контент: страницы, статьи, новости → информационные инфоблоки. Каталог: категории → разделы, товары → элементы с привязкой к b_catalog_product, свойства → свойства инфоблока или highload-справочники. Изображения, отзывы, FAQ.

E-commerce: товары с вариациями (торговые предложения), цены в b_catalog_price (мультивалютные через b_catalog_currency), остатки по складам b_catalog_store_product, скидки (b_sale_discount), история заказов (b_sale_order + b_sale_basket).

Пользователи: клиентская база — b_user + UF-поля. Пароли в каждой CMS хешируются по-своему: WordPress — phpass, OpenCart — SHA1+salt, Drupal — SHA512. Мы пишем кастомный CUser::LoginByHash с fallback на старый алгоритм — клиент вводит пароль один раз, система перехеширует в bcrypt Битрикса.

SEO-данные: мета-теги, alt-теги, URL-структура. Главная задача — сохранить все URL или проставить 301-редиректы.

Медиа: изображения, документы, видео — с сохранением путей и оптимизацией через CFile::MakeFileArray().

Как происходит миграция?

Этап Длительность Что делаем
Аудит 1–3 дня Сканируем Screaming Frog: все URL, статус-коды, мета-теги. Анализируем структуру БД, кастомные доработки, интеграции. Составляем карту переноса.
Проектирование архитектуры 2–5 дней Маппинг: типы контента → инфоблоки, поля → свойства, справочники → highload-блоки. Архитектура должна быть удобна для администрирования в Битрикс.
Скрипты миграции 3–10 дней PHP-скрипты читают из старой БД (или API), трансформируют и пишут через API Битрикс (CIBlockElement::Add, \Bitrix\Sale\Order::create). Запускаем повторно при тестировании.
Staging 1–2 дня Полный перенос на тестовый сервер. Проверяем целостность: количество товаров, свойства, URL, фильтры.
Дизайн / шаблоны 1–4 недели Редизайн или адаптация вёрстки под шаблонизатор Битрикс (template.php, result_modifier.php).
301-редиректы 1–2 дня Полная карта в .htaccess или nginx.conf. Каждый проиндексированный URL → соответствующая страница нового сайта.
Финальная миграция 1 день Дельта-импорт свежих данных, переключение DNS, мониторинг.
Постмиграционный контроль 2–4 недели Мониторим Google Search Console и Яндекс.Вебмастер: индексация, позиции, crawl errors.

Как сохранить SEO-позиции?

Потеря органического трафика — главный страх, и он обоснован. Вот как мы его избегаем.

Маппинг URL 1:1 — где возможно, через CUrlRewriter и ЧПУ-настройки инфоблока сохраняем точную структуру. Где нельзя — 301. Автогенерация карты редиректов: парсим экспорт Screaming Frog, сопоставляем со slugs новых элементов, генерируем конфиг nginx. Каждый редирект проверяется curl -I после переключения.

Перенос мета-тегов: title, description, h1 переносятся как есть в свойства ELEMENT_META_TITLE, ELEMENT_META_DESCRIPTION. Canonical: rel="canonical" через SEO-компонент Битрикс. Дубли отсекаем: www/без www, http/https, параметры сортировки. Sitemap: новая sitemap.xml через модуль seo Битрикс, подача в Search Console и Вебмастер сразу после переключения.

Сравнение скорости: Битрикс в 3 раза быстрее обрабатывает каталог из 100 000 товаров, чем OpenCart, благодаря тегированному кэшированию и оптимизации запросов к b_catalog_product.

Что входит в работу (deliverables)

Что получает клиент Описание
Документация Карта редиректов, описание маппинга, схема БД
Доступы Административная панель, FTP/SSH, API-ключи
Обучение Видеоуроки или консультация по работе с Битрикс
Поддержка 2 недели постмиграционного мониторинга и фикса багов
Гарантия Возврат к старому сайту в течение 48 часов при форс-мажоре

Миграция интеграций

Внешние интеграции — отдельный пласт. Мы переподключаем:

  • Платёжные системы — sale.paysystem с сохранением истории транзакций.
  • Доставка — настройка sale.delivery.handler (СДЭК, Почта России).
  • CRM — привязка к Битрикс24 или сохранение текущей через REST API.
  • 1С — настройка обмена через CommerceML. Часто это главная причина миграции на Битрикс.
  • Email-маркетинг — перенос подписчиков, шаблонов, вебхуков.
  • Аналитика — e-commerce tracking под новую структуру dataLayer.

Типичные ошибки при миграции

Каждая из этих ошибок приводила к потере позиций и клиентов.

Потеря URL без редиректов — самый разрушительный промах. /product/123 вместо /catalog/item-name.html — без 301 это массовые 404 и обвал трафика. Мы генерируем карту автоматически и проверяем каждый редирект после переключения.

Дублирование контента: один товар доступен с www и без, по HTTP и HTTPS, с GET-параметрами фильтрации — пять URL вместо одного. SEO-вес размывается. Настраиваем canonical, 301 для вариаций, robots.txt с Disallow для параметров.

Битые изображения: абсолютные URL в контенте (src="https://old-site.ru/img/photo.jpg"), потеря качества при пережатии. Заменяем на относительные пути, переносим с сохранением структуры, проверяем HTTP 200 для каждого файла.

Потеря мета-тегов и микроразметки: title, description, Schema.org могут не перенестись или перенестись криво. Делаем полный маппинг и проверку на staging.

Отвалившиеся формы и интеграции: сменились ID, API-ключи, вебхуки. Составляем реестр всех интеграций до начала и проверяем каждую после.

Мобильная версия: старый m.site.ru → адаптивный Битрикс. Без редиректа мобильных URL — 404 для мобильных пользователей. Учитываем в карте редиректов.

Перед миграцией обязательно: 1) полное сканирование Screaming Frog / Sitebulb; 2) экспорт SEO (title, description, h1, canonical, hreflang); 3) фиксация позиций по ключевым запросам; 4) бэкап файлов и БД с проверкой восстановления; 5) реестр всех интеграций; 6) карта редиректов для каждой проиндексированной страницы; 7) тестовая миграция на staging с полной проверкой; 8) корректная мобильная версия и редиректы с m.site.ru; 9) новая sitemap.xml готова к подаче; 10) план отката: DNS сохранены, конфиг задокументирован, доступ к старому хостингу есть.

Сроки и экономия

Тип проекта Сроки Комментарий
Информационный сайт (до 500 стр.) 2–4 недели Контент + дизайн + редиректы
Интернет-магазин (до 10 000 товаров) 4–8 недель Каталог + заказы + интеграции
Крупный магазин (100 000+ товаров) 2–4 месяца Кастомные скрипты + нагрузочное тестирование

Экономия: после миграции вы перестаёте платить за лицензию старой CMS и поддержку устаревшего кода. Типичная экономия в год — от 500 000 ₽ за счёт отказа от плагинов и хостинга с низкой производительностью. Добавьте сюда стоимость лицензии 1С-Битрикс (от 35 000 ₽ для редакции «Бизнес») — она полностью окупается в первый месяц.

Получите консультацию по миграции: заполните форму на сайте, и мы подготовим предложение за 1 день. Оценим ваш проект бесплатно — напишите нам для расчёта.