user.userfield.update
Обновить пользовательское поле
Описание
Метод user.userfield.update обновляет пользовательское поле.
Параметры
id
integer
обязательный
Идентификатор пользовательского поля.
Для получения идентификаторов пользовательских полей используйте метод user.userfield.list
fields
object
необязательный
Значения полей для обновления пользовательского поля
Параметр fields
XML_ID
string
необязательный
Внешний код
SORT
integer
необязательный
Порядок сортировки
MANDATORY
boolean
необязательный
Является ли пользовательское поле обязательным. Возможные значения:
- Y — да
- N — нет
SHOW_FILTER
boolean
необязательный
Показывать ли поле в фильтре списка. Возможные значения:
- Y — да
- N — нет
SHOW_IN_LIST
boolean
необязательный
Показывать ли поле в списке. Возможные значения:
- Y — да
- N — нет
EDIT_IN_LIST
boolean
необязательный
Редактировать ли поле в списке. Возможные значения:
- Y — да
- N — нет
IS_SEARCHABLE
boolean
необязательный
Участвует ли поле в поиске. Возможные значения:
- Y — да
- N — нет
SETTINGS
object
необязательный
Объект в формате {"field_1": "value_1", ... "field_N": "value_N"} для передачи дополнительных настроек пользовательских полей. Настройки описаны ниже
EDIT_FORM_LABEL
string
необязательный
Подпись в форме редактирования. Можно передать строку или объект с подписями по языкам в формате {"ru": "...", "en": "..."}. При передаче строки значение будет выставлено для всех языков
LIST_COLUMN_LABEL
string
необязательный
Заголовок столбца в списке. Можно передать строку или объект с подписями по языкам в формате {"ru": "...", "en": "..."}. При передаче строки значение будет выставлено для всех языков
LIST_FILTER_LABEL
string
необязательный
Заголовок фильтра в списке. Можно передать строку или объект с подписями по языкам в формате {"ru": "...", "en": "..."}. При передаче строки значение будет выставлено для всех языков
ERROR_MESSAGE
string
необязательный
Сообщение об ошибке при невалидном вводе. Можно передать строку или объект с текстами по языкам в формате {"ru": "...", "en": "..."}. При передаче строки значение будет выставлено для всех языков
HELP_MESSAGE
string
необязательный
Текст подсказки к полю. Можно передать строку или объект с текстами по языкам в формате {"ru": "...", "en": "..."}. При передаче строки значение будет выставлено для всех языков
LABEL
string
необязательный
Название пользовательского поля по умолчанию.
Значение будет выставлено в поля LIST_FILTER_LABEL, LIST_COLUMN_LABEL, EDIT_FORM_LABEL, ERROR_MESSAGE, HELP_MESSAGE, если в них не передано значение
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"id": 42,
"fields": {
"SORT": 150,
"LIST_FILTER_LABEL": "New Title",
"LIST_COLUMN_LABEL": "New List Title"
}
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/user.userfield.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"id": 42,
"fields": {
"SORT": 150,
"LIST_FILTER_LABEL": "New Title",
"LIST_COLUMN_LABEL": "New List Title"
},
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/user.userfield.update
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type UpdateUserFieldResult = boolean
try {
const response = await $b24.actions.v2.call.make<UpdateUserFieldResult>({
method: 'user.userfield.update',
params: {
id: 42,
fields: {
SORT: 150,
LIST_FILTER_LABEL: 'New Title',
LIST_COLUMN_LABEL: 'New List Title',
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('User field updated:', result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function updateUserField() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'user.userfield.update',
params: {
id: 42,
fields: {
SORT: 150,
LIST_FILTER_LABEL: 'New Title',
LIST_COLUMN_LABEL: 'New List Title',
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('User field updated:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateUserField)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.user.userfield.update(
bitrix_id=42,
fields={
"SORT": 150,
"LIST_FILTER_LABEL": "New Title",
"LIST_COLUMN_LABEL": "New List Title",
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'user.userfield.update',
[
'id' => 42,
'fields' => [
'SORT' => 150,
'LIST_FILTER_LABEL' => 'New Title',
'LIST_COLUMN_LABEL' => 'New List Title',
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating user field: ' . $e->getMessage();
}
BX24.callMethod(
'user.userfield.update',
{
id: 42,
fields: {
SORT: 150,
LIST_FILTER_LABEL: 'New Title',
LIST_COLUMN_LABEL: 'New List Title',
},
},
function(result) {
if(result.error())
console.error(result.error());
else
console.log(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'user.userfield.update',
[
'id' => 42,
'fields' => [
'SORT' => 150,
'LIST_FILTER_LABEL' => 'New Title',
'LIST_COLUMN_LABEL' => 'New List Title',
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "user.userfield.update", b24.Params{
"id": 42,
"fields": b24.Params{
"SORT": 150,
"LIST_FILTER_LABEL": "New Title",
"LIST_COLUMN_LABEL": "New List Title",
},
})
if err != nil {
return fmt.Errorf("user.userfield.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 200
{
"result": true,
"time": {
"start":1747311864.008399,
"finish":1747311865.063292,
"duration":1.0548930168151855,
"processing":0.17107510566711426,
"date_start":"2025-05-15T14:24:24+02:00",
"date_finish":"2025-05-15T14:24:25+02:00",
"operating":0
}
}
Возвращаемые данные
result
boolean
Cодержит true в случае успешного обновления пользовательского поля
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":"",
"error_description":"Access denied."
}
| Код | Описание | Значение |
|---|---|---|
Пустая строка |
Access denied. | Поле с таким id не существует или доступ запрещен |
Пустая строка |
ID is not defined or invalid | Не задан или введен неверный id |

