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

Поля конфигурации открытой линии

GET /v1/openline-configs/fields

Возвращает схему полей, доступных для фильтрации и сортировки, а также полный реестр полей в ответах list, get и search.

Примеры

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

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

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

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

const { success, data } = await res.json()
console.log('Поля схемы:', Object.keys(data.fields))

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

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

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

Поля ответа

Эндпоинт /fields возвращает data.fields — описание всех полей ответов list, get и search: каждое поле снабжено type, readonly, названием label и описанием description. Имена полей — в camelCase. Полный набор в get — 95 полей, в list/search — 91 (без 4 полей очереди операторов). Дополнительно data содержит aggregatable и batch.

Схема полей (data.fields)

/fields возвращает полный набор полей — каждое с type, readonly, label и description. Фильтрация (filter), сортировка (sort) и группировка (groupBy) работают по этим camelCase-именам. Ниже — основные поля, чаще всего используемые в sort и filter:

Поле Тип RO Описание
id number да Идентификатор конфигурации
name string Название открытой линии
active boolean Активна ли линия
queueType string Алгоритм распределения: all — всем операторам одновременно, evenly — равномерно, strictly — строго по очереди
workTimeFrom string Начало рабочего времени (например "8" или "9.30")
workTimeTo string Конец рабочего времени

Дополнительно в data указаны:

  • aggregatable — поля, доступные для groupBy: ["active", "queueType"]
  • batch — перечень пакетных операций, объявленных для этой сущности в ответе /fields: пустой массив []

В get объект data содержит 95 полей (все в camelCase), в list/search — 91 (без 4 полей с отметкой «только get»: queue, queueFull, queueUsersFields, queueOnline).

Основные

Поле Тип RO Источник Описание
id number да везде Идентификатор конфигурации
name string везде Название открытой линии
active boolean везде Линия активна (true/false)
temporary string везде Временная линия: "Y" / "N"
xmlId string|null везде Внешний идентификатор
languageId string|null везде Язык линии (например "ru"). null, если язык не задан

Очередь и операторы

Поле Тип RO Источник Описание
queueType string везде Алгоритм распределения: all — всем операторам одновременно, evenly — равномерно, strictly — строго по очереди
queueTime string везде Время ожидания в очереди (секунды)
noAnswerTime string везде Время без ответа оператора до переключения (секунды)
checkAvailable string везде Проверять доступность оператора: "Y" / "N"
maxChat string|null везде Максимальное число одновременных чатов на оператора ("0" — без ограничения). null, если не задан
typeMaxChat string|null везде Тип подсчёта лимита чатов: answered — только принятые, total — все. null, если не задан
queue string[] да только get Массив ID операторов в очереди (строки)
queueFull object да только get Объекты операторов с полями ID, SORT, USER_ID, DEPARTMENT_ID, USER_NAME, USER_WORK_POSITION, USER_AVATAR, USER_AVATAR_ID
queueUsersFields object да только get Данные профилей операторов: USER_NAME, USER_WORK_POSITION, USER_AVATAR, USER_AVATAR_ID
queueOnline string да только get Есть ли операторы онлайн в данный момент: "Y" / "N"

Интеграция с CRM

Поле Тип RO Источник Описание
crm string везде Включить интеграцию с CRM: "Y" / "N"
crmCreate string везде Тип создаваемой CRM-записи при первом обращении: deal, lead, contact, company
crmCreateSecond string везде Тип записи при повторных обращениях (числовой идентификатор типа)
crmCreateThird string везде Тип записи при третьем и последующих обращениях: "Y" / "N"
crmForward string везде Переадресовывать обращение ответственному из CRM: "Y" / "N"
crmChatTracker string везде Включить трекер чата в CRM: "Y" / "N"
crmTransferChange string везде Менять ответственного при переводе чата: "Y" / "N"
crmSource string везде Источник CRM-записи: create — создавать, другое значение — брать из истории

Приветственное сообщение

Поле Тип RO Источник Описание
welcomeMessage string везде Показывать приветствие: "Y" / "N"
welcomeMessageText string везде Текст приветствия (поддерживает BB-код)
watchTyping string везде Показывать индикатор набора текста: "Y" / "N"
sendWelcomeEachSession string везде Отправлять приветствие при каждой новой сессии: "Y" / "N"

