#Список полей сущности

GET /v1/userfields/:entity

Возвращает список пользовательских полей CRM-сущности. Поддерживает фильтрацию по типу поля и по имени.

#Параметры

Параметр Тип Обяз. Описание
:entity (path) string да Сущность: deals, leads, contacts, companies, quotes, requisites
userTypeId (query) string нет Фильтр по типу поля. Список допустимых значений — `GET /v1/userfields/:entity/types`. Пример: ?userTypeId=string
fieldName (query) string нет Фильтр по имени поля в формате UF_CRM_*. Пример: ?fieldName=UF_CRM_PROJECT_CODE

Результат упорядочен по полю sort по возрастанию. Параметр сортировки не принимается.

#Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/userfields/deals?userTypeId=string" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/userfields/deals?userTypeId=string" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/userfields/deals?userTypeId=string',
  {
    headers: { 'X-Api-Key': 'YOUR_API_KEY' },
  }
)
const { success, data, meta } = await res.json()
console.log(`Полей типа string: ${meta.total}`)

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

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/userfields/deals?userTypeId=string',
  {
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
    },
  }
)
const { success, data, meta } = await res.json()

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив полей сущности. Все поля элементов — см. Получить поле
meta.total number Общее количество полей, соответствующих фильтру

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

JSON
{
  "success": true,
  "data": [
    {
      "id": 6737,
      "entityId": "CRM_DEAL",
      "fieldName": "UF_CRM_66976FE34823A",
      "userTypeId": "string",
      "xmlId": null,
      "sort": "100",
      "multiple": "N",
      "mandatory": "N",
      "showFilter": "E",
      "showInList": "Y",
      "editInList": "Y",
      "isSearchable": "N",
      "settings": {
        "SIZE": 20,
        "ROWS": 1,
        "REGEXP": "",
        "MIN_LENGTH": 0,
        "MAX_LENGTH": 0,
        "DEFAULT_VALUE": ""
      }
    },
    {
      "id": 6739,
      "entityId": "CRM_DEAL",
      "fieldName": "UF_CRM_66976FE35F480",
      "userTypeId": "string",
      "xmlId": null,
      "sort": "100",
      "multiple": "N",
      "mandatory": "N",
      "showFilter": "N",
      "showInList": "Y",
      "editInList": "Y",
      "isSearchable": "N",
      "settings": {
        "SIZE": 20,
        "ROWS": 1,
        "REGEXP": "",
        "MIN_LENGTH": 0,
        "MAX_LENGTH": 0,
        "DEFAULT_VALUE": ""
      }
    }
  ],
  "meta": {
    "total": 7
  }
}

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

400 — неизвестная сущность:

JSON
{
  "success": false,
  "error": {
    "code": "UNKNOWN_ENTITY",
    "message": "Unsupported entity \"foobar\". Supported: deals, leads, contacts, companies, quotes, requisites"
  }
}

#Ошибки

HTTP Код Описание
400 UNKNOWN_ENTITY :entity не входит в список поддерживаемых сущностей
401 MISSING_API_KEY Отсутствует заголовок X-Api-Key
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
403 SCOPE_DENIED API-ключ не имеет скоупа crm

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

#Известные особенности

Объект settings. Структура поля settings зависит от userTypeId. Для строки это SIZE, ROWS, REGEXP, MIN_LENGTH, MAX_LENGTH, DEFAULT_VALUE. Для других типов — другой набор ключей.

Пагинация отсутствует. Эндпоинт возвращает все поля сущности без разбивки на страницы. meta.total отражает итоговое число полей в ответе.

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