Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Создать новый лид crm.lead.add». Вы узнаете экспертные методики работы с crm.lead.add и научитесь избегать типичных ошибок начинающих разработчиков.
Создать новый лид crm.lead.add
> Scope: crm
>
> Кто может выполнять метод: любой пользователь с правом на создание лидов
Метод crm.lead.add создает новый лид.
Параметры метода
Названиетип | Описание |
|---|---|
fieldsobject | Объект формата:где: Список доступных полей описан ниже |
paramsobject | Необязательный массив опций ("optionName"=>"value"[, ...]). Перечень возможных полей описан ниже |
Параметр fields {#fields}
Названиетип | Описание | |
|---|---|---|
ADDRESSstring | Адрес | |
ADDRESS_2string | Вторая страница адреса. В некоторых странах принято разбивать адрес на 2 части | |
ADDRESS_CITYstring | Город | |
ADDRESS_COUNTRYstring | Страна | |
ADDRESS_COUNTRY_CODEstring | Код страны | |
ADDRESS_POSTAL_CODEstring | Почтовый индекс | |
ADDRESS_PROVINCEstring | Область | |
ADDRESS_REGIONstring | Район | |
ASSIGNED_BY_IDuser | Ответственный | |
BIRTHDATEdate | Дата рождения | |
COMMENTSstring | Комментарии | |
COMPANY_IDcrm_company | Привязка лида к компании | |
COMPANY_TITLEstring | Название компании, указанное в соответствующем поле лида. Для привязки существующей компании стоит передавать её id в поле COMPANY_ID | |
CONTACT_IDcrm_contact | Привязка лида к контакту | |
CONTACT_IDScrm_contact | Список привязанных к лиду контактов. Контакты можно добавлять или удалять группой методов crm.lead.contact. | |
CURRENCY_IDcrm_currency | Идентификатор валюты | |
EMAILcrm_multifield | Адрес электронной почты. Множественное | |
HONORIFICcrm_status | Вид обращения | |
IMcrm_multifield | Мессенджер. Множественное | |
LINKcrm_multifield | ID пользователя, привязанного через открытую линию. Множественное | |
LAST_NAMEstring | Фамилия | |
NAMEstring | Имя | |
SECOND_NAMEstring | Отчество | |
OPENEDchar | Признак доступности лида для всех. Допустимые значения Y или N. | |
OPPORTUNITYdouble | Сумма | |
IS_MANUAL_OPPORTUNITYchar | Признак ручного режима расчёта суммы. Допустимые значения Y или N | |
ORIGINATOR_IDstring | Идентификатор источника данных. Используется только для привязки к внешнему источнику | |
ORIGIN_IDstring | Идентификатор элемента в источнике данных. Используется только для привязки к внешнему источнику | |
PHONEcrm_multifield | Телефон. Множественное | |
POSTstring | Должность | |
SOURCE_DESCRIPTIONstring | Описание источника | |
SOURCE_IDcrm_status | Идентификатор источника. Значения по умолчанию: # |
| Дополнительно о стадии | |
| STATUS_ID | Название |
|---|---|
| NEW | Не обработан |
| IN_PROCESS | В работе |
| PROCESSED | Обработан |
| JUNK | Некачественный лид |
| CONVERTED | Качественный лид |
| Название лида | |
| Обозначение рекламной кампании | |
| Содержание кампании. Например, для контекстных объявлений | |
| Тип трафика. CPC (объявления), CPM (баннеры) | |
| Рекламная система. Yandex-Direct, Google-Adwords и другие | |
| Условие поиска кампании. Например, ключевые слова контекстной рекламы | |
| Сайт. Множественное | |
| UF_… |
В зависимости от настроек портала у лидов может быть набор пользовательских полей определенных типов.
Так же, чтобы узнать требуемый формат полей, можно выполнить метод crm.lead.fields и посмотреть формат пришедших значений этих полей.
При добавлении лида нельзя явно установить признак повторного лида (поле
IS_RETURN_CUSTOMER), однако, это поле автоматически принимает значение Y, если при добавлении лида указать значение для COMPANY_ID или CONTACT_IDПараметр params {#params}
Названиетип | Описание |
|---|---|
REGISTER_SONET_EVENTboolean | Флаг Y/N — произвести регистрацию события добавления лида. Дополнительно будет отправлено уведомление ответственному за лид |
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"TITLE":"ИП Титов","NAME":"Глеб","SECOND_NAME":"Егорович","LAST_NAME":"Титов","STATUS_ID":"NEW","OPENED":"Y","ASSIGNED_BY_ID":1,"CURRENCY_ID":"USD","OPPORTUNITY":12500,"PHONE":[{"VALUE":"555888","VALUE_TYPE":"WORK"}],"WEB":[{"VALUE":"www.mysite.com","VALUE_TYPE":"WORK"}]},"params":{"REGISTER_SONET_EVENT":"Y"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.lead.add- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"TITLE":"ИП Титов","NAME":"Глеб","SECOND_NAME":"Егорович","LAST_NAME":"Титов","STATUS_ID":"NEW","OPENED":"Y","ASSIGNED_BY_ID":1,"CURRENCY_ID":"USD","OPPORTUNITY":12500,"PHONE":[{"VALUE":"555888","VALUE_TYPE":"WORK"}],"WEB":[{"VALUE":"www.mysite.com","VALUE_TYPE":"WORK"}]},"params":{"REGISTER_SONET_EVENT":"Y"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.lead.add- JS
try
{
const response = await $b24.callMethod(
'crm.lead.add',
{
fields:
{
TITLE: 'ИП Титов',
NAME: 'Глеб',
SECOND_NAME: 'Егорович',
LAST_NAME: 'Титов',
STATUS_ID: 'NEW',
OPENED: 'Y',
ASSIGNED_BY_ID: 1,
CURRENCY_ID: 'USD',
OPPORTUNITY: 12500,
PHONE: [
{
VALUE: '555888',
VALUE_TYPE: 'WORK',
},
],
WEB: [
{
VALUE: 'www.mysite.com',
VALUE_TYPE: 'WORK',
}
],
},
params: {
REGISTER_SONET_EVENT: 'Y',
}
}
);
const result = response.getData().result;
console.info(`Создан лид с ID ${result}`);
}
catch( error )
{
console.error(error);
}- PHP
try {
$response = $b24Service
->core
->call(
'crm.lead.add',
[
'fields' => [
'TITLE' => 'ИП Титов',
'NAME' => 'Глеб',
'SECOND_NAME' => 'Егорович',
'LAST_NAME' => 'Титов',
'STATUS_ID' => 'NEW',
'OPENED' => 'Y',
'ASSIGNED_BY_ID' => 1,
'CURRENCY_ID' => 'USD',
'OPPORTUNITY' => 12500,
'PHONE' => [
[
'VALUE' => '555888',
'VALUE_TYPE' => 'WORK',
],
],
'WEB' => [
[
'VALUE' => 'www.mysite.com',
'VALUE_TYPE' => 'WORK',
],
],
],
'params' => [
'REGISTER_SONET_EVENT' => 'Y',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Создан лид с ID ' . $result;
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Ошибка при создании лида: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
"crm.lead.add",
{
fields:
{
TITLE: "ИП Титов",
NAME: "Глеб",
SECOND_NAME: "Егорович",
LAST_NAME: "Титов",
STATUS_ID: "NEW",
OPENED: "Y",
ASSIGNED_BY_ID: 1,
CURRENCY_ID: "USD",
OPPORTUNITY: 12500,
PHONE: [
{
VALUE: "555888",
VALUE_TYPE: "WORK",
},
] ,
WEB: [
{
VALUE: "www.mysite.com",
VALUE_TYPE: "WORK",
}
],
},
params: {
REGISTER_SONET_EVENT: "Y",
}
},
(result) => {
if (result.error())
{
console.error(result.error());
return;
}
console.info(`Создан лид с ID ${result.data()}`);
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'crm.lead.add',
[
'fields' => [
'TITLE' => 'ИП Титов',
'NAME' => 'Глеб',
'SECOND_NAME' => 'Егорович',
'LAST_NAME' => 'Титов',
'STATUS_ID' => 'NEW',
'OPENED' => 'Y',
'ASSIGNED_BY_ID' => 1,
'CURRENCY_ID' => 'USD',
'OPPORTUNITY' => 12500,
'PHONE' => [
[
'VALUE' => '555888',
'VALUE_TYPE' => 'WORK',
],
],
'WEB' => [
[
'VALUE' => 'www.mysite.com',
'VALUE_TYPE' => 'WORK',
],
],
],
'params' => [
'REGISTER_SONET_EVENT' => 'Y',
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": 3465,
"time": {
"start": 1705764932.998683,
"finish": 1705764937.173995,
"duration": 4.1753120422363281,
"processing": 3.3076529502868652,
"date_start": "2024-01-20T18:35:32+03:00",
"date_finish": "2024-01-20T18:35:37+03:00",
"operating_reset_at": 1705765533,
"operating": 3.3076241016387939
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultinteger | Корневой элемент ответа, содержит идентификатор созданного лида |
timetime | Информация о времени выполнения запроса |
Обработка ошибок
> HTTP-статус: 40x, 50x Error
{
"error": "",
"error_description": "Access denied."
}Возможные ошибки
| Код | Текст ошибки | Описание |
|---|---|---|
| Пустое значение | Access denied. | У пользователя нет прав на добавление лида |
- [](./crm-lead-delete)
- [](./crm-lead-fields)
- [](../../../tutorials/crm/how-to-add-crm-objects/how-to-add-lead)
- [](../../../tutorials/crm/how-to-add-crm-objects/how-to-add-lead-with-files)
- [](../../../tutorials/crm/how-to-add-crm-objects/how-to-add-repeat-lead)
- [](../../../tutorials/crm/how-to-add-crm-objects/how-to-add-objects-with-crm-mode)
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Создать новый лид crm.lead.add»:
Использование современных стандартов D7 при работе с crm.lead.add позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru