Получить список зарегистрированных типов пользовательских полей userfieldtype.list
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
в зависимости от места встройкиКто может выполнять метод: любой пользователь
Метод получает список зарегистрированных приложением типов пользовательских полей. На выход отдает список типов полей с постраничной навигацией.
Без параметров.
Примеры кода
Как использовать примеры в документации
cURL (Webhook)
cURL (OAuth)
JS
PHP
BX24.js
PHP CRest
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/userfieldtype.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/userfieldtype.list
// callListMethod: Получает все данные сразу. Используйте только для небольших выборок (< 1000 элементов) из-за высокой нагрузки на память.
try {
const response = await $b24.callListMethod(
'userfieldtype.list',
{},
(progress) => { console.log('Progress:', progress) }
)
const items = response.getData() || []
for (const entity of items) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
// fetchListMethod: Выбирает данные по частям с помощью итератора. Используйте для больших объемов данных для эффективного потребления памяти.
try {
const generator = $b24.fetchListMethod('userfieldtype.list', {}, 'ID')
for await (const page of generator) {
for (const entity of page) { console.log('Entity:', entity) }
}
} catch (error) {
console.error('Request failed', error)
}
// callMethod: Ручное управление постраничной навигацией через параметр start. Используйте для точного контроля над пакетами запросов. Для больших данных менее эффективен, чем fetchListMethod.
try {
const response = await $b24.callMethod('userfieldtype.list', {}, 0)
const result = response.getData().result || []
for (const entity of result) { console.log('Entity:', entity) }
} catch (error) {
console.error('Request failed', error)
}
try {
$userFieldTypesResult = $serviceBuilder->getPlacementScope()->userFieldType()->list();
$userFieldTypes = $userFieldTypesResult->getUserFieldTypes();
foreach ($userFieldTypes as $userFieldType) {
print("Description: " . $userFieldType->DESCRIPTION . "\n");
print("Handler: " . $userFieldType->HANDLER . "\n");
print("Title: " . $userFieldType->TITLE . "\n");
print("User Type ID: " . $userFieldType->USER_TYPE_ID . "\n");
}
} catch (Throwable $e) {
print("Error: " . $e->getMessage());
}
BX24.callMethod(
'userfieldtype.list',
{},
function(result)
{
if(result.error())
console.error(result.error());
else
console.log(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'userfieldtype.list',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Обработка ответа
HTTP-статус: 200
{
"result": [
{
"USER_TYPE_ID": "my_custom_type_2",
"HANDLER": "http:\/\/test.com\/test2.php",
"TITLE": "test title 2",
"DESCRIPTION":"test desc 2"
},
{
"USER_TYPE_ID": "my_custom_type_1",
"HANDLER": "http:\/\/test.com\/test1.php",
"TITLE": "test title 1",
"DESCRIPTION": "test desc 1"
},
{
"USER_TYPE_ID": "test_user_type",
"HANDLER": "http:\/\/test.com\/test.php",
"TITLE": "test title",
"DESCRIPTION": "test desc"
}
],
"total": 3,
"time":{
"start":1724423274.842117,
"finish":1724423275.558021,
"duration":0.7159039974212646,
"processing":0.0018908977508544922,
"date_start":"2024-08-23T16:27:54+02:00",
"date_finish":"2024-08-23T16:27:55+02:00",
"operating":0
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Корневой элемент ответа |
|
total |
Число обработанных записей |
|
time |
Информация о времени выполнения запроса |
Продолжите изучение
- Зарегистрировать новый тип пользовательских полей userfieldtype.add
- Изменить настройки типа пользовательских полей userfieldtype.update
- Удалить зарегистрированный тип пользовательских полей userfieldtype.delete
Скопировано