Для AI-агентов: markdown этой страницы — /docs-content/entities/crm-forms/builder.md индекс документации — /llms.txt
Справочники конструктора
Узнайте, какие свойства формы публикует API, какие поля сущностей CRM можно добавить в форму и какие настройки и сценарии доступны на портале. Методы группы только читают данные.
Битрикс24 API: crm.form.field.*, crm.form.configuration.get, crm.form.entityfield.list, crm.form.scenario.list, crm.form.scenariocategory.list
Скоуп: crm
Поля контракта формы
GET /v1/crm-forms/fields
Возвращает схему свойств верхнего уровня CRM-формы. По ней проверяют, какие блоки конфигурации входят в контракт формы, перед созданием или изменением формы.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
Параметрselect (query) |
Типstring | ОписаниеСвойства метаданных через запятую, например name,type,multiple. Без параметра возвращаются все свойства метаданных |
Примеры
curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/crm-forms/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/crm-forms/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-forms/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Свойств формы:', data.length)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-forms/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | ОписаниеВсегда true при успехе |
Полеdata |
Типarray | ОписаниеОписания свойств формы. Состав свойств — в таблице ниже |
Полеdata[].name |
Типstring | ОписаниеИмя свойства формы |
Полеdata[].type |
Типstring | ОписаниеТип значения: int, string, bool, date-time или object |
Полеdata[].elementType |
Типstring | null | ОписаниеТип элемента у множественного свойства, например object. null у одиночных свойств |
Полеdata[].multiple |
Типboolean | Описаниеtrue — значение свойства массив |
Полеdata[].title |
Типstring | ОписаниеПодпись свойства. Совпадает с name |
Полеdata[].description |
Типstring | null | ОписаниеОписание свойства |
Полеdata[].validationRules |
Типarray | ОписаниеПравила проверки значения |
Полеdata[].requiredGroups |
Типarray | null | ОписаниеГруппы обязательности |
Полеdata[].filterable |
Типboolean | ОписаниеОтмечено ли свойство как фильтруемое |
Полеdata[].sortable |
Типboolean | ОписаниеОтмечено ли свойство как сортируемое |
Полеdata[].editable |
Типboolean | ОписаниеПризнак изменяемости из схемы. Приходит false у всех свойств, записываемые свойства проверяет Битрикс24 при сохранении формы |
Свойства формы в data:
| Поле | Тип | RO | Описание |
|---|---|---|---|
Полеid |
Типint | ROда | ОписаниеИдентификатор формы. Список: GET /v1/crm-forms |
Полеcode |
Типstring | ROда | ОписаниеСимвольный код формы |
Полеname |
Типstring | RO | ОписаниеНазвание формы |
Полеactive |
Типbool | RO | ОписаниеВключена ли форма. Передаётся только при создании. У существующей формы меняется через включение и выключение |
Полеsystem |
Типbool | ROда | ОписаниеСистемная форма |
ПолеlanguageId |
Типstring | RO | ОписаниеЯзык формы. Список: data.languages[].id в конфигурации конструктора |
ПолеtemplateId |
Типstring | RO | ОписаниеШаблон формы |
ПолеcreatedTime |
Типdate-time | ROда | ОписаниеВремя создания |
ПолеupdatedTime |
Типdate-time | ROда | ОписаниеВремя последнего изменения. Передаётся в изменении формы как версия для защиты от перезаписи чужих изменений |
ПолеactiveChangedById |
Типint | ROда | ОписаниеКто последним менял активность. Список: GET /v1/users |
ПолеactiveChangedTime |
Типdate-time | ROда | ОписаниеКогда последний раз менялась активность |
Полеappearance |
Типobject | RO | ОписаниеОформление: заголовок, описание, подпись и цвета кнопки |
Полеcrm |
Типobject | RO | ОписаниеПривязка к CRM: схема сущностей, режим дублей, воронка. Значения — в конфигурации конструктора |
Полеdependencies |
Типobject | RO | ОписаниеМассив правил зависимости полей, multiple: true |
ПолеpresetFields |
Типobject | RO | ОписаниеМассив предустановленных значений полей, multiple: true |
Полеresponsible |
Типobject | RO | ОписаниеОтветственные за результаты формы и учёт рабочего времени. ID ответственных — из GET /v1/users |
Полеagreements |
Типobject | RO | ОписаниеСоглашения, которые посетитель принимает при отправке |
Полеsubmission |
Типobject | RO | ОписаниеДействия после отправки: тексты и адреса перехода при успехе и ошибке |
Полеpayment |
Типobject | RO | ОписаниеНастройки оплаты |
Полеcallback |
Типobject | RO | ОписаниеНастройки обратного звонка |
Полеbooking |
Типobject | RO | ОписаниеНастройки бронирования |
Полеanalytics |
Типobject | RO | ОписаниеНастройки аналитики |
ПолеspamProtection |
Типobject | RO | ОписаниеНастройки защиты от спама |
Полеintegrations |
Типobject | RO | ОписаниеНастройки интеграций |
Полеfields |
Типobject | RO | ОписаниеМассив полей формы, multiple: true. Имена полей — из GET /v1/crm-forms/entity-fields |
Пример ответа
{
"success": true,
"data": [
{"name": "id", "type": "int", "elementType": null, "multiple": false, "title": "id", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
{"name": "code", "type": "string", "elementType": null, "multiple": false, "title": "code", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": false, "editable": false},
{"name": "name", "type": "string", "elementType": null, "multiple": false, "title": "name", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
{"name": "active", "type": "bool", "elementType": null, "multiple": false, "title": "active", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
{"name": "system", "type": "bool", "elementType": null, "multiple": false, "title": "system", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "languageId", "type": "string", "elementType": null, "multiple": false, "title": "languageId", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "templateId", "type": "string", "elementType": null, "multiple": false, "title": "templateId", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "createdTime", "type": "date-time", "elementType": null, "multiple": false, "title": "createdTime", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
{"name": "updatedTime", "type": "date-time", "elementType": null, "multiple": false, "title": "updatedTime", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
{"name": "activeChangedById", "type": "int", "elementType": null, "multiple": false, "title": "activeChangedById", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "activeChangedTime", "type": "date-time", "elementType": null, "multiple": false, "title": "activeChangedTime", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "appearance", "type": "object", "elementType": null, "multiple": false, "title": "appearance", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "crm", "type": "object", "elementType": null, "multiple": false, "title": "crm", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "dependencies", "type": "object", "elementType": "object", "multiple": true, "title": "dependencies", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "presetFields", "type": "object", "elementType": "object", "multiple": true, "title": "presetFields", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "responsible", "type": "object", "elementType": null, "multiple": false, "title": "responsible", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "agreements", "type": "object", "elementType": null, "multiple": false, "title": "agreements", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "submission", "type": "object", "elementType": null, "multiple": false, "title": "submission", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "payment", "type": "object", "elementType": null, "multiple": false, "title": "payment", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "callback", "type": "object", "elementType": null, "multiple": false, "title": "callback", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "booking", "type": "object", "elementType": null, "multiple": false, "title": "booking", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "analytics", "type": "object", "elementType": null, "multiple": false, "title": "analytics", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "spamProtection", "type": "object", "elementType": null, "multiple": false, "title": "spamProtection", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "integrations", "type": "object", "elementType": null, "multiple": false, "title": "integrations", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
{"name": "fields", "type": "object", "elementType": "object", "multiple": true, "title": "fields", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false}
]
}
Пример ответа при ошибке
400 — передан неизвестный параметр запроса:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Unknown query parameter"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP400 | КодINVALID_PARAMS |
ОписаниеПередан неизвестный параметр запроса |
| HTTP400 | КодINVALID_PARAMS |
Описаниеselect не является строкой или массивом строк |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеБитрикс24 отклонил проекцию. Исходный код — в error.b24Code |
| HTTP403 | КодBITRIX_ACCESS_DENIED |
ОписаниеУ пользователя Битрикс24 нет прав на формы |
| HTTP403 | КодBITRIX_INSUFFICIENT_SCOPE |
ОписаниеУ токена Битрикс24 нет необходимого скоупа |
| HTTP404 | КодENTITY_NOT_FOUND |
ОписаниеПортал не нашёл запрошенную сущность или описание поля. Исходный код — error.b24Code |
| HTTP409 | КодCRM_FORM_REST_NOT_ENABLED |
ОписаниеREST-методы CRM-форм недоступны на этом портале Битрикс24. Это не означает отсутствие отдельной формы |
| HTTP400–599 | КодCRM_FORM_* |
ОписаниеОтказ по правилам форм. Код и HTTP-статус сохранены, исходный код — в error.b24Code |
| HTTP422 | КодBITRIX_ERROR |
ОписаниеДругой отказ Битрикс24. Причина — в error.message, исходный код — в error.b24Code |
| HTTP429 | КодRATE_LIMITED |
ОписаниеПревышена частота запросов. Учитывайте заголовок Retry-After |
| HTTP502 | КодBITRIX_UNAVAILABLE |
ОписаниеБитрикс24 вернул ответ в неожиданном виде |
| HTTP502 | КодBITRIX_UNAVAILABLE |
ОписаниеБитрикс24 недоступен: ошибка сервера или разрыв соединения |
| HTTP503 | КодBITRIX_TIMEOUT |
ОписаниеБитрикс24 не ответил вовремя. Чтение можно повторить |
| HTTP401 | КодMISSING_API_KEY |
ОписаниеНе передан заголовок X-Api-Key |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеУ ключа не настроен доступ к Битрикс24 |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеУ API-ключа Вайбкод нет скоупа crm |
Полный список общих ошибок API — Ошибки.
Известные особенности
Этот справочник описывает свойства самой формы. CRM-поля и варианты их значений перечисляет отдельный Список полей сущностей. Это разные справочники.