Для 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 — личный ключ

Terminal
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-приложение

Terminal
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 — личный ключ

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-приложение

javascript
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 проигнорировал

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

JSON
{
  "success": true,
  "data": 29
}

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

400 — в теле нет ни одного распознанного поля:

JSON
{
  "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.

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