Імпорт лідів методами API в коробковій версії Бітрікс24

11 Жовтня 2018

наступна стаття
Олександр Кавюк

Backend Developer

Олександр Кавюк
Імпорт лідів методами API в коробковій версії Бітрікс24

Лід — непотрібна інформація або необроблений скарб

Інформаційний простір в наш час перенасичений різними пропозиціями, які можуть бути конкурентними для Вашого бізнесу. Користувачі в Інтернеті також не є цілісною аудиторією: одні цілеспрямовано шукають саме Ваш товар або послугу, інші тільки придивляються, а треті взагалі просто тиняються по сайтах без бажання що-небудь купувати. Але всі вони потенційно годяться у Ваші майбутні клієнти. Ось тільки їм усім в цьому потрібно трохи допомогти, доклавши певних зусиль.

Кожна зачіпка (номер телефону, 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 володіє всіма інструментами для роботи з клієнтами Вашого бізнесу. Навіть якщо з'являється якась задача, яка не під силу автоматичним методам, досвідчені розробники можуть підкоригувати її виконання. А в кращому випадку — створити абсолютно нову, але дієву логіку саме для Вашої ситуації.


Схожі статті
Записатись на консультацію

Ми зв'яжемось з Вами протягом 10 хвилин