Заказать проект
Оставьте заявку для получения коммерческого предложения.
Заполните форму и мы вышлем Вам предложение в котором решим,
чем можем вам помочь.
Импорт лидов методами API в коробочной версии Битрикс24

Импорт лидов методами API в коробочной версии Битрикс24

11 Октября 2018
Александр Кавюк
Backend Developer
Александр Кавюк
следующая статья

Лид — ненужная информация или необработанное сокровище

Информационное пространство в наше время перенасыщено разными предложениями, которые могут быть конкурентными для Вашего бизнеса. Пользователи в Интернете также не представляют целостную аудиторию: одни целенаправленно ищут именно Ваш товар или услугу, другие только приглядываются, а третьи вообще просто слоняются по сайтам без желания что-либо покупать. Но все они потенциально годятся в Ваши будущие клиенты. Вот только им всем в этом нужно немного помочь, приложив определенные усилия.

Каждая зацепка: номер телефона, e-mail, имя и другие сведения, которые касаются потенциального клиента очень важны. Очень часто именно такие мелочи перерастают во что-то большее. И так, это и есть ЛИД — сущность, из которой может получится полноценный клиент. В рамках СRM Битрикс24 из клиента могут быть сконвертированы контакт, компания и, наконец — сделка!

Не нужно долго объяснять, что лиды являются очень важным звеном в менеджменте проекта. В этой статье я попытаюсь детально описать методы и аспекты импорта лидов в Битрикс24. Прежде всего, это будет полезно для разработчиков. Но, я уверен, и менеджерам будет полезно знать эти методы и понимать их объемы и сложности.

Самая острая боль

Очень часто бизнес “переезжает” с одной CRM на другую. В Битрикс24 это распространенная практика, поскольку функционал и стоимость привлекают пользователей сюда других CRM. Также распространенный вариант, когда несколько CRM работают параллельно и необходима синхронизация данных. В Битрикс24 реализовано несколько вариантов создания лидов в системе:

  1. Вручную;

  2. Импорт из файлов CSV;

  3. С использованием веб-форм, анкет, прямых звонков или писем на электронную почту.

Из личного опыта мне знакома ситуация, когда работы у заказчика велись сразу в двух CRM. Битрикс24 была новой и стояла задача заводить туда всех клиентов из уже существующей CRM. Понятно, что делать это вручную было нецелесообразно, а если точнее — просто невозможно. Вариант переделывания методов сбора лидов сразу в нужную CRM не рассматривался вообще. Остановились на импорте из файла, но не через пользовательский интерфейс, а с использованием АРІ.

Заказчик хотел, чтобы файл загружался на сервер и периодически обрабатывался кроном, но окончательного решения не последовало: условия менялись очень часто, а вместе с ними и методы передачи данніх. Неизменной оставалась только идея написания функционала для сохранения в Битрикс24.

Кастомное решение

Документация по функциях и методах для работы с лидами практически отсутствует. Мне пришлось решать поставленную задачу стандартными методами. И так, основная работа происходит с классом CCrmLead.

Используем стандартные методы GetList, Update i Add. Наша задача — получить данные от источника, проверить, или в нашей новой базе уже не присутствуют такие данные, и только после этого создать новый лид или обновить существующий. Перед написанием этого кода в Битрикс24 необходимо создать все поля, которые будут заполнятся информацией из соответствующих полей другой CRM.


Для того, чтоб указать в скрипте данные для созданных полей, нам необходимо знать его идентификатор. Если обратить внимание на адрес для редактирования нужного поля  “/crm/configs/fields/?mode=edit&entity_id=CRM_LEAD&field_id=UF_CRM_1519634296”, то можно увидеть field_id=UF_CRM_1519634296. Чтоб задать этому полю значение “Хобби”, его нужно указать в массиве данных под этим ключем.

Если у нас список из 20 пользовательских полей, то вытягивать id, глядя на адреса, крайне неудобно. Используя функцию CCrmLead::GetUserFields($langID = false), можна получить массив с информацией о таких полях.


Чтоб получить список стандартных полей, можно использовать CCrmLead::GetFields(). Для создания лида обязательным должно быть поле “TITLE”.

Также Вам возможно сразу понадобится поставить статус лида. Информацию о статусах можно получить, используя функцию  CCrmLead::GetStatuses().


“Поехали!”(с)

И вот мы начинаем. Скрипт, который добавит лида с имейлом “test@test.com”, будет выглядеть следующим образом:


$oLead = new CCrmLead(false); - аргумент показывает или нужно проверять права.
$arFields=array(
   "TITLE"=>'Lead test',
   "EMAIL"=>'test@test.com',
   "STATUS_ID" => 'NEW',
   "UF_CRM_1519634296" => 'Fishing',
   "UF_CRM_1519635704" => 26,
"PERMISSION" => 'IMPORT'
   );
$LEAD_ID=$oLead->Add($arFields, true, array('CURRENT_USER'=>1));

Поскольку скрипт будет исполнятся в кроне, нужно указать пользователя, к которому будут привязываться лиды. В данном случае это админ. Также нельзя забывать про атрибут прав PERMISSION, который потом позволит редактировать данные лида.

 

Используем методы:

	
Add(array &$arFields, $bUpdateSearch = true, $options = array())
Update($ID, array &$arFields, $bCompare = true, $bUpdateSearch = true, $options = array())

Вывод

Битрикс24 обладает всеми инструментами для работы с клиентами Вашего бизнеса. Даже если появляется какая-либо задача, которая не под силу автоматическим методам, опытные разработчики могут подкорректировать ее исполнение. А в лучшем случае — создать абсолютно новую, но действенную логику именно для Вашей ситуации.



Need help?

Ask a question.

Chat Now
Записаться На Консультацию
Записаться На Консультацию
Мы свяжемся
с вами
в течении
10 минут
laptop
Мы свяжемся с вами в течении 10 минут