Миграция данных из HubSpot в Битрикс24
HubSpot — американская CRM-платформа с богатым API и детальной документацией. Это делает техническую сторону экспорта относительно прозрачной. Сложность миграции в Битрикс24 — в концептуальных различиях между системами: HubSpot строится вокруг «Контактов» и «Компаний» как центральных объектов, тогда как Битрикс24 добавляет к этому понятие «Лида» как первичной заявки.
HubSpot API: что доступно
HubSpot предоставляет REST API v3 с полным доступом ко всем данным. Основные объекты:
-
contacts— контакты (физические лица) -
companies— компании -
deals— сделки с воронками и стадиями -
tickets— тикеты поддержки -
engagements/activities— активности (письма, звонки, встречи, задачи) -
owners— владельцы (менеджеры) -
properties— кастомные поля (schema)
Получение данных через HubSpot API v3:
// Получение контактов с пагинацией (cursor-based)
$after = null;
$contacts = [];
do {
$params = ['limit' => 100, 'properties' => 'firstname,lastname,email,phone,company'];
if ($after) $params['after'] = $after;
$response = $hubspot->get('/crm/v3/objects/contacts', $params);
$contacts = array_merge($contacts, $response['results']);
$after = $response['paging']['next']['after'] ?? null;
} while ($after);
HubSpot использует cursor-based пагинацию (через поле after), в отличие от offset-based у многих других систем.
Маппинг объектов
| HubSpot | Битрикс24 | Особенности |
|---|---|---|
| Contact | Контакт | email → EMAIL, phone → PHONE (массив) |
| Company | Компания | Привязка Contact → Company через COMPANY_ID |
| Deal | Сделка | Pipeline → направление сделок |
| Ticket | Лид или тикет helpdesk | Зависит от бизнес-процессов |
| Owner | Пользователь Битрикс24 | Маппинг по email |
| Engagement (note) | Комментарий таймлайна | crm.timeline.comment.add |
| Engagement (email) | Дело типа «Письмо» | crm.activity.add |
| Engagement (call) | Дело типа «Звонок» | crm.activity.add |
Кастомные свойства HubSpot
HubSpot позволяет создавать произвольные свойства для каждого объекта. Схему свойств получаем через /crm/v3/properties/contacts (и аналогично для других объектов). Для каждого кастомного свойства нужно создать пользовательское поле в Битрикс24 через crm.userfield.add.
Типы свойств HubSpot и их аналоги в Битрикс24:
| HubSpot fieldType | Битрикс24 USER_TYPE_ID |
|---|---|
text |
string |
number |
double |
date |
date |
datetime |
datetime |
checkbox |
boolean |
select, radio |
enumeration |
textarea |
string |
Ассоциации между объектами
HubSpot хранит связи между объектами через API ассоциаций (/crm/v3/associations). Контакт может быть связан с несколькими компаниями, сделка — с несколькими контактами. В Битрикс24 модель проще: у контакта одна основная компания (COMPANY_ID), а мультипривязки реализуются через связи CRM.
При миграции множественные ассоциации нужно приоритизировать: выбрать основную компанию для контакта и основной контакт для сделки.
Электронная почта и история коммуникаций
Письма в HubSpot хранятся как engagements типа EMAIL. Они содержат тему, тело письма, дату, ID контакта. В Битрикс24 это дела типа EMAIL через crm.activity.add:
$bitrix->call('crm.activity.add', [
'fields' => [
'TYPE_ID' => 4, // EMAIL
'SUBJECT' => $engagement['metadata']['subject'],
'DESCRIPTION' => $engagement['metadata']['html'] ?? $engagement['metadata']['text'],
'START_TIME' => date('d.m.Y H:i:s', $engagement['createdAt'] / 1000),
'BINDINGS' => [['ENTITY_TYPE_ID' => 3, 'ENTITY_ID' => $contactId]],
'DIRECTION' => $engagement['metadata']['from'] ? 2 : 1, // входящее/исходящее
],
]);
Типичные сроки
| Масштаб | Срок |
|---|---|
| до 10 000 контактов, базовые данные | 2–3 недели |
| 10 000–50 000 записей, активности | 4–8 недель |
| 50 000+ записей, вся история коммуникаций | 2–4 месяца |
HubSpot Marketing Hub (email-кампании, landing pages) в Битрикс24 не мигрирует — это отдельный класс инструментов без прямого аналога.







