Для AI-агентов: markdown этой страницы — /docs-content/entities/users/fields.md индекс документации — /llms.txt

Поля сотрудника

GET /v1/users/fields

Возвращает полный список полей сущности «сотрудник», включая пользовательские (UF_*) поля портала.

Каждое поле описано ключами type и readonly. У полей схемы приходят также подпись label и описание description, а у пола (personalGender) и типа учётной записи (userType) — перечень допустимых значений enum, где у каждого значения английская подпись label и русская labelRu. У пола стоит дополнительно nullable: true: если сотрудник его не указал, в ответе приходит null — то же самое сообщает и схема OpenAPI, где тип поля объявлен как ["string", "null"].

Примеры

curl — личный ключ

Terminal
curl "https://vibecode.bitrix24.tech/v1/users/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl "https://vibecode.bitrix24.tech/v1/users/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/users/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Полей:', Object.keys(data.fields).length)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/users/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Поля ответа

Подписи полей label и description приходят на русском языке, а те, что платформа берёт напрямую с портала, — на языке портала. Заголовками запроса язык не переключается.

Поле Битрикс24 Тип RO Описание
id ID number да Идентификатор сотрудника
name NAME string Имя
lastName LAST_NAME string Фамилия
secondName SECOND_NAME string Отчество
email EMAIL string Email — обязательное при создании, должно быть уникальным
active ACTIVE boolean Признак активности (true — работает, false — деактивирован)
workPosition WORK_POSITION string Должность
workPhone WORK_PHONE string Рабочий телефон
personalPhone PERSONAL_PHONE string Личный телефон
personalMobile PERSONAL_MOBILE string Мобильный телефон
personalBirthday PERSONAL_BIRTHDAY string Дата рождения (формат ISO 8601)
personalGender PERSONAL_GENDER string Пол: M — мужской, F — женский. Перечень приходит в enum. Если сотрудник пол не указал — null
personalCity PERSONAL_CITY string Город
personalPhoto PERSONAL_PHOTO string На чтение — URL фотографии. На запись — сам файл: массив [имя файла, base64] на POST /v1/users и PATCH /v1/users/:id. Подробности и запрещённые формы — на странице «Обновить сотрудника»
departmentId UF_DEPARTMENT number[] Массив ID отделов. Список: GET /v1/departments
xmlId XML_ID string Внешний идентификатор для интеграций
isAdmin IS_ADMIN boolean да Признак администратора портала с тремя состояниями: true, false или null. Наполняется только в GET /v1/users/me, в GET /v1/users/:id и списке недоступно
isOnline IS_ONLINE boolean да Сотрудник сейчас в сети
dateRegister DATE_REGISTER datetime да Дата регистрации в портале
lastLogin LAST_LOGIN datetime да Дата последнего входа
lastActivityDate LAST_ACTIVITY_DATE datetime да Дата последней активности
timeZone TIME_ZONE string Часовой пояс сотрудника. Пример: "Europe/Moscow"
title TITLE string Обращение / звание
personalWww PERSONAL_WWW string Личный сайт
personalProfession PERSONAL_PROFESSION string Профессия
personalIcq PERSONAL_ICQ string ICQ (устаревшее поле Битрикс24)
personalFax PERSONAL_FAX string Факс
personalPager PERSONAL_PAGER string Пейджер
personalStreet PERSONAL_STREET string Улица
userType USER_TYPE string да Тип учётной записи: "employee" — штатный сотрудник, "extranet" — внешний. Перечень приходит в enum. Список скрывает почтовых пользователей, чат-ботов, пользователей Открытых линий и записи Реплики, поэтому в ответе приходит employee или extranet. Значение "email" (почтовый пользователь) — только значение фильтра: Битрикс24 перечисляет его среди допустимых значений фильтра USER_TYPE, но в выдаче оно не встречается, потому что метод исключает таких пользователей
timestampX TIMESTAMP_X datetime да Метка последнего изменения записи в Битрикс24. Для части пользователей возвращается пустым объектом {}

Поля рабочих сведений (WORK_*, часть PERSONAL_*) приходят под исходными именами Битрикс24 в UPPER_SNAKE_CASE — их подписи Битрикс24 отдаёт сам, локализованные под язык портала. Десяти из них подписи в Битрикс24 нет вовсе (WORK_FAX, WORK_PAGER, WORK_STREET, WORK_MAILBOX, WORK_STATE, WORK_ZIP, WORK_COUNTRY, WORK_PROFILE, WORK_LOGO, WORK_NOTES) — там вместо подписи приходило само имя поля, и теперь подпись с описанием подставляет Вайбкод. Если портал такое поле всё-таки подписал сам, его подпись сохраняется без изменений. Незаполненное поле рабочих сведений в ответе на чтение обычно отсутствует целиком — проверяйте наличие ключа, а не пустую строку.

Пользовательские поля (UF_*) также возвращаются в ответах и принимаются при создании или обновлении. У пользовательского поля типа «список» (enumeration) в ответе есть массив items с возможными значениями (ID, VALUE, DEF, XML_ID) — при условии, что у ключа выдан скоуп user.userfield; без него поле возвращается с подписью, но без items.

Поля ufDepartment не существует — отдел сотрудника лежит в departmentId, массиве идентификаторов подразделений. Исходное имя Битрикс24 UF_DEPARTMENT принимается в select как алиас и проецирует канонический departmentId. Незнакомое имя в select не отклоняется — ответ дополняется предупреждением UNKNOWN_SELECT_FIELD в meta.warnings.

Пример ответа

JSON
{
  "success": true,
  "data": {
    "fields": {
      "name": {
        "type": "string",
        "readonly": false,
        "label": "Имя",
        "description": "Имя сотрудника."
      },
      "timestampX": {
        "type": "datetime",
        "readonly": true,
        "label": "Дата изменения",
        "description": "Метка времени последнего изменения записи сотрудника."
      },
      "personalGender": {
        "type": "string",
        "readonly": false,
        "nullable": true,
        "label": "Пол",
        "description": "Пол сотрудника. Если сотрудник его не указал, в ответе приходит null.",
        "enum": [
          { "value": "M", "label": "Male", "labelRu": "Мужской" },
          { "value": "F", "label": "Female", "labelRu": "Женский" }
        ]
      },
      "WORK_CITY": { "type": "string", "readonly": false, "label": "Город работы" },
      "WORK_FAX": {
        "type": "string",
        "readonly": false,
        "label": "Факс компании",
        "description": "Номер факса компании в рабочих сведениях сотрудника."
      },
      "UF_USR_STATUS": {
        "type": "enumeration",
        "readonly": false,
        "label": "Статус",
        "items": [
          { "ID": "1", "VALUE": "Новый", "DEF": "N", "XML_ID": "x1" },
          { "ID": "2", "VALUE": "В работе", "DEF": "Y", "XML_ID": "x2" }
        ]
      }
    },
    "batch": ["create", "update", "delete"]
  }
}

Показано по одному полю каждого вида. Реальный ответ содержит 30+ полей схемы в camelCase — каждое с подписью и описанием, — поля рабочих сведений Битрикс24 в UPPER_SNAKE_CASE (WORK_*, часть PERSONAL_*) и UF-поля конкретного портала. Исходное имя Битрикс24 у поля схемы в ответе не дублируется: UF_DEPARTMENT приходит как departmentId, NAME — как name.

Пример ответа при ошибке

403 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'user' scope"
  }
}

Ошибки

HTTP Код Описание
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
403 SCOPE_DENIED API-ключ не имеет скоупа user

Полный список общих ошибок API — Ошибки.

Смотрите также