Поля контакта

GET /v1/contacts/fields

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

Примеры

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

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

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/contacts/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/contacts/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

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

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

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

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

Поля ответа

Поле Тип RO Описание
id number да ID контакта
name string Имя
lastName string Фамилия
secondName string Отчество
phone multifield Телефон. На вход (POST/PATCH) принимает string | string[] | object[]. На выходе phone — строка с первичным значением, значения по типам — в полях phoneWork/phoneMobile, полный перечень с типами — в массиве fm[] (формат { id, typeId, valueType, value }). ⚠ PATCH только добавляет новые записи — старые phone не удаляются. См. Обновить контакт. ⚠ UPPER-форма [{ "VALUE": "...", "VALUE_TYPE": "WORK" }] не принимается — вернёт 400 INVALID_MULTIFIELD_SHAPE. Используйте camelCase: [{ "value": "...", "typeId": "WORK" }].
email multifield Email. На вход принимает string | string[] | object[]. На выходе email — строка с первичным значением, значения по типам — в полях emailWork/emailHome/emailMailing, полный перечень — в массиве fm[]. ⚠ PATCH только добавляет новые записи — старые email не удаляются. ⚠ UPPER-форма [{ "VALUE": "...", "VALUE_TYPE": "WORK" }] не принимается — вернёт 400 INVALID_MULTIFIELD_SHAPE. Используйте camelCase: [{ "value": "...", "typeId": "WORK" }].
hasPhone boolean да Указан ли телефон
hasEmail boolean да Указан ли email
hasImol boolean да Есть ли контакт в открытой линии
companyId number ID компании. Поиск: GET /v1/companies
post string Должность
comments string Комментарий
typeId string Тип контакта. Список: GET /v1/statuses?filter[entityId]=CONTACT_TYPE
sourceId string Источник. Список: GET /v1/statuses?filter[entityId]=SOURCE
sourceDescription string Описание источника
assignedById number Ответственный. Список: GET /v1/users
createdBy number да Создатель. Поиск: GET /v1/users
updatedBy number да Кто изменил. Поиск: GET /v1/users
createdTime datetime да Дата создания
updatedTime datetime да Дата изменения
opened boolean Доступен для всех
export boolean Разрешён экспорт
leadId number ID лида-источника
honorific string Обращение. Список: GET /v1/statuses?filter[entityId]=HONORIFIC

Пользовательские поля (ufCrm_*) также возвращаются в ответах и принимаются при создании/обновлении.

Доступные include

Эндпоинт GET /v1/contacts/fields возвращает список доступных include: company, requisite.

Пример использования: Получить contacts.

Подробнее об include: Связанные данные.

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

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true },
      "name": { "type": "string", "readonly": false },
      "assignedById": { "type": "number", "readonly": false }
    },
    "batch": ["create", "update", "delete"]
  }
}

Показаны 3 из множества полей. Полный список в таблице выше.

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

404 — не найден:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Элемент не найден"
  }
}

Ошибки

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

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

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