В настоящий момент Битрикс24 является одним из ведущих решений на рынке CRM и заслуженно занимает одно из ключевых мест в бизнес-процессах многих организаций. Эффективное использование интернет-сайта компании неизбежно подразумевает интеграцию его информационных потоков в структуру CRM.
При этом ввиду направленности компании 1С на продвижение собственного продукта на рынке CMS средства интеграции для конкурирующих решений компанией почти не разрабатываются, в результате чего реализация этого функционала зачастую представляет собой однобокие кастомные решения, заточенные под конкретный проекты.
Для сайтов, построенных на CMF Drupal 8, специалистами нашей компании был разработан пакет модулей https://drupal.org/project/b24, решающий задачи интеграции с Битрикс24 для наиболее востребованных сценариев работы: создание лидов в Битрикс 24 при отправке веб-форм и создание лидов и сделок в Битрикс 24 при добавлении заказов в Drupal Commerce 2.
25 октября 2019 опубликована альфа-версия модулей на Drupal.org. В настоящий момент модуль еще не имеет достаточно стабильной версии, поскольку структура кода и API еще не устоялась и в дальнейшем возможно внесение изменений, которые теоретически могут поломать построенные на его основе сторонние решения. Однако, мы успешно внедряем модуль как на сайтах наших клиентов, так и на наших собственных сайтах так как внутри компании сами используем Битрикс 24 в качестве CRM.
Пакет состоит из основного модуля, обеспечивающего взаимодействие с Битрикс24, а также ряда дополнительных модулей, реализующих конкретный функционал:
- b24_commerce - обеспечивает интеграцию с модулем commerce и реализует экспорт заказов в лиды, контакты и товары на стороне Битрикс24.
- b24_contact - экспортирует результаты отправки форм, реализованных модулем contact, входящим в ядро Drupal 8.
- b24_webform - аналогично, но уже для форм, сделанных на основе популярного модуля webform.
- b24_user - синхронизирует пользователей Drupal со списком контактов в CRM.
- b24_utm - реализует учет UTM-меток при экспорте лидов.
Модуль учитывает оба стандартных режима работы Битрикс24 — классический (создание лида с последующей конвертацией в сделку и контакт) и упрощенный (создание сделки и контакта сразу без создания лида).
Начало работы и настройка основного модуля
Для начала работы необходимо внести ряд основных настроек для связи с Битрикс24. На странице для ввода учетных данных (Администрирование » Конфигурация » Bitrix24 » Credentials) укажите домен вашего Битрикс24-сайта. То есть если вы заходите в свою CRM по адресу my-crm.bitrix24.ru, то в это поле следует ввести «my-crm». После сохранения формы в полях ниже для удобства будут сформированы ссылки на страницы вашего Битрикс24, на которых вы должны будете зарегистрировать приложение с правами доступа к CRM и выбранной опцией «Приложение использует только API» (Рис. 1). Для более тонкой настройки модуля может также потребоваться доступ к пользователям.

Для корректной аутентификации в полях «Укажите ссылку» следует проставить значение «[адрес_сайта]/b24/oauth» - эта строка также будет показана в описаниях к полям формы (Рис. 2).

После создания приложения ему будет присвоен код приложения (client_id) и ключ приложения (client_secret). Их необходимо внести в соответствующие поля настроек модуля. После сохранения формы необходимо инициировать первичное получение токена для доступа к приложению, кликнув на ссылку «Get access token» внизу формы (Рис. 3). В дальнейшем токен будет обновляться при каждом обращении к приложению, а также по крону. Поскольку срок жизни токена составляет один час, для сайтов с малой посещаемостью лучшим решением будет установить периодичность запуска крона в один час.

После установки данных для доступа к Битрикс24 на странице "Администрирование » Конфигурация » Bitrix24 » Настройки" можно указать ответственного пользователя, то есть пользователя в CRM, которому будет назначаться вновь созданные лиды и сделки (Рис. 4). Если список выбора пуст, то всего скорее вы забыли дать права своему приложению на доступ к пользователям. При отсутствии этой настройки создаваемые сущности будут назначаться в соответствии с настройками CRM.

b24_contact: Экспорт данных из стандартных контактных форм Drupal (модуль contact)
Перейдите на страницу настройки соответствующего модуля "Администрирование » Конфигурация » Bitrix24 » Contact Form Setings". Выберите вкладку с названием нужной формы и активируйте чекбокс «Enable Export», после чего отобразится группа полей, каждое из которых соответствует полю лида (Рис. 5). В каждом установите соответствие с полем контактной формы.
В качестве соответствия можно выбрать вариант «Custom», который позволяет ввести свободную строку с поддержкой токенов, однако стоит заметить, что в отличие от webform каждое заполнение формы не является сущностью и передать одно из его значений в виде токенов не получится в виду отсутствия поддержки оных. То есть изменить, к примеру, значение, передаваемое полем «Ваше имя» на «Форма отправлена клиентом [submission:field_name]» не получится. Возможно, это будет реализовано в будущем. Однако глобальные токены вроде [site:name] доступны.

b24_webform: Экспорт данных из форм, созданных средствами модуля webform
Настройки аналогичны предыдущему пункту за исключением более полной поддержки токенов (Рис. 6).

