Нужно передать данные формы сайта в лиды Crm Bitrix24. Форма отправляется методом POST. Язык сайта:PHP.
Состав формы:
Поле | Переменная |
Имя | $_POST[“NAME_CALLBACK”] |
Телефон | $_POST[“PHONE_CALLBACK”] |
Электронная почта | $_POST[“EMAIL_CALLBACK”] |
Метка UTM_SOURCE | $_POST[“UTM_CALLBACK”] |
Передачу будем организовывать через функцию php curl_exec()- выполнение запроса cURL .
Вариант 1
Сперва сделал через crm/configs/import/lead.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | $url ='https://[ИМЯ].bitrix24.ru/crm/configs/import/lead.php? LOGIN=[логин]&PASSWORD=[пароль]&TITLE='.str_replace(" ","",$_POST["NAME_CALLBACK"]).'&PHONE_WORK='.str_replace(" ","",$_POST["PHONE_CALLBACK"]).'&UTM_SOURCE='.str_replace(" ","",$_POST["UTM_CALLBACK"]).'&EMAIL_WORK='.str_replace(" ","",$_POST["EMAIL_CALLBACK"]).'&ASSIGNED_BY_ID=15&SOURCE_ID=WEB'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $result = curl_exec($ch); curl_close($ch); |
Разберем запрос:
[ИМЯ].bitrix24.ru – Имя СРМ Битрикс 24
[логин]– логин пользователя в CRM
[пароль]– пароль пользователя в CRM
TITLE– Название лида (обязательное)
PHONE_WORK– Рабочий телефон лида
EMAIL_WORK– Рабочая почта лида
ASSIGNED_BY_ID – ид отвественного
SOURCE_ID= Источник лида, здесь SOURCE_ID=WEB – веб сайт
UTM_SOURCE – метка UTM_source
К недостаткам этого варианта можно отнести небезопасность – в запросе передаются данные пользователя СРМ . У пользователя должны быть права только на добавление лида.
Также не предаются метки UTM, поэтому пришлось воспользоваться вебхуком.
Вариант 2 ВЕБХУК
В CRM Bitrix 24 выбираем Приложения, вкладка Вебхуки, добавить ВебХук – Входящий
Вводим название, описание и отмечаем галку CRM. После сохранения появится код вебхука и пример URL, который нужно использовать при отправке данных в СРМ Битрикс24.
На основании полученного кода вебхука и примера формируем запрос к Битрикс24:
$Url = ‘https://[ИМЯ].bitrix24.ru/rest/[id пользователя]/[код вебхука]/crm.lead.add.json‘;
При тестировании данного способа выявилось, что некоторые поля поменялись. PHONE_WORK и EMAIL_WORK теперь нужно передавать как маcсивы PHONE и EMAIl
В итоге код PHP по отправки лидов СРМ Битрикс 24 выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // определяем URL $Url = 'https://[ИМЯ].bitrix24.ru/rest/[id пользователя]/[код вебхука]/crm.lead.add.json'; // описываем параметры лида $ParamLid = http_build_query(array( 'fields' => array( 'TITLE' => str_replace(" ","",$_POST["NAME_CALLBACK"]), // НАЗВАНИЕ 'NAME' => str_replace(" ","",$_POST["NAME_CALLBACK"]), // ИМЯ 'PHONE' => Array( "n0" => Array( "VALUE" => str_replace(" ","",$_POST["PHONE_CALLBACK"]), "VALUE_TYPE" => "WORK", )), // РАБОЧИЙ ТЕЛЕФОН в массиве 'OPENED' => 'Y', // Доступно для всех 'SOURCE_ID' => "WEB", //Источник вебсайт 'SOURCE_DESCRIPTION' => str_replace(" ","",$_POST["UTM_CALLBACK"]), // доп описание источника 'EMAIL' => Array( "n0" => Array( "VALUE" => str_replace(" ","",$_POST["EMAIL_CALLBACK"]), "VALUE_TYPE" => "WORK", ), ), // Рабочая эл. почта 'UTM_SOURCE' => str_replace(" ","",$_POST["UTM_CALLBACK"]), // UTM метка 'ASSIGNED_BY_ID' => 15, // Ид ответственного ), 'params' => array("REGISTER_SONET_EVENT" => "Y") )); // обращаемся к сформированному URL при помощи функции curl_exec для создания лида $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POST => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $Url, CURLOPT_POSTFIELDS => $ParamLid, )); $result2 = curl_exec($ch); curl_close($ch); |
Как узнать ID пользователя в CRM Bitrix 24
Здесь ид пользователя нужен чтобы назначить ответственного при передаче данных формы в лид СРМ.
Переходим в Справочник “Сотрудники”, наводим мышкой на нужного сотрудника и переходим по ссылке Имя сотрудника:
В адресной строке браузера смотрим ИД выбранного пользователя:
Все параметры для передачи данных в лиды CRM
Поле | Описание | Тип |
---|---|---|
ADDRESS | Адрес контакта | string |
ADDRESS_2 | Вторая страница адреса | string |
ADDRESS_CITY | Город | string |
ADDRESS_COUNTRY | Страна | string |
ADDRESS_COUNTRY_CODE | Код страны | string |
ADDRESS_POSTAL_CODE | Почтовый индекс | string |
ADDRESS_PROVINCE | Область | string |
ADDRESS_REGION | Район | string |
ASSIGNED_BY_ID | Связано с пользователем по ID | user |
BIRTHDATE | Дата рождения | date |
COMMENTS | Комментарии | string |
COMPANY_ID | Привязка лида к компании | crm_company |
COMPANY_TITLE | Название компании, привязанной к лиду | crm_company |
CONTACT_ID | Привязка лида к контакту | crm_contact |
CREATED_BY_ID | Кем создана | user |
DATE_CREATE | Дата создания | datetime |
DATE_MODIFY | Дата изменения | datetime |
Адрес электронной почты | crm_multifield | |
HAS_EMAIL | Проверка заполненности поля электронной почты | char |
HAS_PHONE | Проверка заполненности поля телефон | char |
HONORIFIC | Вид обращения | crm_status |
ID | Идентификатор контакта | integer |
IM | Мессенджеры | crm_multifield |
IS_RETURN_CUSTOMER | Признак повторного лида | char |
MODIFY_BY_ID | Идентификатор автора последнего изменения | user |
NAME | Имя | string |
OPENED | Доступен для всех | char |
ORIGINATOR_ID | Идентификатор источника данных | string |
ORIGIN_ID | Идентификатор элемента в источнике данных | string |
ORIGIN_VERSION | Оригинальная версия | string |
PHONE | Телефон контакта | crm_multifield |
POST | Должность | string |
SECOND_NAME | Отчество | string |
SOURCE_DESCRIPTION | Описание источника | string |
SOURCE_ID | Идентификатор источника | crm_status |
STATUS_DESCRIPTION | string | |
STATUS_ID | string | |
STATUS_SEMANTIC_ID | string | |
TITLE | Название лида | string |
UTM_CAMPAIGN | Обозначение рекламной кампании | string |
UTM_CONTENT | Содержание кампании | string |
UTM_MEDIUM | Тип трафика | string |
UTM_SOURCE | Рекламная система | string |
UTM_TERM | Условие поиска кампании | string |
WEB | URL ресурсов лида | crm_multifield |
Спасибо за материал.
Будем пробовать.
Есть один вопрос.
В какой файл подставить этот код?
Спасибо
В файл, который обрабатывает данные полученные с формы (к примеру формы обратной связи).
Например:
Есть форма обратной связи forma.php
В этой форме пользователь заполняет данные об имени, почте итд и нажимает кнопку “Отправить”. Данные с формы при помощи метода POST передаются в файл Action.php
Файл Action.php отвечает за обработку данных. Данные передаются через переменные $_POST ($_POST[“NAME”], $_POST[“EMAIL”] итд). В этот файл и необходимо вставить код отправки данных в Bitrix24.
Если формы обратной связи реализованы готовыми плагинами или компонентами CMS, то нужно смотреть какие файлы отвечают за обработку получаемых данных