Bitrix24 REST API создание лида через форму

Например есть сайт, с которого нам надо создать лид в bitrix24
после отправки формы.

Будем отправлять два поля «Имя» и «Телефон».

Создаем на сайте форму:

<form action='send.php' method='post'>
  <input name="name" type="text" placeholder="Ваше имя">
  <input name="phone" type="phone" required placeholder="Ваш номер телефона">
  <button type="submit">Отправить</button>
</form>

В файле скрипта, куда ссылается форма, мы обрабатываем данные:

<?php
$queryUrl = 'https://yourname.bitrix24.ru/rest/1/webhookcode/crm.lead.add.json';
$queryData = http_build_query(array(
	'fields' => array(
		'TITLE' => 'Название формы', 
		'NAME' => $_POST["name"],
		'PHONE' => array(
			array(
				"VALUE" => $_POST["phone"], 
				"VALUE_TYPE" => "WORK" 
			)
		)
	),
	'params' => array("REGISTER_SONET_EVENT" => "Y")
)); 
$curl = curl_init();
curl_setopt_array($curl, array(
	CURLOPT_SSL_VERIFYPEER => 0,
	CURLOPT_POST => 1,
	CURLOPT_HEADER => 0,
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_URL => $queryUrl,
	CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
?>

В скрипте в переменной $queryUrl: «https://yourname.bitrix24.ru/rest/1/webhookcode/crm.lead.add.json»:

  • yourname.bitrix24.ru — ваш домен битрикс24
  • webhookcode — вебхук, которы нам надо создать в битрикс24
  • после rest/ идентификатор админа, который отправляет вебхук

Как создать вебхук.

В битрикс24 в меню слева заходим в раздел «Приложения». Там жмем кнопку «Добавить вебхук» -> «Входящий вебхук». Видим страницу:

Выделяем CRM и жмет кнопку «Сохранить». Получаем вебхук.

Свой полученный вебхук я естественно замазал)

Важно: создавать вебхук надо с правами админа.

Параметры для лида:

ПАРАМЕТРТИПОПИСАНИЕПРИМЕЧАНИЕ
LOGINStringЛогинОбязательное поле только при использовании упрощенного Rest API
PASSWORDStringПарольОбязательное поле только при использовании упрощенного Rest API
TITLEStringЗаголовок лидаОбязательное поле
HONORIFICStringТип обращения к клиенту
NAMEStringИмя клиента
LAST_NAMEStringФамилия клиента
SECOND_NAMEStringОтчество клиента
BIRTHDATEdateДата рождения клиента
ADDRESSStringАдрес клиента
ADDRESS_2StringВторая строка адреса клиентаВ некоторых странах принято разбивать адрес на 2 части
ADDRESS_CITYStringГород клиента
ADDRESS_COUNTRYStringСтрана клиента
ADDRESS_COUNTRY_CODEStringКод страны клиента
ADDRESS_POSTAL_CODEStringПочтовый индекс клиента
ADDRESS_PROVINCEStringРегион клиента
ADDRESS_REGIONStringРайон клиента
COMPANY_IDcrm_companyПривязка лида к компанииТолько для чтения
COMPANY_TITLEcrm_companyНазвание компании, привязанной к лиду
CONTACT_IDcrm_companyПривязка лида к контактуТолько для чтения
POSTStringДолжность клиента
COMMENTSStringКомментарий клиента
SOURCE_DESCRIPTIONStringДополнительно о статусе
STATUS_DESCRIPTIONStringДополнительно об источнике
OPPORTUNITYDoubleВозможная сумма сделки
CURRENCY_IDStringВалютаТаблица 5
PRODUCT_IDStringПродукт Таблица 4
SOURCE_IDStringИсточник Таблица 3
STATUS_IDStringСтатус Таблица 2
ASSIGNED_BY_IDuserОтветственный за клиента
PHONE_WORKStringРабочий телефон
PHONE_MOBILEStringМобильный телефон
PHONE_FAXStringНомер факса
PHONE_HOMEStringДомашний телефон
PHONE_PAGERStringНомер пейджера
PHONE_OTHERStringДругой телефон
WEB_WORKStringКорпоративный сайт
WEB_HOMEStringЛичная страница
WEB_FACEBOOKStringСтраница Facebook
WEB_LIVEJOURNALStringСтраница LiveJournal
WEB_TWITTERStringМикроблог Twitter
WEB_OTHERStringДругой сайт
EMAIL_WORKStringРабочий e-mail
EMAIL_HOMEStringЧастный e-mail
EMAIL_OTHERStringДругой e-mail
M_SKYPEStringКонтакт Skype
IM_ICQStringКонтакт ICQ
IM_MSNStringКонтакт MSN/Live!
IM_JABBERStringКонтакт Jabber
IM_OTHERStringДругой контакт
UTM_CAMPAIGNStringОбозначение рекламной кампании
UTM_CONTENTStringСодержание кампании
UTM_MEDIUMStringТип трафика
UTM_SOURCEStringРекламная система
UTM_TERMStringКлючевое слова/условия поиска

Таблица 2: STATUS_ID – Статусы для лидов

ЗНАЧЕНИЕНАЗВАНИЕ
NEWНе обработан
ASSIGNEDНазначен ответственный
DETAILSУточнение информации
CANNOT_CONTACTНе удалось связаться
IN_PROCESSВ обработке
ON_HOLDОбработка приостановлена
RESTOREDСконвертирован
CONVERTEDВосстановлен
JUNKНекачественный лид

Таблица 3: SOURCE_ID – Источники

ЗНАЧЕНИЕНАЗВАНИЕ
SELFСвой контакт
PARTNERСуществующий клиент
CALLЗвонок
WEBВеб-сайт
EMAILЭлектронная почта
CONFERENCEКонференция
TRADE_SHOWВыставка
EMPLOYEEСотрудник
COMPANYКампания
HRHR — департамент
MAILПисьмо
OTHERДругое

Таблица 4: PRODUCT_ID – Продукты

ЗНАЧЕНИЕНАЗВАНИЕ
PRODUCT_11С-Битрикс: Управление сайтом
PRODUCT_21С-Битрикс: Корпоративный портал
OTHERДругое

Таблица 5: CURRENCY_ID – Валюты

ЗНАЧЕНИЕНАЗВАНИЕ
RUBРубль
USDДоллар США
EURЕвро

Bitrix24 REST API создание лида через форму: 10 комментариев

  1. Не разбираюсь в PHP. Но все работает.
    Подскажите, что добавить в код выше, чтоб помимо телефона и Имени передавался email ?

    1. В скрипте добавить поле «EMAIL».
      Вот так:

      $queryData = http_build_query(array(
          'fields' => array(
              'TITLE' => 'Название формы', 
              'NAME' => $_POST["name"],
              'PHONE' => array(
                  array(
                      "VALUE" => $_POST["phone"], 
                      "VALUE_TYPE" => "WORK"
                  )
              ),
              'EMAIL' => array(
                  array(
                      "VALUE" => $_POST["email"]
                  )
              )
          ),
          'params' => array("REGISTER_SONET_EVENT" => "Y")
      ));
      

      Ну и добавить поле email в форму

  2. Скажите пожалуйста, как организовать в этом вебхуке проверку ЛИДа на уникальность, например проверять существование контакта с таким номером телефона, и если он есть, то цеплять заявку к существующему контакту а не создавать новый ЛИД?

  3. Нашел что проверка на уникальность делается методом crm.duplicate.findbycomm , подскажите пожалуйста, как модифицировать скрипт чтобы он проверял уникальность поля телефон из формы и создавал новый ЛИД если телефона нет в базе, и цеплял запрос к нужному контакту если таковой уже есть в базе, вместо создания ЛИДа.? Никак не получается, т.к. навыки работы с php в зародыше, и двигается тяжело..
    Спасибо

      1. Это контроль когда уже все создалось, про него я прекрасно знаю.
        Я просто не хочу создавать дубликаты сразу, если появится второй менеджер например, и у меня клиент будет на него закреплен, а лид прилетит новому менеджеру? Как потом делить клиента? Это первое что пришло в голову, а так я думаю с этими дублями мильен проблем еще случится

  4. Здравствуйте. Очень помогла ваша инструкция.
    Сможете подсказать как товары передать в лид, с сайта не на битрикс.
    например указываю ‘PRODUCT_ID’ => $product[«name»] и ничего. и вообще возможно ли передавать товары с сайта не на битрикс?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *