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

POST /v1/openline-configs

Создаёт новую конфигурацию открытой линии. Для создания достаточно передать одно поле — остальные параметры устанавливаются по умолчанию. Полная запись с идентификаторами и всеми полями доступна через GET /v1/openline-configs/:id.

#Поля запроса (body)

Поля передаются в UPPER_SNAKE_CASE — это формат данного эндпоинта. Минимум для создания: хотя бы одно поле (например LINE_NAME).

Поле Тип Обяз. Описание
LINE_NAME string нет Название открытой линии
ACTIVE boolean нет Активна ли линия (true / false)
QUEUE_TYPE string нет Распределение очереди: all — всем одновременно, evenly — равномерно, strictly — строго по порядку
QUEUE_TIME number нет Время ожидания в очереди (секунды) до перевода
NO_ANSWER_TIME number нет Время без ответа (секунды), после которого срабатывает правило NO_ANSWER_RULE
CRM boolean нет Включить интеграцию с CRM
CRM_CREATE string нет Режим создания CRM-сущностей при новом обращении
WORKTIME_ENABLE boolean нет Включить расписание рабочего времени
WORKTIME_FROM string нет Начало рабочего дня (например "9" или "9.30")
WORKTIME_TO string нет Конец рабочего дня (например "18" или "18.30")
WORKTIME_TIMEZONE string нет Часовой пояс расписания (например "Europe/Moscow")
WELCOME_MESSAGE boolean нет Включить приветственное сообщение
WELCOME_MESSAGE_TEXT string нет Текст приветственного сообщения
LANGUAGE_ID 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 '{
    "LINE_NAME": "Поддержка клиентов",
    "ACTIVE": true,
    "QUEUE_TYPE": "evenly",
    "WORKTIME_ENABLE": true,
    "WORKTIME_FROM": "9",
    "WORKTIME_TO": "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 '{
    "LINE_NAME": "Поддержка клиентов",
    "ACTIVE": true,
    "QUEUE_TYPE": "evenly",
    "WORKTIME_ENABLE": true,
    "WORKTIME_FROM": "9",
    "WORKTIME_TO": "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({
    LINE_NAME: 'Поддержка клиентов',
    ACTIVE: true,
    QUEUE_TYPE: 'evenly',
    WORKTIME_ENABLE: true,
    WORKTIME_FROM: '9',
    WORKTIME_TO: '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({
    LINE_NAME: 'Поддержка клиентов',
    ACTIVE: true,
    QUEUE_TYPE: 'evenly',
    WORKTIME_ENABLE: true,
    WORKTIME_FROM: '9',
    WORKTIME_TO: '18',
  }),
})

const { success, data } = await res.json()
console.log('Новая конфигурация ID:', data)

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data number Идентификатор созданной конфигурации

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

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

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

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

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

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