Каким образом можно передавать данные с веб-сайта в пользовательские поля CRM-системы Bitrix24?

Как правильно передать данные в кастомные поля CRM Bitrix24 через PHP код?
  • 21 февраля 2024 г. 13:08
Ответы на вопрос 2
Для передачи данных с веб-сайта в пользовательские поля CRM-системы Bitrix24 можно использовать API Bitrix24. Вам нужно будет создать скрипт на вашем веб-сайте, который будет отправлять POST-запросы к API CRM Bitrix24 для создания или обновления сущностей (записей) в CRM.

Вот пример PHP кода, который позволит передать данные в кастомные поля CRM Bitrix24:

```php
<?php

$crmUrl = 'https://ваш_домен/rest/логин_пользователя/код_входа/crm.lead.add.json';
$data = [
    'FIELDS' => [
        'TITLE' => 'Название лида',
        'NAME' => 'Имя контакта',
        'EMAIL' => [
            ['VALUE' => '[email protected]', 'VALUE_TYPE' => 'WORK']
        ],
        'PHONE' => [
            ['VALUE' => '123456789', 'VALUE_TYPE' => 'WORK']
        ],
        'UF_CRM_CUSTOM_FIELD' => 'Значение кастомного поля'
    ]
];

$options = [
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: application/json',
        'content' => json_encode($data)
    ]
];

$context = stream_context_create($options);
$response = file_get_contents($crmUrl, false, $context);
if ($response === false) {
    echo 'Ошибка при отправке данных в CRM Bitrix24';
    die();
}

$responseData = json_decode($response, true);
if ($responseData['result'] == false) {
    echo 'Ошибка при создании лида в CRM Bitrix24';
} else {
    echo 'Лид успешно создан в CRM Bitrix24';
}

?>
```

Замените `'https://ваш_домен/rest/логин_пользователя/код_входа/crm.lead.add.json'` на ссылку API CRM Bitrix24, `'Название лида'`, `'Имя контакта'`, `[email protected]`, `123456789`, и `'Значение кастомного поля'` на необходимые значения.

Этот код создаст новый лид в CRM Bitrix24 с указанными данными. Пожалуйста, убедитесь, что у вас есть доступ к API CRM и разрешения на создание/обновление сущностей.
Чтобы передать данные с веб-сайта в пользовательские поля Bitrix24 CRM при автоматической генерации лидов, следующие действия необходимы: 
Создать пользовательские поля в CRM. Вы можете создать пользовательские поля два способами: в карточке элемента или в настройках CRM

Узнать ID созданного пользовательского поля. Для получения ID пользовательского поля, перейдите в раздел CRM → Настройки → Настройки форм и отчетов → Пользовательские поля → Лид (Список поле), найдите ваше поле и обратите внимание на URL в поискевой строке, где будет значение UF_CRM_XXXXXXXXXX

Добавить значения пользовательских полей в код PHP для отправки данных. Во время автоматической генерации лидов с сайта, включите значения пользовательских полей в параметры запроса

<?php
// Авторизация
const AUTHORIZATION_HEADER = 'Bearer <ваш_токен>'; // Ваш токен доступа

function sendRequest($method, $url, array $params): string
{
    $ch = curl_init();
    curl_setopt($ch, CURLINFO_HEADER_OUT, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
    if ($method === 'GET') {
        $url .= '?' . http_build_query($params);
        curl_setopt($ch, CURLOPT_URL, $url);
    } else {
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, strtoupper($method));
    }
    curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: {$AUTHORIZATION_HEADER}"]);
    return curl_exec($ch);
}

$response = sendRequest('POST', 'https://yourdomain.bitrix24.site/rest/1/crm/lead/add', [
    'NAME' => 'Имя',
    'LAST_NAME' => 'Фамилия',
    'UF_YOUR_CUSTOM_FIELD_ID' => 'Значение вашего кастомного поля',
]);
echo $response;
?>
Похожие вопросы