b24_users: Синхронизация пользователей с контактами
На странице "Администрирование » Конфигурация » Bitrix24 » Users synchronization" выберите роли пользователей, которые следует синхронизировать с контактами Битрикс24 (Рис. 7).

После чего необходимо установить соответствия между полями пользователей (имеется также поддержка полей профилей) и полями контактов Битрикс24 на странице "Администрирование » Конфигурация » Bitrix24 Users synchronization » Fields mapping".
Конфигурирование соответствий несколько менее понятный и прозрачный процесс, поскольку здесь нет списков выбора, как это имеет место в настройке экспорта форм, и соответствия назначаются при помощи токенов, что очевидно займет больше времени, однако такой способ предлагает необходимую гибкость и разнообразие в настройке.
Далее можно произвести экспорт пользователей на странице "Администрирование » Конфигурация » Bitrix24 » Users synchronization » Users Export". При этом соответствия между сущностями пользователя Drupal и контакта Битрикс24 сохраняются и при повторном экспорте новые контакты создаваться не будут.
При активации опции «Enable live export» (Рис. 7) все изменения будут отправляться в CRM сразу при создании/редактировании/удалении пользователя.
Поддерживается также импорт контактов из CRM в пользователи Drupal ("Администрирование » Конфигурация » Bitrix24 » Users synchronization » Users Import"). При этом га страницу импорта можно выбрать, какие дополнительные роли будут назначены импортируемым пользователям.
b24_commerce: Экспорт заказов и товаров Drupal Commerce
Настройка экспорта заказов происходит на странице "Администрирование » Конфигурация » Bitrix24 » Commerce Integration". Здесь необходимо установить режим работы CRM (уже упомянутые классический или упрощенный) — к сожалению, в текущем состоянии API Битрикс24 не позволяет получать этот показатель автоматически. При этом в случае упрощенного режима настройки на этом заканчиваются. В случае стандартного режима для каждого типа товаров в отдельности следует выбрать, надо ли управлять конвертацией созданных лидов в контакты и в сделки на стороне модуля. Обычно это происходит на стороне CRM, однако этот функционал можно настроить на стороне Drupal, для чего нужно активировать конвертацию в нужные сущности и указать, на каком этапе жизни заказа это должно происходить (Рис. 8).

Далее на странице "Администрирование » Конфигурация » Bitrix24 » Commerce Integration » Fields Mapping" следует с помощью токенов установить соответствия полей заказа с полями сделок и лидов для каждого из типов товаров. Обратите внимание, что на этой странице в зависимости от конфигурации вашего интернет-магазина может присутствовать несколько вкладок-табов (сверху), каждая из которых соответствует типу товара. Вкладки «Leads» и «Deals» содержат соответствия поле лидов и сделок соответственно (Рис. 9).

Для привязки создаваемых лидов и сделок к товарам на стороне Битрикс24 реализован экспорт товаров. Настройка экспорта производится на странице "Администрирование » Конфигурация » Bitrix24 » Commerce Integration » Products Export", где устанавливается магазин, из которого будут экспортироваться товары, а также при необходимости указывается поле, по которому на сайте просходит распределение товаров по разделам каталога. Это позволит сохранить структуру каталога при его экспорте в CRM. Первичный экспорт лучше провести после первичной настройки модуля на этой же странице. В дальнейшем все изменения будут синхронизироваться с CRM автоматически.
b24_utm. Учет UTM-меток при экспорте лидов
Это очень простой функционал, отслеживающий приход посетителя с UTM-меткой и в случае экспорта лида от его лица заполняющий на стороне Битрикс24 соответствующие поля. Для отслеживания меток достаточно включить модуль. Какие бы то ни было настройки в настоящий момент не требуются.
Поиск и отслеживание проблем
Поскольку любая интеграция с внешними сервисами часто сопровождается значительными сложностями в конфигурации, при написании модуля уделено особое внимание логированию результатов запросов к Битрикс24. Поэтому если что-то по вашему мнению пошло не так, нужная информация наверняка находится в логах «/admin/reports/dblog».
Итого
Любой масштабный проект — это не только ценный мех огромное количество рабочих часов и литры выпитого кофе, но и необходимость смотреть значительно шире своего кода, на высоком уровне разбираться в чужой работе и понимать самые разнообразные потребности как всего бизнеса, так и его составляющих — простых сотрудников у монитора. Поэтому мы с радостью примем любые отзывы и советы по поводу работы модуля и дальнейшему развитию функционала.
Заказать интеграцию
Drupal с CRM Битрикс 24
Комментарии
Все ок. спасибо!
Оказывается нужно было прописать путь разрешение для nginx.
Для синхронизации пользователей с контактами нет страницы
Администрирование » Конфигурация » Bitrix24 Users synchronization » Fields mapping
Как туда попасть?
Добрый день. Как прописать домен, если у меня не заканчивается на bitrix24.ru, а начинается на b24? Пример b24.domain_name?
Добрый день!
Поясните пожалуйста, что делать с адресом .../b24/oauth
На него редиректит, а такой страницы нет на сайте, получаю 404 соответственно. Или ее нужно создать предварительно?
В Битрикс24 указываю в настройках прав и CRM и пользователи - все безуспешно, нет подключения.
Спасибо!