Официальные лицензии Битрикс24, Облако и Коробка
Продажа и продление по официальным ценам. Подберу тариф под масштабы бизнеса, быстро оформлю ключи и помогу развернуть систему.
Выгрузить базу клиентов из Битрикс24 нужно в трёх типичных случаях: компания переходит на другую CRM, перед чисткой дублей делают резервную копию, или данные из CRM нужны для внешней аналитики и рассылок, которые Битрикс24 не строит из коробки. В статье разберу три рабочих способа: экспорт через интерфейс, выгрузку через REST API и автоматическую синхронизацию с другой системой без ручного копирования строк.
Когда без выгрузки базы клиентов не обойтись
На практике запрос на выгрузку базы клиентов из Битрикс24 приходит по одной из четырёх причин.
Первая - миграция на другую CRM. Компания вырастает из тарифа Битрикс24 или переходит на AmoCRM, RetailCRM или самописную систему под свои процессы, и нужно перенести контакты, компании и историю сделок без потерь.
Вторая - резервная копия перед чисткой базы. Прежде чем запускать скрипт объединения дублей или массовое удаление старых лидов, я снимаю полную выгрузку: если автоматика отработает не так, как задумано, откатиться можно только по бэкапу.
Третья - интеграция с внешней аналитикой. Excel-отчёты для руководителя, BI-дашборд или email-рассылка через отдельный сервис требуют регулярной выгрузки контактов, а не разового экспорта.
Четвёртая - увольнение сотрудника с широким доступом к CRM. В такой момент часть компаний выгружает срез базы клиентов, закреплённых за этим менеджером, чтобы зафиксировать состояние на дату передачи дел.
Экспорт контактов и компаний через интерфейс Битрикс24
Самый быстрый способ выгрузить базу клиентов из Битрикс24 - воспользоваться встроенным экспортом. В разделе CRM открываете список контактов или компаний, настраиваете нужные колонки и фильтр, затем через меню действий выбираете экспорт в CSV или Excel.
Что попадает в Excel-файл
В файл экспорта попадают:
- стандартные поля: имя, телефон, email, должность, источник;
- кастомные поля, которые завели под свои процессы;
- ответственный менеджер и дата создания записи;
- привязка контакта к компании по ID.
Ограничения ручного экспорта
У ручного экспорта из интерфейса есть практические ограничения, с которыми я сталкивался у разных клиентов.
Экспорт не тянет историю звонков, писем и активности по сделкам - выгружаются только карточки контактов и компаний, без событий.
Кастомные поля типа «список» и «привязка к элементу» иногда выгружаются кодами значений, а не читаемым текстом, приходится потом вручную сверять справочник.
При базе больше 5-10 тысяч записей экспорт из интерфейса подвисает или обрывается - на практике разбиваю выгрузку по фильтру на дату создания или на ответственного, чтобы не терять данные при обрыве.
Кодировка при открытии CSV в Excel периодически съезжает на кракозябры, если не указать явно UTF‑8 при импорте: помогает открытие через «Данные - из текста/CSV» вместо двойного клика по файлу.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Перенос базы через REST API Битрикс24
Когда нужно перенести базу клиентов в другую CRM целиком, вместе со сделками и связями, интерфейсного экспорта недостаточно, поэтому работаю через REST API. Для этого в Битрикс24 создаётся входящий вебхук с правами на чтение CRM, и через него скрипт запрашивает данные напрямую.
Методы crm.contact.list и crm.company.list отдают за один запрос до 50 записей, поэтому выгрузка большой базы идёт постранично. Дополнительно можно указать select с нужными полями и filter по дате создания, чтобы забирать только новые записи при повторных запусках.
Пример скрипта на Python
import requests
webhook = "https://your-domain.bitrix24.ru/rest/1/xxxxxxxxxxxxxxxx/"
contacts = []
start = 0
while True:
response = requests.post(webhook + "crm.contact.list", json={
"select": ["ID", "NAME", "LAST_NAME", "PHONE", "EMAIL", "COMPANY_ID"],
"start": start
}).json()
contacts.extend(response["result"])
if "next" not in response:
break
start = response["next"]
print(f"Выгружено контактов: {len(contacts)}")
Такой скрипт можно доработать под выгрузку сделок, звонков и писем: структура запроса та же, меняется только метод. Разработку скрипта миграции данных из Битрикс24 в другую CRM обычно веду как отдельную задачу с ТЗ на маппинг полей - можно заказать настройку такого переноса, если нужен готовый результат, а не самостоятельная разработка.
Автоматическая синхронизация с другой CRM через n8n
Если базу клиентов из Битрикс24 нужно выгружать не разово, а регулярно, ручной запуск скрипта неудобен. У одного клиента был магазин на Tilda с оплатой через T‑Bank и доставкой СДЭК: заказы падали в Битрикс24 через вебхук, а раз в неделю нужно было выгружать свежих клиентов для email-рассылки. Настроил сценарий в n8n: по расписанию нода HTTP Request забирает новых контактов из Битрикс24 через REST API, фильтрует по дате создания и записывает в Excel-файл на сервере компании либо сразу пушит в другую CRM тем же способом.
Из практики: у REST API Битрикс24 есть лимит на число запросов в секунду на один вебхук, при превышении сервер отвечает ошибкой QUERY_LIMIT_EXCEEDED. В сценарии n8n между запросами ставлю паузу и обработку повторных попыток, иначе синхронизация на большой базе падает в середине выгрузки.
Сравнение способов выгрузки базы клиентов из Битрикс24
| Способ | Что выгружает | Ограничение | Когда подходит |
|---|---|---|---|
| Экспорт из интерфейса | контакты и компании, стандартные и кастомные поля | без истории активности, зависает на больших объёмах | разовый отчёт или сверка данных |
| REST API и скрипт | контакты, компании, сделки, звонки, связи между сущностями | нужен вебхук и разработка под маппинг полей | миграция на другую CRM |
| Сценарий в n8n по расписанию | то же, что API, плюс регулярный запуск | нужна настройка workflow и учёт лимита запросов в секунду | постоянная синхронизация без участия разработчика после запуска |
Частые вопросы
Можно ли выгрузить вместе с контактами историю звонков и переписки?
Через интерфейсный экспорт нет, выгружаются только карточки. Через REST API да, отдельными методами: voximplant.statistic.get для звонков и crm.activity.list для писем и задач, с привязкой по ID контакта или сделки.
Сколько стоит перенос базы клиентов в другую CRM?
Разработка скрипта миграции у меня стоит от 20 000 ₽, итоговая сумма зависит от количества полей, объёма базы и того, нужна ли синхронизация в обе стороны или разовый перенос.
Почему после экспорта в Excel в кастомных полях вместо текста стоят цифры?
Поля типа «список» в Битрикс24 хранят внутренний ID значения, а не текст, и при обычном экспорте он не всегда подтягивается читаемым. Через REST API с параметром select и обращением к справочнику поля значения выгружаются уже текстом.
Как часто нужно делать резервную выгрузку базы клиентов?
Перед любой массовой операцией с базой: чисткой дублей, импортом, сменой ответственных, и минимум раз в месяц для регулярного бэкапа, если такой автоматизации в компании ещё нет.