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

Создать конфигурацию открытой линии

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

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 Код Описание
400 VALIDATION_ERROR Тело запроса пустое — не передано ни одного поля
400 VALIDATION_ERROR В теле нет ни одного распознанного поля (все ключи неизвестны) — в сообщении перечислены нераспознанные поля
400 READONLY_FIELD В теле передано поле только для чтения (id, queue, dateCreate и другие)
401 TOKEN_MISSING Заголовок X-Api-Key не передан
403 SCOPE_DENIED API-ключ не имеет скоупа imopenlines

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

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

data в ответе — это число (идентификатор новой конфигурации), а не объект записи. Чтобы получить созданную конфигурацию со всеми полями, выполните отдельный запрос: GET /v1/openline-configs/:id.

Нераспознанные поля. Битрикс24 молча игнорирует незнакомые ключи метода imopenlines.config.add. Обёртка сверяет тело с полной схемой полей (Поля конфигурации) и реагирует так:

  • ни одно поле не распознано (например { "bogusField": "x" }) — запрос отклоняется с 400 VALIDATION_ERROR до вызова Битрикс24, в сообщении перечислены нераспознанные поля.
  • распознано хотя бы одно поле, но часть ключей неизвестна — конфигурация создаётся, а в ответе возвращается meta.warnings со списком проигнорированных ключей.
  • в теле передано поле только для чтения (id, queue, dateCreate и другие) — запрос отклоняется с 400 READONLY_FIELD.

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