Конфигурации открытых линий
Управление конфигурациями открытых линий Битрикс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. B24-native UPPER_SNAKE_CASE-имена также принимаются для обратной совместимости и приводятся к нужному имени Битрикс24 автоматически. Пример ниже использует 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-сущностей при новом обращении |
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 | Идентификатор созданной конфигурации |
Пример ответа
{
"success": true,
"data": 29
}
Пример ответа при ошибке
400 — тело запроса не содержит ни одного поля:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Request body must contain at least one field for imopenlines.config.add (e.g. lineName, queueType, agentId)."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | VALIDATION_ERROR |
Тело запроса пустое — не передано ни одного поля |
| 401 | TOKEN_MISSING |
Заголовок X-Api-Key не передан |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа imopenlines |
Полный список общих ошибок API — Ошибки.
Известные особенности
data в ответе — это число (идентификатор новой конфигурации), а не объект записи. Чтобы получить созданную конфигурацию со всеми полями, выполните отдельный запрос: GET /v1/openline-configs/:id.
Неизвестное имя поля не отклоняется. У метода imopenlines.config.add нет схемы полей, и Битрикс24 молча игнорирует незнакомые ключи. Поэтому тело только из несуществующего поля (например { "bogusField": "x" }) пройдёт валидацию «непустого тела» и создаст конфигурацию со значениями по умолчанию. Проверяйте имена полей по Поля конфигурации.