Bitrix24 предоставляет мощный API, который позволяет разработчикам взаимодействовать с системой на более глубоком уровне. В этой статье мы рассмотрим, как использовать API Bitrix24 для обновления и получения пользовательских полей.
Что такое пользовательские поля?
Пользовательские поля — это дополнительные поля, которые вы можете создать в Bitrix24 для хранения специфической информации, которая не предусмотрена стандартными полями. Например, вы можете создать пользовательское поле для хранения номера лицензии или даты истечения срока действия контракта.
Обновление пользовательских полей с помощью API
Для обновления пользовательских полей в Bitrix24 через API, вы можете использовать метод crm.lead.userfield.update
. Вот пример кода на PHP, который демонстрирует обновление свойства типа “список”:
<?php
$webhook = "https://crm-dsa.ru/rest/4/8f/"; // замените на ваш вебхук
$id = 316; // замените на ID элемента, который вы хотите обновить
$url = $webhook . "crm.lead.userfield.update.json";
$data = array(
"id" => $id,
"fields" => array(
"LIST" => array(
array(
"ID" => "30",
"SORT" => "10",
"VALUE" => "тест",
"DEF" => "N"
),
array(
"ID" => "31",
"SORT" => "20",
"VALUE" => "тест 1",
"DEF" => "N"
),
array(
"ID" => "32",
"SORT" => "30",
"VALUE" => "тест 2",
"DEF" => "N"
),
array(
"ID" => "33",
"SORT" => "40",
"VALUE" => "тест 3",
"DEF" => "N"
),
array(
"ID" => "34",
"SORT" => "50",
"VALUE" => "тест 777",
"DEF" => "N"
)
)
)
);
$options = array(
"http" => array(
"header" => "Content-type: application/x-www-form-urlencoded\r\n",
"method" => "POST",
"content" => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
/* Обработка ошибки */
echo "Произошла ошибка при выполнении запроса.\n";
$error = error_get_last();
echo "Ошибка: " . $error['message'];
} else {
var_dump(json_decode($result, true));
}
?>
Получение пользовательских полей с помощью API
Для получения пользовательских полей в Bitrix24 через API, вы можете использовать метод crm.lead.userfield.get
. Вот пример кода на PHP:
<?php
$webhook = "https://crm-dsa.ru/rest/4/8f/"; // замените на ваш вебхук
$id = 316; // замените на ID поля, которое вы хотите получить
$url = $webhook . "crm.lead.userfield.get.json?id=" . $id;
$result = file_get_contents($url);
if ($result === FALSE) {
/* Обработка ошибки */
echo "Произошла ошибка при выполнении запроса.\n";
$error = error_get_last();
echo "Ошибка: " . $error['message'];
} else {
var_dump(json_decode($result, true));
}
?>
Вызов REST из локального приложения
Если вы хотите вызвать REST API Bitrix24 из локального приложения, вы можете использовать библиотеку CREST PHP. Вот пример кода, который вы можете вставить в файл index.php
вашего приложения:
PHP
<?php
require_once('src/crest.php');
$webhook = "https://crm-dsa.ru/rest/4/8f/"; // замените на ваш вебхук
$id = 316; // замените на ID поля, которое вы хотите получить
$result = CRest::call(
'crm.lead.userfield.get',
array(
'id' => $id
)
);
if ($result['error']) {
echo "Ошибка: " . $result['error_description'];
} else {
var_dump($result);
}
?>
Обработка ошибок
Важно всегда обрабатывать возможные ошибки при работе с API. В приведенных выше примерах мы используем функцию file_get_contents
для отправки HTTP-запроса. Если что-то пошло не так (например, неверный URL API, проблемы с сетью и т.д.), file_get_contents
вернет FALSE
, и мы можем получить информацию об ошибке с помощью функции error_get_last
.
Заключение
API Bitrix24 — это мощный инструмент, который позволяет разработчикам взаимодействовать с системой на более глубоком уровне. С помощью примеров кода, приведенных в этой статье, вы можете начать использовать API для обновления и получения пользовательских полей в Bitrix24. Помните, что важно всегда обрабатывать ошибки и проверять возвращаемые API данные на наличие ошибок. Удачи вам в разработке! 😊