Блог Горошко Андрея Bitrix24,PHP Получить лид по Id crm.lead.get

Получить лид по Id crm.lead.get

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить лид по Id crm.lead.get», проанализируем лучшие практики и покажем, как правильно использовать crm.lead.get в реальных задачах.

Получить лид по Id crm.lead.get

> Scope: crm
>
> Кто может выполнять метод: пользователь с правом на чтение запрашиваемого лида

Метод crm.lead.get возвращает лид по идентификатору.

Параметры метода

Название
тип
Описание
id
integer
Идентификатор лида.

Идентификатор можно получить с помощью методов crm.lead.list или crm.lead.add

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ID":123}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.lead.get
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ID":123,"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.lead.get
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'crm.lead.get',
    		{ id: 123 }
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'crm.lead.get',
                [
                    'id' => 123,
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            error_log($result->error());
            return;
        }
    
        echo 'Lead data: ' . print_r($result->data(), true);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error getting lead data: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
      'crm.lead.get',
      { id: 123 },
      (result) => {
        if(result.error())
        {
          console.error(result.error());
  
          return;
        }
        
        console.info(result.data());
      }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'crm.lead.get',
        [
            'ID' => 123
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
  "result": {
    "ID": "123",
    "TITLE": "Лид #1591",
    "HONORIFIC": null,
    "NAME": "",
    "SECOND_NAME": null,
    "LAST_NAME": null,
    "COMPANY_TITLE": null,
    "COMPANY_ID": null,
    "CONTACT_ID": null,
    "IS_RETURN_CUSTOMER": "N",
    "BIRTHDATE": "",
    "SOURCE_ID": "1",
    "SOURCE_DESCRIPTION": null,
    "STATUS_ID": "IN_PROCESS",
    "STATUS_DESCRIPTION": null,
    "POST": null,
    "COMMENTS": null,
    "CURRENCY_ID": "RUB",
    "OPPORTUNITY": "0.00",
    "IS_MANUAL_OPPORTUNITY": "N",
    "HAS_PHONE": "N",
    "HAS_EMAIL": "N",
    "HAS_IMOL": "N",
    "ASSIGNED_BY_ID": "1",
    "CREATED_BY_ID": "1",
    "MODIFY_BY_ID": "1",
    "DATE_CREATE": "2024-05-23T18:18:25+03:00",
    "DATE_MODIFY": "2024-05-23T18:18:25+03:00",
    "DATE_CLOSED": "",
    "STATUS_SEMANTIC_ID": "P",
    "OPENED": "Y",
    "ORIGINATOR_ID": null,
    "ORIGIN_ID": null,
    "MOVED_BY_ID": "1",
    "MOVED_TIME": "2024-05-23T18:18:25+03:00",
    "ADDRESS": null,
    "ADDRESS_2": null,
    "ADDRESS_CITY": null,
    "ADDRESS_POSTAL_CODE": null,
    "ADDRESS_REGION": null,
    "ADDRESS_PROVINCE": null,
    "ADDRESS_COUNTRY": null,
    "ADDRESS_COUNTRY_CODE": null,
    "ADDRESS_LOC_ADDR_ID": null,
    "UTM_SOURCE": null,
    "UTM_MEDIUM": null,
    "UTM_CAMPAIGN": null,
    "UTM_CONTENT": null,
    "UTM_TERM": null,
    "LAST_ACTIVITY_BY": "1",
    "LAST_ACTIVITY_TIME": "2024-05-23T18:18:25+03:00",
    "PHONE": [
      {
        "ID": "11658",
        "VALUE_TYPE": "OTHER",
        "VALUE": "+5454777777",
        "TYPE_ID": "PHONE"
      }
    ],
    "IM": [
      {
        "ID": "11660",
        "VALUE_TYPE": "OPENLINE",
        "VALUE": "imol|livechat|1|67|21",
        "TYPE_ID": "IM"
      }
    ]
  },
  "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
  }
}

Возвращаемые данные

Название
тип
Описание
result
lead
Корневой элемент ответа. Содержит информацию о полях лида. Структура описана ниже
time
time
Информация о времени выполнения запроса

