Создаем лид в Битрикс24 через API
Введение
У Битрикс24 есть API, который позволяет делать определенные полезные штуки. Одна из них – отправка лида в CRM. Т.е. мы можем запрограммировать отправку данных из любой формы своего сайта в свой Битрикс24. Супер! Разберемся, как это сделать.
Создание вебхука
Прежде всего, в рамках Битрикс24 нужно создать вебхук, в который мы будем отправлять данные с сайта. В Битрикс24 в левом меню переходим в раздел Приложения, идем на вкладку Вебхуки, жмем кнопку Добавить вебхук, в подменю выбираем Входящий вебхук:
Открылась форма добавления вебхука. В поле Название вводим произвольное название, например Получение лидов с сайта. Поле Описание заполняем по своему желанию. В списке Права доступа отмечаем чекбокс CRM:
Больше ничего отмечать не нужно, нажимаем кнопку Сохранить (находится под списком прав доступа):
Перед нами открывается страница с кодом вебхука:
Сохраните этот код, он понадобится нам далее. Код никому не показывайте, это конфиденциальная информация.
Пример 1: передаем имя и телефон
Начнем с самого простого примера: передадим в CRM имя и номер телефона:
Комментарии добавил прямо в код, думаю вопросов быть не должно. Если запустим этот код — в Битрикс24 появится уведомление о создании нового лида:
В CRM зайдем в лид и увидим всю информацию, которую мы передали:
Супер! В примере мы заполнили только Название лида, Имя и Номер телефона. Но в CRM Б24 доступно намного больше полей. Их список можно посмотреть в документации по ссылке: https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php — обязательно ознакомьтесь с этой табличкой.
Пример 2: передаем пользовательские свойства
Немного дополним наш пример, передадим значения двух пользовательских полей. Предположим, что в CRM у нас есть поле Ждет звонка типа Да/Нет (содержит информацию о том, нужно ли перезвонить этому клиенту). И поле Дополнительное сообщение типа Строка, в котором мы передаем сообщение, оставленное пользователем:
Нам нужно получить коды этих свойств. Узнать их можно через просмотр кода элемента. Вот код нашего первого свойства:
Добавим их в наш код и получим следующее:
Как видим, пользовательские свойства передаются точно так же, как и обычные поля. Результат в CRM выглядит следующим образом:
Пользовательские поля корректно сохранились в Битрикс24.
Пример 3: передаем UTM-метки
Передача UTM-меток ничем не отличается от передачи обычных полей. Но я решил вынести этот пример в отдельный блок, т.к. в свое время сам не знал о существовании специальных полей для UTM-меток в CRM Битрикс24. А они есть, это следующие поля:
Дополним наш код исходя из этой информации: вытянем UTM-метки из урла и отправим их в лид:
Отправим лид со страницы со следующим набором значений в урле:
В итоге получим этот набор UTM-меток в соответствующих полях лида:
Пример сообщения об ошибке
У нас в коде есть блок, который отвечает за вывод ошибок, вот он:
Давайте попробуем получить какую-нибудь ошибку. Например, укажем несуществующего пользователя в переменной $b24UserID:
Запустив код с неправильным ID пользователя, мы получим следующее сообщение:
А в ячейке $result[‘error’] будет храниться код ошибки, в данном случае INVALID_CREDENTIALS.
Возможно, это поможет кому-то при дебаге.
Другие посты из этой же рубрики:
Copyright © 2015-2021, Алфавитка.ру – IT-блог разработчика.
Передача лидов с сайта в CRM BITRIX 24
Нужно передать данные формы сайта в лиды Crm Bitrix24. Форма отправляется методом POST. Язык сайта:PHP.
| Поле | Переменная |
| Имя | $_POST[“NAME_CALLBACK”] |
| Телефон | $_POST[“PHONE_CALLBACK”] |
| Электронная почта | $_POST[“EMAIL_CALLBACK”] |
| Метка UTM_SOURCE | $_POST[“UTM_CALLBACK”] |
Вариант 1
Сперва сделал через crm/configs/import/lead.php
[ИМЯ].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 выглядит следующим образом:
Создание лида через API в коробочной версии Битрикс24
3 мин. 2141 25.02.2020
Продолжаю серию статей, посвященную доработкам стандартного функционала Битрикс24. Сегодня мы применим вполне себе документированную для REST API функцию crm.lead.add для коробочной версии продукта.
Почему Вам может никогда не потребоваться данная доработка. Стандартные CRM-формы позволяют размещать на сайте специальные формы, по результату заполнения которых все данные будут переданы в CRM-систему, то есть в нашем случае — будет создан лид. Но, как говорится «никогда не говори никогда» и при решении некоторых задач — стандартный функционал не всегда устраивает.
Скрипт для создания лида в CRM Битрикс24
$_REQUEST — означает, что наш скрипт получает данные из формы (в моем случае — методом POST). На этапе отладки — можете указать эти значения непосредственно в исходном коде скрипта.
UF_CRM_1562047838555 в 31-й строке — пример заполнения пользовательского поля. В моем случае — это ИНН. Но как же получить этот удивительный идентификатор? На самом деле просто, более того, существует как минимум два способа:
С 33-й строки — обратите внимание как нужно передавать электронную почту и контактный телефон.
По нюансам и особенностям — пожалуй, что и все.
Описание всех доступных полей смотрите в официальной документации.
Опубликовано: 25 февраля 2020 года, в рубрике «Битрикс».
Поделитесь публикацией в социальных сетях
Leads
| Method | Description |
|---|---|
| crm.lead.add | Creates and adds a new lead. |
| crm.lead.delete | Deletes the specified leadand all the associated objects. |
| crm.lead.fields | Returns the description of the fields available to a lead. |
| crm.lead.get | Returns a lead associated with the specified lead ID. |
| crm.lead.list | Returns a list of leads selected by the filter specified as the parameter. |
| crm.lead.productrows.get | Returns products existing for the specified lead. |
| crm.lead.productrows.set | Creates or updates products for the specified lead. |
| crm.lead.update | Updates the specified (existing) lead. |
| crm.lead.userfield.add | Creates a new user field for leads. |
| crm.lead.userfield.get | Returns a user field for leads by ID. |
| crm.lead.userfield.list | Returns a list of user fields for leads by the filter. |
| crm.lead.userfield.update | Updates an existing user field for leads. |
| crm.lead.userfield.delete | Deletes a user field for leads. |
General list of Lead Events is provided here.
User Comments
User comments are not part of official documentation. Use information provided by other users in the comments at your own risk.
The User Comments section is not to be used as a feature discussion board. Only registered users can post comments. Your comment will be visible once it has been approved by the moderator.
crm.lead.update
Обновляет существующий лид.
Важно! Настоятельно рекомендуется при обновлении адреса передавать полный набор полей адреса в метод обновления. Особенности обновления полей адреса описаны здесь.
Параметры
Пример
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
| Цитата |
|---|
| Михаил Носов пишет: При использовании этого метода с множественными полями (PHONE, EMAIL, WEB), происходит добавление значений, а не изменение. По сути все значения поля WEB должны замениться на новые или даже удалиться, если WEB передан как пустое значение, ну или не меняться, если поле WEB не передано в параметрах fields. На то оно и UPDATE а не ADD. |
Как решается эта проблема? Как перезаписывать или удалять старые значения указанных полей?
При использовании этого метода с множественными полями (PHONE, EMAIL, WEB), происходит добавление значений, а не изменение. По сути все значения поля WEB должны замениться на новые или даже удалиться, если WEB передан как пустое значение, ну или не меняться, если поле WEB не передано в параметрах fields.
На то оно и UPDATE а не ADD.
Как решается эта проблема? Как перезаписывать или удалять старые значения указанных полей?














