1. Забираем себе CRest
Для того, чтобы было удобно работать с REST API Битрикс24 на PHP, есть специальная библиотека: CRest (https://github.com/bitrix-tools/crest). Её нужно скачать и подключить в проект. Она написана под версию PHP 7.4, но довольно легко исправляется под более старые версии. Там же на гитхабе есть инструкция по установке и работе.
Официальная документация по REST API размещена здесь: https://dev.1c-bitrix.ru/rest_help/
2. Создаем входящий вебхук
Самый простой способ - это работать через вебхуки в Битрикс24 (они представляют из себя внешние PHP приложения, которые не имеют графического интерфейса, по сути - просто исполняемый код). Входящий - значит Битрикс24 будет принимать от него данные
Заходим в Приложения -> Разработчикам -> Другое -> Входящий вебхук
Здесь задаем название Вебхука. Задавайте так, чтобы было понятно, что он делает. Например "Получение лидов с сайта bfdev.ru" и т.д.
Очень важный раздел здесь - Настройка прав. Здесь нужно выбрать CRM, чтобы иметь возможность работать со всеми методами CRM из API.
В результате настройки вы получите ссылку на вебхук (поле Вебхук для вызова rest api), которую нужно указать в настройках библиотеки CRest.
3. Получаем список доступных полей лида
Для этого в окне формирования вебхука можно сгенерировать запрос с методом crm.lead.field
В результате вы увидите набор полей и их тип, чтобы можно было их записать в лид.
4. Реализуем скрипт формирования лида в Битрикс24
Теперь осталось только написать функцию формирования лида. Вот работающий пример, комментарии ниже:
require_once (__DIR__.'/b24/crest.php');
// отправляем лида в CRM
$result = CRest::call(
'crm.lead.add',
[
'fields' =>[
'TITLE' => "Заявка с сайта BFDEV.RU: $name",
'NAME' => $name,
'COMMENTS' => $message,
'ASSIGNED_BY_ID' => 777, //Ответственный менеджер
'PHONE' => array(array('VALUE' => $phone, 'VALUE_TYPE' => 'WORK')),
'EMAIL' => array(array('VALUE' => $email, 'VALUE_TYPE' => 'WORK')),
'UF_CRM_1556030926508' => 507, //Источник - лид с сайта
]
]);
Первые 4 параметра очевидны: Название лида, Имя клиента, Комментарий клиента, Ответственный менеджер по умолчанию. А дальше начинается небольшая магия: обратите внимание на поля PHONE и EMAIL. Они в Битрикс24 множественные и разного типа. Поэтому вебхук принимает для этих полей массив ассоциативных массивов :). А последнее поле - это произвольное (пользовательское) поле, которое создает пользователь.
Вот и всё. На основе этого примера можно создать любые сущности в Битрикс24. Пример работает в любой CMS.
Больше полезных материалов в нашем Telegram канале. Вступайте и будем на связи! https://t.me/bf_conversion