Для AI-агентов: markdown этой страницы — /docs-content/openlines/config.md индекс документации — /llms.txt
Конфигурации открытых линий
Управление конфигурациями открытых линий Битрикс24: настройка входящих обращений из мессенджеров и социальных сетей, очереди операторов, рабочего времени, интеграции с CRM, приветственных сообщений и оценки качества обслуживания.
Битрикс24 API: imopenlines.config.*
Скоуп: imopenlines
Создать конфигурацию открытой линии
POST /v1/openline-configs
Создаёт новую конфигурацию открытой линии. Для создания достаточно передать хотя бы одно распознанное записываемое поле — остальные параметры устанавливаются по умолчанию. Полная запись с идентификаторами и всеми полями доступна через GET /v1/openline-configs/:id.
Поля запроса (body)
Минимум для создания: хотя бы одно распознанное записываемое поле (см. Поля конфигурации).
Имена полей. Все поля передавайте в camelCase — name, active, queueType, crmCreate, workTimeFrom и другие из Поля конфигурации. Это канонический регистр, в нём поля приходят и в ответе, и в GET /v1/openline-configs/fields. Имена в UPPER_SNAKE_CASE также принимаются для обратной совместимости. Пример ниже использует camelCase.
Булевы поля (active, crm, workTimeEnable, welcomeMessage, …) принимают true / false — значение приводится к ожидаемому Битрикс24 "Y"/"N" автоматически.
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
Полеname |
Типstring | Обяз.нет | ОписаниеНазвание открытой линии |
Полеactive |
Типboolean | Обяз.нет | ОписаниеАктивна ли линия (true / false) |
ПолеqueueType |
Типstring | Обяз.нет | ОписаниеРаспределение очереди: all — всем одновременно, evenly — равномерно, strictly — строго по порядку |
ПолеqueueTime |
Типnumber | Обяз.нет | ОписаниеВремя ожидания в очереди (секунды) до перевода |
ПолеnoAnswerTime |
Типnumber | Обяз.нет | ОписаниеВремя без ответа (секунды), после которого срабатывает правило noAnswerRule |
Полеcrm |
Типboolean | Обяз.нет | ОписаниеВключить интеграцию с CRM |
ПолеcrmCreate |
Типstring | Обяз.нет | ОписаниеТип создаваемой CRM-записи при первом обращении. Допустимые значения: none, lead, deal |
ПолеworkTimeEnable |
Типboolean | Обяз.нет | ОписаниеВключить расписание рабочего времени |
ПолеworkTimeFrom |
Типstring | Обяз.нет | ОписаниеНачало рабочего дня (например "9" или "9.30") |
ПолеworkTimeTo |
Типstring | Обяз.нет | ОписаниеКонец рабочего дня (например "18" или "18.30") |
ПолеworkTimeTimezone |
Типstring | Обяз.нет | ОписаниеЧасовой пояс расписания (например "Europe/Moscow") |
ПолеwelcomeMessage |
Типboolean | Обяз.нет | ОписаниеВключить приветственное сообщение |
ПолеwelcomeMessageText |
Типstring | Обяз.нет | ОписаниеТекст приветственного сообщения |
ПолеlanguageId |
Типstring | Обяз.нет | ОписаниеЯзык линии (например "ru", "en") |
Полный список полей — GET /v1/openline-configs/fields.
Примеры
curl — личный ключ
curl -X POST https://vibecode.bitrix24.tech/v1/openline-configs \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Поддержка клиентов",
"active": true,
"queueType": "evenly",
"workTimeEnable": true,
"workTimeFrom": "9",
"workTimeTo": "18"
}'
curl — OAuth-приложение
curl -X POST https://vibecode.bitrix24.tech/v1/openline-configs \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Поддержка клиентов",
"active": true,
"queueType": "evenly",
"workTimeEnable": true,
"workTimeFrom": "9",
"workTimeTo": "18"
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/openline-configs', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Поддержка клиентов',
active: true,
queueType: 'evenly',
workTimeEnable: true,
workTimeFrom: '9',
workTimeTo: '18',
}),
})
const { success, data } = await res.json()
console.log('Новая конфигурация ID:', data)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/openline-configs', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Поддержка клиентов',
active: true,
queueType: 'evenly',
workTimeEnable: true,
workTimeFrom: '9',
workTimeTo: '18',
}),
})
const { success, data } = await res.json()
console.log('Новая конфигурация ID:', data)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | ОписаниеВсегда true при успехе |
Полеdata |
Типnumber | ОписаниеИдентификатор созданной конфигурации |
Полеmeta.warnings |
Типstring[] | ОписаниеНеобязательное. Присутствует, если часть переданных полей не распознана — перечисляет ключи, которые Битрикс24 проигнорировал |
Пример ответа
{
"success": true,
"data": 29
}
Пример ответа при ошибке
400 — в теле нет ни одного распознанного поля:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "No recognised openline-configs field in the body. Unrecognised: bogusField. Provide at least one known field (e.g. lineName, queueType, active) — see GET /v1/openline-configs/fields."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP400 | КодVALIDATION_ERROR |
ОписаниеТело запроса пустое — не передано ни одного поля |
| HTTP400 | КодVALIDATION_ERROR |
ОписаниеВ теле нет ни одного распознанного поля (все ключи неизвестны) — в сообщении перечислены нераспознанные поля |
| HTTP400 | КодVALIDATION_ERROR |
ОписаниеДля crmCreate передано значение вне none, lead, deal |
| HTTP400 | КодREADONLY_FIELD |
ОписаниеВ теле передано поле только для чтения (id, queue, dateCreate и другие) |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеЗаголовок X-Api-Key не передан |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеAPI-ключ не имеет скоупа imopenlines |
Полный список общих ошибок API — Ошибки.
Известные особенности
data в ответе — это число (идентификатор новой конфигурации), а не объект записи. Чтобы получить созданную конфигурацию со всеми полями, выполните отдельный запрос: GET /v1/openline-configs/:id.
Проверка тела запроса. Незнакомые ключи в теле запроса не сохраняются. Вайбкод сверяет тело с полной схемой полей (Поля конфигурации) и реагирует так:
- ни одно поле не распознано (например
{ "bogusField": "x" }) — запрос отклоняется с400 VALIDATION_ERRORдо вызова Битрикс24, в сообщении перечислены нераспознанные поля. - распознано хотя бы одно поле, но часть ключей неизвестна — конфигурация создаётся, а в ответе возвращается
meta.warningsсо списком проигнорированных ключей. - для
crmCreateпередано значение внеnone,lead,deal— всё тело запроса отклоняется с400 VALIDATION_ERRORдо вызова Битрикс24, конфигурация не создаётся. - в теле передано поле только для чтения (
id,queue,dateCreateи другие) — запрос отклоняется с400 READONLY_FIELD.