Миграция данных из Salesforce в Битрикс24
Salesforce хранит данные в своей объектной модели: Account, Contact, Lead, Opportunity, Task, Event. Каждый объект может содержать сотни кастомных полей, настроенных под конкретный бизнес. Прямого импорта между Salesforce и Битрикс24 не существует. Задача решается через промежуточный слой: экспорт через Salesforce API или Data Export, трансформация данных и загрузка через REST API Битрикс24. Мы накопили опыт десятков успешных миграций и гарантируем целостность данных. Закажите миграцию под ключ — оценим ваш проект за 1 день.
Почему прямая миграция из Salesforce в Битрикс24 невозможна?
Salesforce использует собственную объектную модель с уникальными идентификаторами. Битрикс24 оперирует своей структурой инфоблоков и CRM-сущностей. Различия в типах полей (lookup, picklist, formula), форматах телефонных номеров и адресов требуют обязательной трансформации. Кроме того, в Salesforce накапливается мусор: удалённые записи, дубликаты, пустые поля. Без предварительного аудита прямой перенос приведёт к ошибкам.
Анализ структуры данных Salesforce
Первый шаг — аудит реально используемых данных. В типичном Salesforce-аккаунте накапливается несколько лет мусора: удалённые записи в корзине, дублированные контакты, устаревшие поля с нулевым заполнением. Перед миграцией необходимо:
- Выгрузить схему объектов через
describeSObjects()API и составить маппинг на сущности Битрикс24. - Проверить объёмы: Salesforce Data Export даёт CSV-файлы, разбитые по объектам. Связи между записями (lookup-поля) хранятся как Salesforce ID — их нужно резолвить в новые ID Битрикс24.
- Оценить кастомные объекты (
Custom Objects): они могут не иметь прямого аналога в Битрикс24. Для них создаются пользовательские поля или отдельные разделы CRM.
Маппинг базовых объектов:
| Salesforce | Битрикс24 | Примечание |
|---|---|---|
| Account | Компания (crm.company) | Иерархия Account не поддерживается нативно |
| Contact | Контакт (crm.contact) | Привязка к компании через COMPANY_ID |
| Lead | Лид (crm.lead) | Статусы маппятся вручную |
| Opportunity | Сделка (crm.deal) | Этапы воронки пересоздаются |
| Task | Задача (tasks.task) | Привязка к CRM-сущности через UF_CRM_TASK |
| Case | Тикет (helpdesk) | Только в Битрикс24 Enterprise/On-Premise |
Технический процесс миграции
Экспорт из Salesforce выполняется двумя способами:
- Data Export (Setup → Data Export) — полный дамп в ZIP с CSV. Удобно для разовой миграции, но выгрузка формируется до 48 часов. При большом объёме файлы разбиваются на части по объекту.
- Salesforce API (REST/Bulk API 2.0) — предпочтительно для больших объёмов (от 50 000 записей). Bulk API 2.0 работает асинхронно: создаёте job, загружаете данные, ждёте выполнения, скачиваете результат.
POST /services/data/v58.0/jobs/ingest
{
"operation": "query",
"query": "SELECT Id, Name, Phone, BillingCity FROM Account WHERE IsDeleted = false"
}
Трансформация данных — самый трудоёмкий этап. Проблемы, которые встречаются почти всегда:
- Телефоны в Salesforce хранятся в произвольном формате; Битрикс24 принимает их через
crm.contact.updateв полеPHONEкак массив с типомWORK/MOBILE/HOME. - Адреса в Salesforce — плоская структура (BillingStreet, BillingCity); в Битрикс24 адрес компании хранится через
crm.address.addс привязкой к ENTITY_TYPE_ID=4 (компания). - Пользователи: владелец записи в Salesforce (OwnerId) нужно сопоставить с пользователями Битрикс24 через
user.getпо email или имени.
Загрузка в Битрикс24 через REST API:
-
crm.contact.add/crm.company.add— добавление по одной записи; при больших объёмах используйтеbatch-метод (до 50 запросов за раз). - Порядок загрузки критичен: сначала компании, потом контакты (чтобы была возможность указать COMPANY_ID), затем сделки.
- Сохраняйте маппинг Salesforce ID → Битрикс24 ID в промежуточной таблице — он нужен для привязки задач, событий, файлов.
Какие данные мигрировать в первую очередь?
В первую очередь переносятся компании и контакты — они являются основой для привязки всех остальных сущностей. Затем сделки и лиды. История взаимодействий и вложения — на последнем этапе, так как объём данных может быть значительным. Письма, звонки, встречи из Salesforce Activity History мигрируют в Битрикс24 как дела CRM (crm.activity.add). Вложенные файлы — через crm.timeline.comment.add с base64-кодированием или предварительной загрузкой через disk.folder.uploadfile. Объём вложений нередко становится сюрпризом: 5–10 лет работы в Salesforce легко дают 50–100 ГБ файлов. Это требует отдельной стратегии: либо выборочная миграция (только последние N лет), либо архивный доступ к Salesforce остаётся на период адаптации.
Сколько времени занимает миграция?
| Масштаб | Объём данных | Срок |
|---|---|---|
| Малый бизнес | до 10 000 записей, стандартные поля | 2–3 недели |
| Средний бизнес | 10 000–100 000 записей, кастомные объекты | 4–8 недель |
| Крупный | 100 000+ записей, история 5+ лет, вложения | 2–4 месяца |
После завершения переноса обязательна фаза верификации: выборочная сверка записей, проверка связей, тест уведомлений и автоматизаций в Битрикс24. Параллельная работа в двух системах на переходный период — стандартная практика. Свяжитесь с нами для получения консультации и точной оценки вашего проекта. Bulk API 2.0 в 5 раз быстрее стандартного REST API при объёмах от 50 000 записей. Опыт наших инженеров подтверждён сертификатами и десятками успешных проектов.
Wikipedia: Salesforce — документация Salesforce API







