Для AI-агентов: markdown этой страницы — /docs-content/entities/activities/fields.md индекс документации — /llms.txt
Поля дела
GET /v1/activities/fields
Возвращает полный список доступных полей дела.
Примеры
curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/activities/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/activities/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/activities/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Полей:', Object.keys(data.fields).length)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/activities/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Поля ответа
Подписи полей label и description приходят на русском языке. Заголовками запроса язык не переключается.
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | ОписаниеВсегда true при успехе |
Полеdata.fields |
Типobject | ОписаниеСхема полей дела: имя поля → type, readonly, label, description. У обязательных полей приходит required: true, у поля, которое задаётся только при создании, — createOnly: true, у поля, которое принимается при создании, но отклоняется при обновлении, — readonlyOnUpdate: true, у полей с фиксированным набором значений — перечень enum. Все поля карты перечислены в таблице ниже |
Полеdata.relations |
Типobject | ОписаниеСвязанные сущности с признаком includable — responsible, author и editor, все три ведут на пользователей |
Полеdata.aggregatable |
Типarray | ОписаниеПоля, допустимые в groupBy агрегации дел: typeId, ownerTypeId, responsibleId, authorId, editorId, completed, status, direction, providerId, providerTypeId |
Полеdata.aggregateFilterRequirement |
Типobject | ОписаниеСужающий фильтр, которого требует агрегация дел. anchors — допустимые сужения: пара ownerTypeId + ownerId, поле responsibleId или граница по дате на createdAt, updatedAt, deadline. Достаточно одного, это задаёт mode: "anyOfAnchors". enforcement — enforced, если аккаунт уже отклоняет агрегацию без сужения, или advisory, если сужение пока только рекомендовано |
Полеdata.batch |
Типarray | ОписаниеОперации дела, доступные в POST /v1/batch: create, update, delete |
Полеdata.include |
Типarray | ОписаниеИмена, которые принимает параметр include |
Полеmeta.warnings |
Типarray | ОписаниеПриходит, только если список полей с портала получить не удалось: элемент { code: "fields_partial", message }. В data.fields тогда лишь поля, объявленные платформой, часть подписей может отсутствовать. Повторите запрос, чтобы получить полный набор |
Поля карты `data.fields`
| Поле | Тип | RO | Описание |
|---|---|---|---|
Полеid |
Типnumber | ROда | ОписаниеID дела |
ПолеtypeId |
Типnumber | RO | ОписаниеТип: 1 — встреча, 2 — звонок, 3 — задача, 4 — письмо, 5 — действие, 6 — пользовательское действие (обязательно при создании). Доступно только при создании, изменить нельзя |
ПолеownerTypeId |
Типnumber | RO | ОписаниеТип родительской сущности: 1 — лид, 2 — сделка, 3 — контакт, 4 — компания |
ПолеownerId |
Типnumber | RO | ОписаниеID родительской сущности. Поиск зависит от ownerTypeId: GET /v1/deals, GET /v1/leads, GET /v1/contacts, GET /v1/companies |
ПолеassociatedEntityId |
Типnumber | ROда | ОписаниеID связанной сущности (звонок/письмо/встреча в b24-модуле). Заполняется автоматически после создания дела соответствующим провайдером |
Полеsubject |
Типstring | RO | ОписаниеТема дела (обязательно при создании) |
Полеcommunications |
Типobject[] | RO | ОписаниеКоммуникации дела (обязательно при создании). Массив объектов: [{ "value": "+7…", "entityTypeId": 3, "entityId": 17 }] — вложенные ключи в camelCase или ВЕРХНЕМ регистре Битрикс24. Подробнее — Создать дело |
Полеdescription |
Типstring | RO | ОписаниеОписание |
ПолеdescriptionType |
Типnumber | RO | ОписаниеФормат description: 1 — обычный текст, 2 — BB-код, 3 — HTML |
ПолеresponsibleId |
Типnumber | RO | ОписаниеОтветственный. Список: GET /v1/users |
ПолеauthorId |
Типnumber | ROда | ОписаниеАвтор записи. Заполняется b24 на основании текущего пользователя при создании |
ПолеeditorId |
Типnumber | ROда | ОписаниеПоследний редактор. Обновляется b24 при каждом изменении |
Полеpriority |
Типnumber | RO | ОписаниеПриоритет: 1 — низкий, 2 — средний, 3 — высокий |
Полеdirection |
Типnumber | RO | ОписаниеНаправление: 1 — входящее, 2 — исходящее |
Полеlocation |
Типstring | RO | ОписаниеМесто проведения (для встреч) |
Полеcompleted |
Типboolean | RO | ОписаниеЗавершена |
Полеstatus |
Типnumber | RO | ОписаниеСтатус дела: 1 — ожидается, 2 — завершено, 3 — завершено автоматически |
ПолеstartTime |
Типdatetime | RO | ОписаниеДата начала |
ПолеendTime |
Типdatetime | RO | ОписаниеДата окончания |
Полеdeadline |
Типdatetime | RO | ОписаниеКрайний срок. У дел без срока возвращается значение-заглушка 9999-12-30T21:00:00.000Z — не реальная дата. Фильтр по меньшей дате filter[<deadline]=<дата> такие дела не выбирает, просроченными они не считаются. При обновлении поле отклоняется с 400 READONLY_FIELD, срок меняет POST /v1/activities/:id/deadline. В ответе /fields помечено readonlyOnUpdate |
ПолеcreatedAt |
Типdatetime | ROда | ОписаниеДата создания |
ПолеupdatedAt |
Типdatetime | ROда | ОписаниеДата изменения |
ПолеnotifyType |
Типnumber | RO | ОписаниеТип напоминания: 0 — выкл., 1 — за минуты, 2 — за часы, 3 — за дни |
ПолеnotifyValue |
Типnumber | RO | ОписаниеЗначение напоминания (в единицах из notifyType) |
ПолеproviderId |
Типstring | RO | ОписаниеID провайдера дела, например CALL_LIST — дело обзвона, CRM_EMAIL — письмо, IMOPENLINES_SESSION — диалог открытой линии, TASKS — задача |
ПолеproviderTypeId |
Типstring | RO | ОписаниеПодтип провайдера (зависит от providerId) |
ПолеproviderGroupId |
Типstring | RO | ОписаниеИдентификатор группы провайдера (например, по треду e-mail) |
ПолеproviderParams |
Типobject | RO | ОписаниеПроизвольные параметры провайдера (структура зависит от providerId) |
ПолеproviderData |
Типstring | RO | ОписаниеСериализованные данные провайдера (XML/JSON в строке) |
Полеsettings |
Типobject | RO | ОписаниеДополнительные настройки дела, структура зависит от typeId и providerId. У письма — MESSAGE_FROM, DISABLE_SENDING_MESSAGE_COPY, IS_MESSAGE_SENT, MESSAGE_HEADERS. Отправка письма — Создать дело |
ПолеoriginId |
Типstring | RO | ОписаниеВнешний ID, если дело пришло из стороннего канала (CTI, email) |
ПолеoriginatorId |
Типstring | RO | ОписаниеID источника-инициатора (приложение/коннектор) |
ПолеresultStatus |
Типnumber | RO | ОписаниеСтатус результата дела (числовой код) |
ПолеresultStream |
Типnumber | RO | ОписаниеПоток обработки результата |
ПолеresultSourceId |
Типstring | RO | ОписаниеИсточник результата |
ПолеresultMark |
Типnumber | RO | ОписаниеОценка/маркер результата |
ПолеresultValue |
Типnumber | RO | ОписаниеЧисленное значение результата |
ПолеresultSum |
Типnumber | RO | ОписаниеСумма по результату (например, чек) |
ПолеresultCurrencyId |
Типstring | RO | ОписаниеВалюта результата (RUB, USD, …) |
ПолеautocompleteRule |
Типnumber | RO | ОписаниеПравило автозавершения дела (числовой код) |
ПолеisIncomingChannel |
Типboolean | ROда | ОписаниеДело пришло из входящего канала (open-line/звонок/письмо). Только чтение |
Полеbindings |
Типobject | RO | ОписаниеДополнительные привязки дела к сущностям CRM. Управление привязками после создания — через /v1/activities/:activityId/bindings |
Полеfiles |
Типarray | RO | ОписаниеВложения дела: числовые ID или объекты {id, url}; имя файла не гарантируется. В списке и поиске запрашивайте files в select; в ответе одного дела поле может прийти без select или отсутствовать |
ПолеwebdavElements |
Типobject | RO | ОписаниеПрикреплённые файлы диска (устаревший WebDAV). В списке и поиске возвращается только при явном указании в select |
ПолеoriginVersion |
Типstring | RO | ОписаниеВерсия синхронизации с внешней системой — защищает от случайной перезаписи данных внешней интеграцией |
Обязательные при создании (
POST /v1/activities):subject,typeId,communications. Поля помеченыrequired: trueв ответе/fields. Плюс привязка к CRM-сущности — черезownerTypeId+ownerIdили черезentityTypeId/entityIdвнутриcommunications. Детали — Создать дело.
Поле typeId задаётся только при создании: в ответе /fields оно помечено createOnly: true, и PATCH /v1/activities/:id с ним отвечает 400 READONLY_FIELD. Чтобы получить дело другого типа, создайте новое и удалите прежнее.
Значения typeId
| Значение | Тип дела |
|---|---|
Значение1 |
Тип делаВстреча |
Значение2 |
Тип делаЗвонок |
Значение3 |
Тип делаЗадача |
Значение4 |
Тип делаПисьмо |
Значение5 |
Тип делаДействие |
Значение6 |
Тип делаПользовательское действие |
Значения ownerTypeId
| Значение | Родительская сущность | Поиск |
|---|---|---|
Значение1 |
Родительская сущностьЛид | ПоискGET /v1/leads |
Значение2 |
Родительская сущностьСделка | ПоискGET /v1/deals |
Значение3 |
Родительская сущностьКонтакт | ПоискGET /v1/contacts |
Значение4 |
Родительская сущностьКомпания | ПоискGET /v1/companies |
Доступные include
Эндпоинт GET /v1/activities/fields возвращает список доступных include: responsible, author, editor.
Пример использования: Получить дело.
Подробнее об include: Связанные данные.
Пример ответа
{
"success": true,
"data": {
"fields": {
"id": { "type": "number", "readonly": true, "label": "ID", "description": "Уникальный числовой идентификатор дела." },
"typeId": { "type": "number", "readonly": false, "createOnly": true, "required": true, "label": "Тип", "description": "Тип дела — коды расшифрованы в enum (B24 crm.enum.activitytype). Обязателен при создании; задаётся только при создании и не может быть изменён впоследствии." },
"subject": { "type": "string", "readonly": false, "required": true, "label": "Тема", "description": "Тема дела. Обязательна при создании." },
"communications": {"type": "array", "readonly": false, "required": true, "label": "Коммуникации", "description": "Коммуникации дела. Обязательны при создании. Элемент может содержать type, value, entityTypeId, entityId, id и activityId. Запись принимает camelCase или ключи Битрикс24 в верхнем регистре; чтение сохраняет ключи ответа Битрикс24.", "itemSchema": {"type": "object"}},
"files": {"type": "array", "readonly": false, "label": "Файлы", "description": "Вложения дела. Элемент может быть числовым ID файла или объектом с id и url — форма зависит от метода Битрикс24. Имя файла не гарантируется. В списке и поиске поле возвращается только при запросе files в select; чтение одного дела может вернуть его без select. Поле может отсутствовать.", "itemSchema": {}},
"responsibleId": { "type": "number", "readonly": false, "label": "Ответственный", "description": "ID пользователя, ответственного за дело." }
},
"relations": {
"responsible": { "type": "one", "entity": "users", "includable": true },
"author": { "type": "one", "entity": "users", "includable": true },
"editor": { "type": "one", "entity": "users", "includable": true }
},
"aggregatable": ["typeId", "ownerTypeId", "responsibleId", "authorId", "editorId", "completed", "status", "direction", "providerId", "providerTypeId"],
"aggregateFilterRequirement": {
"mode": "anyOfAnchors",
"anchors": [
{ "type": "allOf", "fields": ["ownerTypeId", "ownerId"] },
{ "type": "field", "field": "responsibleId" },
{ "type": "dateBound", "fields": ["createdAt", "updatedAt", "deadline"] }
],
"surfaces": ["aggregate"],
"enforcement": "advisory"
},
"batch": ["create", "update", "delete"],
"include": ["responsible", "author", "editor"]
}
}
Показаны 5 из множества полей, у typeId опущен массив enum — расшифровка кодов в разделе Значения typeId. Полный список полей в таблице выше.
Пример ответа при ошибке
403 — у ключа нет скоупа crm:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'crm' scope",
"hint": "This request needs the 'crm' scope, which the calling key does not carry. Add 'crm' to this key in the developer cabinet (or through the management API), then repeat the call.",
"cause": "key_scope_missing",
"requiredScope": "crm",
"keyScopes": ["task"],
"fix": { "action": "edit_key_scopes", "via": "cabinet" },
"userMessage": "Ключу приложения не хватает права «CRM». Добавить его можно в настройках ключа в кабинете разработчика."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP403 | КодSCOPE_DENIED |
ОписаниеAPI-ключ не имеет скоупа crm |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеAPI-ключ не имеет настроенных токенов |
| HTTP429 | КодRATE_LIMITED |
ОписаниеПревышен лимит запросов: 300 в минуту на портал, все API-ключи портала делят один лимит. Действующее значение — в заголовке x-ratelimit-limit. Повторите после срока из заголовка Retry-After |
Полный список общих ошибок API — Ошибки.