#Обновить поле
PATCH /v1/items/:entityTypeId/userfields/:id
Обновляет свойства существующего пользовательского поля смарт-процесса. Тип поля (userTypeId) изменить нельзя — для смены типа удалите поле и создайте новое. Передавайте только те поля, которые хотите изменить.
#Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
:entityTypeId (path) |
number | да | Идентификатор типа смарт-процесса. Источник: `GET /v1/smart-processes` — поле entityTypeId в каждом элементе массива data |
:id (path) |
number | да | Числовой идентификатор поля (из ответа `GET /v1/items/:entityTypeId/userfields` или `POST /v1/items/:entityTypeId/userfields`) |
#Поля запроса (body)
Поля те же, что и при создании. Передавайте только те, которые хотите изменить.
| Поле | Тип | Описание |
|---|---|---|
label |
string | Подпись поля для отображения. Значение автоматически распространяется на все языки портала |
editFormLabel |
object | Подпись в форме редактирования по языкам. Пример: { "ru": "Проект", "en": "Project" } |
sort |
string | Порядок сортировки в интерфейсе Битрикс24 |
multiple |
string | Разрешить несколько значений: "Y" или "N" |
mandatory |
string | Обязательное при заполнении: "Y" или "N" |
showFilter |
string | Отображать в фильтре: "N" — нет, "I" — точное значение, "E" — маска, "S" — диапазон |
showInList |
string | Показывать в списке записей: "Y" или "N" |
editInList |
string | Разрешить редактирование прямо из списка: "Y" или "N" |
isSearchable |
string | Участвует в полнотекстовом поиске: "Y" или "N" |
xmlId |
string | Внешний идентификатор для интеграций |
settings |
object | Настройки поля, специфичные для типа. Структура зависит от userTypeId |
enum |
array | Варианты для поля типа enumeration. Передавайте все варианты, которые должны остаться, с их id, плюс новые без id. Элемент без id создаётся заново; элемент с id, не переданный в массиве, удаляется |
Read-only поля (id, entityId, fieldName, userTypeId) игнорируются при передаче.
#Примеры
#curl — личный ключ
curl -X PATCH "https://vibecode.bitrix24.tech/v1/items/174/userfields/8210" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mandatory": "Y",
"showFilter": "I"
}'
#curl — OAuth-приложение
curl -X PATCH "https://vibecode.bitrix24.tech/v1/items/174/userfields/8210" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mandatory": "Y",
"showFilter": "I"
}'
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/items/174/userfields/8210', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
mandatory: 'Y',
showFilter: 'I',
}),
})
const { success, data } = await res.json()
console.log('Обновлено:', data.updated)
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/items/174/userfields/8210', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
mandatory: 'Y',
showFilter: 'I',
}),
})
const { success, data } = await res.json()
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data.updated |
boolean | true при успешном обновлении |
#Пример ответа
{
"success": true,
"data": {
"updated": true
}
}
#Пример ответа при ошибке
403 — у ключа нет скоупа userfieldconfig:
{
"success": false,
"error": {
"code": "BITRIX_ACCESS_DENIED",
"message": "The request requires higher privileges than provided by the webhook token"
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_REQUEST |
Тело запроса не является объектом |
| 400 | INVALID_ENTITY_TYPE_ID |
:entityTypeId не является положительным целым числом |
| 403 | BITRIX_ACCESS_DENIED |
У ключа нет скоупа userfieldconfig — перевыпустите ключ с этим скоупом |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа crm |
| 404 | SMART_PROCESS_NOT_FOUND |
Смарт-процесс с указанным entityTypeId не найден на портале |
| 422 | BITRIX_ERROR |
Поля с указанным id нет — Битрикс24 отвечает «Вы не можете изменить настройки пользовательского поля» |
| 422 | BITRIX_ERROR |
Некорректные значения полей или несовместимые настройки settings |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
| 401 | MISSING_API_KEY |
Отсутствует заголовок X-Api-Key |
Полный список общих ошибок API — Ошибки.
#Известные особенности
Обновление вариантов enumeration. Варианты передаются массивом enum (не list). Чтобы сохранить существующий вариант, передайте его с полем id из ответа `GET /v1/items/:entityTypeId/userfields/:id` — вариант без id создаётся как новый, а пропущенный в массиве удаляется.
#Смотрите также
- Получить поле — проверить результат обновления
- Создать поле — добавить новое поле
- Удалить поле — удалить поле
- Поля смарт-процессов — обзор раздела
- Пользовательские поля — обзор раздела