Приветственный бот

Поле Тип RO Источник Описание
welcomeBotEnable string везде Включить приветственного бота: "Y" / "N"
welcomeBotId string везде ID бота. Список: GET /v1/bots
welcomeBotTime string везде Время ожидания ответа бота (секунды)
welcomeBotJoin string везде Когда бот присоединяется: always — всегда, другие значения по настройке
welcomeBotLeft string везде Когда бот покидает чат: queue — после постановки в очередь, другие значения по настройке

Рабочее время

Поле Тип RO Источник Описание
workTimeEnable string везде Включить расписание рабочего времени: "Y" / "N"
workTimeFrom string везде Начало рабочего дня (например "8", "9.30")
workTimeTo string везде Конец рабочего дня
workTimeTimezone string везде Часовой пояс (например "Europe/Kaliningrad")
workTimeHolidays string[] везде Праздничные нерабочие дни в формате "ДД.ММ" (например ["1.01","7.01"])
workTimeDayoff string[] везде Выходные дни недели: "MO", "TU", "WE", "TH", "FR", "SA", "SU"

Сценарии нерабочего времени, нет ответа, закрытие

Три группы по четыре поля — сценарий, форма, бот, текст:

Поле Тип RO Источник Описание
workTimeDayoffRule string везде Действие в выходной день: text — сообщение, form — форма, bot — бот, none — ничего
workTimeDayoffFormId string везде ID формы для нерабочего времени
workTimeDayoffBotId string везде ID бота для нерабочего времени. Список: GET /v1/bots
workTimeDayoffText string везде Текст сообщения в нерабочее время (поддерживает BB-код)
noAnswerRule string везде Действие при нет ответа: text, form, bot, none
noAnswerFormId string везде ID формы при нет ответа
noAnswerBotId string везде ID бота при нет ответа. Список: GET /v1/bots
noAnswerText string везде Текст сообщения при нет ответа
closeRule string везде Действие при закрытии чата: text, form, bot, none
closeFormId string везде ID формы при закрытии
closeBotId string везде ID бота при закрытии. Список: GET /v1/bots
closeText string везде Текст сообщения при закрытии
fullCloseTime string везде Время до полного закрытия чата (секунды)
confirmClose string везде Запрашивать подтверждение при закрытии чата: "Y" / "N"
showNotificationRedirect string|null везде Показывать уведомление при перенаправлении: "Y" / "N" / null

Автозакрытие по неактивности

Поле Тип RO Источник Описание
autoCloseRule string везде Действие при истечении времени неактивности: text, form, bot, none
autoCloseFormId string везде ID формы при автозакрытии
autoCloseBotId string везде ID бота при автозакрытии. Список: GET /v1/bots
autoCloseTime string везде Время до автозакрытия чата (секунды)
autoCloseText string|null везде Текст при автозакрытии. Незаданное значение приходит как null
autoExpireTime string везде Время истечения сессии по неактивности (секунды)

Оценка качества

Поле Тип RO Источник Описание
voteMessage string везде Включить запрос оценки: "Y" / "N"
voteTimeLimit string везде Ограничение времени на оценку (секунды, "0" — без ограничения)
voteBeforeFinish string везде Запрашивать оценку до завершения чата: "Y" / "N"
voteClosingDelay string везде Задержка закрытия после оценки: "Y" / "N"
voteMessage1Text string везде Текст запроса оценки (простые сообщения с кнопками)
voteMessage1Like string везде Ответ при положительной оценке
voteMessage1Dislike string везде Ответ при отрицательной оценке
voteMessage2Text string везде Текст запроса оценки (текстовый режим, 1/0)
voteMessage2Like string везде Ответ при 1 (положительная)
voteMessage2Dislike string везде Ответ при 0 (отрицательная)

Соглашения и категории

Поле Тип RO Источник Описание
agreementMessage string везде Запрашивать согласие с условиями: "Y" / "N"
agreementId string везде ID документа с условиями
categoryEnable string везде Включить категоризацию обращений: "Y" / "N"
categoryId string везде ID категории по умолчанию

Форма ожидания

