Імпорт лідів методами API в коробковій версії Бітрікс24
11 Жовтня 2018
наступна статтяЛід — непотрібна інформація або необроблений скарб
Інформаційний простір в наш час перенасичений різними пропозиціями, які можуть бути конкурентними для Вашого бізнесу. Користувачі в Інтернеті також не є цілісною аудиторією: одні цілеспрямовано шукають саме Ваш товар або послугу, інші тільки придивляються, а треті взагалі просто тиняються по сайтах без бажання що-небудь купувати. Але всі вони потенційно годяться у Ваші майбутні клієнти. Ось тільки їм усім в цьому потрібно трохи допомогти, доклавши певних зусиль.
Кожна зачіпка (номер телефону, e-mail, ім'я та інші відомості, що стосуються потенційного клієнта) надзвичайно важливі. Дуже часто саме такі дрібниці переростають у щось більше. І так, це і є ЛІД — сутність, з якої може вийти повноцінний клієнт. В рамках СRM Бітрікс24 з клієнта можуть бути конвертовані контакт, компанія і, нарешті, угода!
Не потрібно довго пояснювати, що ліди є дуже важливою ланкою в менеджменті проекту. У цій статті я спробую детально описати методи і аспекти імпорту лідів в Бітрікс24. Перш за все, це буде корисно для розробників. Але, я впевнений, і менеджерам буде корисно знати ці методи і розуміти їх обсяги і складності.
Найгостріший біль
Дуже часто бізнес «переїжджає» з однієї CRM на іншу. У Бітрікс24 це поширена практика, оскільки функціонал і вартість залучають сюди користувачів інших CRM. Також поширений варіант, коли кілька CRM працюють паралельно і необхідна синхронізація даних. У Бітрікс24 реалізовано кілька варіантів створення лідів в системі:
-
вручну;
-
імпорт з файлів CSV;
-
використанням веб-форм, анкет, прямих дзвінків або листів на електронну пошту.
З особистого досвіду мені знайома ситуація, коли роботи у замовника велися відразу в двох 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 хвилин