Тип lead {#lead}

Название
тип
Описание
ID
integer
Целочисленный идентификатор лида
TITLE
string
Название лида
HONORIFIC
crm_status
Вид обращения. Статус из справочника. Список возможных идентификаторов можно получить методом crm.status.list с фильтром filter[ENTITY_ID]=HONORIFIC
NAME
string
Имя контакта
SECOND_NAME
string
Отчество контакта
LAST_NAME
string
Фамилия контакта
COMPANY_ID
crm_company
Привязка лида к компании
COMPANY_TITLE
string
Название компании
CONTACT_ID
crm_contact
Привязка лида к контакту
IS_RETURN_CUSTOMER
char
Признак повторного лида. Допустимые значения Y или N
BIRTHDATE
date
Дата рождения
SOURCE_ID
crm_status
Идентификатор источника. Статус из справочника. Список возможных идентификаторов можно получить методом crm.status.list с фильтром filter[ENTITY_ID]=SOURCE
SOURCE_DESCRIPTION
string
Описание источника
STATUS_ID
crm_status
Идентификатор стадии лида. Статус из справочника. Список возможных идентификаторов можно получить методом crm.status.list с фильтром filter[ENTITY_ID]=STATUS
STATUS_DESCRIPTION
string
Дополнительно о стадии
POST
string
Должность
COMMENTS
string
Комментарии
CURRENCY_ID
crm_currency
Идентификатор валюты
OPPORTUNITY
double
Предполагаемая сумма
IS_MANUAL_OPPORTUNITY
char
Признак ручного расчёта суммы. Допустимые значения Y или N
HAS_PHONE
char
Признак заполненности поля телефон. Допустимые значения Y или N
HAS_EMAIL
char
Признак заполненности поля электронной почты. Допустимые значения Y или N
HAS_IMOL
char
Признак наличия привязанной открытой линии. Допустимые значения Y или N
ASSIGNED_BY_ID
user
Идентификатор пользователя ответственного за лид
CREATED_BY_ID
user
Идентификатор пользователя создавшего лид
MODIFY_BY_ID
user
Идентификатор пользователя-автора последнего изменения
MOVED_BY_ID
user
Идентификатор пользователя-автора перемещения элемента на текущую стадию
DATE_CREATE
datetime
Дата создания
DATE_MODIFY
datetime
Дата изменения
DATE_CLOSED
datetime
Дата закрытия
STATUS_SEMANTIC_ID
string
— F (failed) – обработан неуспешно
— S (success) – обработан успешно
— P (processing) – лид в обработке
OPENED
char
Признак доступности лида для всех. Допустимые значения Y или N
ORIGINATOR_ID
string
Идентификатор источника данных. Используется только для привязки к внешнему источнику
ORIGIN_ID
string
Идентификатор элемента в источнике данных. Используется только для привязки к внешнему источнику
MOVED_TIME
datetime
Дата перемещения элемента на текущую стадию
ADDRESS
string
Адрес контакта
ADDRESS_2
string
Вторая страница адреса. В некоторых странах принято разбивать адрес на 2 части
ADDRESS_CITY
string
Город
ADDRESS_POSTAL_CODE
string
Почтовый индекс
ADDRESS_REGION
string
Район
ADDRESS_PROVINCE
string
Область
ADDRESS_COUNTRY
string
Страна
ADDRESS_COUNTRY_CODE
string
Код страны
ADDRESS_LOC_ADDR_ID
string
Используется для служебных целей
UTM_SOURCE
string
Рекламная система. Yandex-Direct, Google-Adwords и другие
UTM_MEDIUM
string
Тип трафика. CPC (объявления), CPM (баннеры)
UTM_CAMPAIGN
string
Обозначение рекламной кампании
UTM_CONTENT
string
Содержание кампании. Например, для контекстных объявлений
UTM_TERM
string
Условие поиска кампании. Например, ключевые слова контекстной рекламы
LAST_ACTIVITY_BY
string
Идентификатор пользователя ответственного за последнюю активность в этом лиде (например, создавшего новое дело в лиде)
LAST_ACTIVITY_TIME
datetime
Время последней активности
UF_…Пользовательские поля. Например, UF_CRM_25534736.

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

Для создания, изменения или удаления пользовательских полей в лидах используйте методы crm.lead.userfield.

PHONE
crm_multifield
Массив телефонов
IM
crm_multifield
Массив мессенджеров

Обработка ошибок

> 40x, 50x Error

{
    "error": "",
    "error_description": "Not found"
}

Возможные ошибки

Текст ошибкиОписание
ID is not defined or invalidВ параметр id либо не передано значение, либо оно является не целым числом больше нуля
Not foundЛид с указанным id не найден
Access deniedУ пользователя нет прав на чтение лида
  • [](../../../tutorials/crm/how-to-add-crm-objects/how-to-add-objects-with-crm-mode)

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Получить лид по Id crm.lead.get»:

Использование современных стандартов D7 при работе с crm.lead.get позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Получить список офлайн-событий с «очисткой» event.offline.getПолучить список офлайн-событий с «очисткой» event.offline.get

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить список офлайн-событий с «очисткой» event.offline.get», разберем архитектурные

Виджеты, встраиваемые в интерфейс объектов пользовательских типов CRMВиджеты, встраиваемые в интерфейс объектов пользовательских типов CRM

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Виджеты, встраиваемые в интерфейс объектов пользовательских типов CRM». Вы узнаете экспертные методики работы

Изменить шаблон реквизита crm.requisite.preset.updateИзменить шаблон реквизита crm.requisite.preset.update

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Изменить шаблон реквизита crm.requisite.preset.update». Вы узнаете экспертные методики работы с crm.requisite.preset.update и научитесь