Поле Тип RO Источник Описание
useWelcomeForm string везде Показывать форму перед постановкой в очередь: "Y" / "N"
welcomeFormId string везде ID формы ожидания
welcomeFormDelay string везде Задержка показа формы: "Y" / "N"
ignoreWelcomeFormResponsible string везде Пропускать форму для ответственного из CRM: "Y" / "N"

Оператор и сессия

Поле Тип RO Источник Описание
operatorData string везде Данные оператора в чате: profile — полный профиль
defaultOperatorData array везде Данные по умолчанию при отсутствии операторов. Пустой набор приходит как []
sessionPriority string везде Приоритет сессии ("0" — стандартный)
quickAnswersIblockId string везде ID инфоблока с быстрыми ответами

KPI

Поле Тип RO Источник Описание
kpiFirstAnswerTime string везде Норматив времени первого ответа (секунды)
kpiFirstAnswerAlert string везде Отправлять предупреждение при нарушении KPI первого ответа: "Y" / "N"
kpiFirstAnswerList string[] везде Список ID получателей предупреждения по KPI первого ответа. Пустой набор приходит как []
kpiFirstAnswerText string|null везде Шаблон текста предупреждения (поддерживает #OPERATOR#, #DIALOG#). null, если не задан
kpiFurtherAnswerTime string везде Норматив времени последующих ответов (секунды)
kpiFurtherAnswerAlert string везде Отправлять предупреждение при нарушении KPI последующих ответов: "Y" / "N"
kpiFurtherAnswerList string[] везде Список ID получателей предупреждения. Пустой набор приходит как []
kpiFurtherAnswerText string|null везде Шаблон текста предупреждения. null, если не задан
kpiCheckOperatorActivity string везде Контролировать активность оператора: "Y" / "N"
sendNotificationEmptyQueue string везде Уведомлять при пустой очереди: "Y" / "N"

Служебные

Поле Тип RO Источник Описание
dateCreate object да везде Дата создания — приходит как пустой объект {}
dateModify object да везде Дата последнего изменения — приходит как пустой объект {}
modifyUserId string да везде ID пользователя, внёсшего последнее изменение. Поиск: GET /v1/users

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

Показаны несколько представительных полей. Полный набор больше — 95 полей в get, 91 в list/search.

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true, "label": "Идентификатор", "description": "Идентификатор конфигурации." },
      "name": { "type": "string", "readonly": false, "label": "Название линии", "description": "Название открытой линии." },
      "active": { "type": "boolean", "readonly": false, "label": "Линия активна", "description": "Линия активна (true/false)." },
      "queueType": { "type": "string", "readonly": false, "label": "Алгоритм распределения", "description": "Алгоритм распределения: all — всем одновременно, evenly — равномерно, strictly — строго по очереди." },
      "crmCreate": { "type": "string", "readonly": false, "label": "Создаваемая CRM-запись", "description": "Тип создаваемой CRM-записи при первом обращении: deal, lead, contact, company." },
      "welcomeMessage": { "type": "string", "readonly": false, "label": "Показывать приветствие", "description": "Показывать приветствие: Y/N." },
      "workTimeFrom": { "type": "string", "readonly": false, "label": "Начало рабочего дня", "description": "Начало рабочего дня (например 8, 9.30)." }
    },
    "aggregatable": ["active", "queueType"],
    "batch": []
  }
}

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

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

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "Access denied. Required scope: imopenlines"
  }
}

Ошибки

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

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

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

Единый набор имён — camelCase. Все поля ответов list/get/search приходят в camelCase. Эндпоинт /fields (data.fields) описывает каждое поле с type, readonly, label и description. По этим именам работают filter, sort, groupBy. Всего 91 поле в list/search, 95 в get (добавляются 4 поля очереди операторов). При записи (create/update) camelCase — канонический регистр. Имена в UPPER_SNAKE_CASE также принимаются для обратной совместимости. Булевы поля при записи принимают true/false (приводятся к "Y"/"N").

Числовые поля приходят строками. queueTime, noAnswerTime, autoCloseTime, maxChat, kpiFirstAnswerTime и другие — строки ("60", "180"). Исключение — id (number) и active (boolean): эти два поля трансформирует схема API Вайбкод.

dateCreate и dateModify всегда пустые объекты {}. Битрикс24 не передаёт значения дат через эти поля.

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