Добавить открытую линию imopenlines.config.add
Если вы разрабатываете интеграции для Битрикс24 с помощью AI-инструментов (Codex, Claude Code, Cursor), подключите MCP-сервер, чтобы ассистент использовал официальную REST-документацию.
Scope:
imopenlinesКто может выполнять метод: любой пользователь
Метод imopenlines.config.add добавляет новую открытую линию.
Чтобы пользователи могли писать в открытую линию, установите настройки коннектора методом imconnector.connector.data.set.
Параметры метода
|
Название |
Описание |
|
PARAMS |
Объект с настройками открытой линии (подробное описание) |
Параметр PARAMS
|
Название |
Описание |
|
LINE_NAME |
Название открытой линии |
|
ACTIVE |
Активность линии. Возможные значения:
|
|
QUEUE |
Очередь операторов. Передается массив объектов с полями Возможные значения:
Пример:
|
|
QUEUE_TYPE |
Режим распределения обращений. Возможные значения:
|
|
QUEUE_TIME |
Время в секундах до перехода обращения к следующему оператору |
|
NO_ANSWER_TIME |
Время в секундах до срабатывания сценария без ответа |
|
WELCOME_MESSAGE |
Отправлять приветственное сообщение. Возможные значения:
|
|
WELCOME_MESSAGE_TEXT |
Текст приветственного сообщения |
|
WORKTIME_ENABLE |
Учитывать рабочее время линии. Возможные значения:
|
|
WORKTIME_FROM |
Начало рабочего времени в формате |
|
WORKTIME_TO |
Окончание рабочего времени в формате |
|
WORKTIME_TIMEZONE |
Часовой пояс, например |
|
CRM |
Искать клиента в CRM. Возможные значения:
|
|
CRM_CREATE |
Что создавать в CRM для нового клиента |
|
VOTE_MESSAGE |
Запрашивать оценку качества обслуживания. Возможные значения:
|
|
LANGUAGE_ID |
Язык линии, например |
|
CRM_CREATE_SECOND |
Дополнительный режим создания элемента CRM |
|
CRM_CREATE_THIRD |
Создавать третий элемент CRM. Возможные значения:
|
|
CRM_CHAT_TRACKER |
Включить чат-трекер для CRM. Возможные значения:
|
|
CRM_FORWARD |
Переводить обращение на ответственного по CRM. Возможные значения:
|
|
CRM_TRANSFER_CHANGE |
Менять ответственного в CRM при переводе диалога. Возможные значения:
|
|
CRM_SOURCE |
Источник для создаваемого элемента CRM |
|
MAX_CHAT |
Максимальное число одновременных диалогов у оператора |
|
TYPE_MAX_CHAT |
Тип ограничения
|
|
CATEGORY_ENABLE |
Включить категории. Возможные значения:
|
|
CATEGORY_ID |
Идентификатор категории |
|
SESSION_PRIORITY |
Приоритет сессии в очереди |
|
WELCOME_BOT_ENABLE |
Включить чат-бота приветствия. Возможные значения:
|
|
WELCOME_BOT_JOIN |
Когда подключать бота. Возможные значения:
|
|
WELCOME_BOT_ID |
Идентификатор чат-бота |
|
WELCOME_BOT_TIME |
Через сколько секунд переводить диалог от бота в очередь |
|
WELCOME_BOT_LEFT |
Когда отключать бота. Возможные значения:
|
|
CHECK_AVAILABLE |
Проверять доступность оператора при распределении. Возможные значения:
|
|
WATCH_TYPING |
Показывать индикатор набора текста. Возможные значения:
|
|
SEND_WELCOME_EACH_SESSION |
Отправлять приветствие в каждой сессии. Возможные значения:
|
|
OPERATOR_DATA |
Формат данных об операторе. Возможные значения:
|
|
DEFAULT_OPERATOR_DATA |
Данные оператора по умолчанию. Возможные поля:
|
|
NO_ANSWER_RULE |
Сценарий, если оператор не ответил. Возможные значения:
|
|
NO_ANSWER_FORM_ID |
Идентификатор CRM-формы для сценария без ответа |
|
NO_ANSWER_BOT_ID |
Идентификатор чат-бота для сценария без ответа |
|
NO_ANSWER_TEXT |
Текст для сценария без ответа |
|
WORKTIME_DAYOFF |
Выходные дни. Возможные значения элементов:
|
|
WORKTIME_HOLIDAYS |
Праздничные дни в формате строки, перечисленные через запятую |
|
WORKTIME_DAYOFF_RULE |
Сценарий в нерабочее время. Возможные значения:
|
|
WORKTIME_DAYOFF_FORM_ID |
Идентификатор CRM-формы для нерабочего времени |
|
WORKTIME_DAYOFF_BOT_ID |
Идентификатор чат-бота для нерабочего времени |
|
WORKTIME_DAYOFF_TEXT |
Текст сообщения в нерабочее время |
|
CLOSE_RULE |
Сценарий при закрытии. Возможные значения:
|
|
CLOSE_FORM_ID |
Идентификатор CRM-формы при закрытии |
|
CLOSE_BOT_ID |
Идентификатор чат-бота при закрытии |
|
CLOSE_TEXT |
Текст сообщения при закрытии |
|
VOTE_TIME_LIMIT |
Лимит времени на голосование |
|
VOTE_CLOSING_DELAY |
Закрывать сессию сразу после оценки. Возможные значения:
|
|
VOTE_BEFORE_FINISH |
Запрашивать оценку до завершения. Возможные значения:
|
|
VOTE_MESSAGE_1_TEXT |
Текст запроса оценки в виджете |
|
VOTE_MESSAGE_1_LIKE |
Текст после положительной оценки в виджете |
|
VOTE_MESSAGE_1_DISLIKE |
Текст после отрицательной оценки в виджете |
|
VOTE_MESSAGE_2_TEXT |
Текст запроса оценки в внешних каналах |
|
VOTE_MESSAGE_2_LIKE |
Текст после положительной оценки в внешних каналах |
|
VOTE_MESSAGE_2_DISLIKE |
Текст после отрицательной оценки в внешних каналах |
|
AUTO_CLOSE_RULE |
Сценарий автозакрытия. Возможные значения:
|
|
FULL_CLOSE_TIME |
Время полного закрытия после ручного закрытия |
|
AUTO_CLOSE_TIME |
Время до автозакрытия |
|
AUTO_CLOSE_FORM_ID |
Идентификатор CRM-формы для автозакрытия |
|
AUTO_CLOSE_BOT_ID |
Идентификатор чат-бота для автозакрытия |
|
AUTO_CLOSE_TEXT |
Текст при автозакрытии |
|
AUTO_EXPIRE_TIME |
Срок жизни автоматически закрытой сессии |
|
TEMPORARY |
Создать временную линию. Возможные значения:
|
|
QUICK_ANSWERS_IBLOCK_ID |
Идентификатор инфоблока быстрых ответов |
|
KPI_FIRST_ANSWER_TIME |
Контроль времени первого ответа |
|
KPI_FIRST_ANSWER_ALERT |
Включить уведомление о первом ответе. Возможные значения:
|
|
KPI_FIRST_ANSWER_LIST |
Список получателей уведомления о первом ответе |
|
KPI_FIRST_ANSWER_TEXT |
Текст уведомления о первом ответе |
|
KPI_FURTHER_ANSWER_TIME |
Контроль времени последующих ответов |
|
KPI_FURTHER_ANSWER_ALERT |
Включить уведомление о последующих ответах. Возможные значения:
|
|
KPI_FURTHER_ANSWER_LIST |
Список получателей уведомления о последующих ответах |
|
KPI_FURTHER_ANSWER_TEXT |
Текст уведомления о последующих ответах |
|
KPI_CHECK_OPERATOR_ACTIVITY |
Контролировать активность оператора. Возможные значения:
|
|
USE_WELCOME_FORM |
Использовать приветственную CRM-форму. Возможные значения:
|
|
WELCOME_FORM_ID |
Идентификатор приветственной CRM-формы |
|
WELCOME_FORM_DELAY |
Показывать форму с задержкой. Возможные значения:
|
|
CONFIRM_CLOSE |
Запрашивать подтверждение закрытия. Возможные значения:
|
|
IGNORE_WELCOME_FORM_RESPONSIBLE |
Игнорировать ответственного в приветственной форме. Возможные значения:
|
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"PARAMS": {
"LINE_NAME": "Линия поддержки интернет-магазина",
"QUEUE": [
{
"ENTITY_TYPE": "user",
"ENTITY_ID": "1"
},
{
"ENTITY_TYPE": "user",
"ENTITY_ID": "15"
},
{
"ENTITY_TYPE": "user",
"ENTITY_ID": "23"
}
],
"QUEUE_TYPE": "strictly",
"QUEUE_TIME": 45,
"NO_ANSWER_TIME": 120,
"WELCOME_MESSAGE": "Y",
"WELCOME_MESSAGE_TEXT": "Здравствуйте! Ответим в течение пары минут",
"CRM": "Y",
"CRM_CREATE": "deal",
"CRM_SOURCE": "openline_web",
"CRM_FORWARD": "Y",
"MAX_CHAT": 4,
"TYPE_MAX_CHAT": "answered_new",
"WORKTIME_ENABLE": "Y",
"WORKTIME_FROM": "09:00",
"WORKTIME_TO": "21:00",
"WORKTIME_TIMEZONE": "Europe/Kaliningrad",
"WORKTIME_DAYOFF": [
"SA",
"SU"
],
"WORKTIME_DAYOFF_RULE": "text",
"WORKTIME_DAYOFF_TEXT": "Сейчас линия не работает. Напишите, и мы ответим в рабочее время"
}
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imopenlines.config.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"PARAMS": {
"LINE_NAME": "Линия поддержки интернет-магазина",
"QUEUE": [
{
"ENTITY_TYPE": "user",
"ENTITY_ID": "1"
},
{
"ENTITY_TYPE": "user",
"ENTITY_ID": "15"
},
{
"ENTITY_TYPE": "user",
"ENTITY_ID": "23"
}
],
"QUEUE_TYPE": "strictly",
"QUEUE_TIME": 45,
"NO_ANSWER_TIME": 120,
"WELCOME_MESSAGE": "Y",
"WELCOME_MESSAGE_TEXT": "Здравствуйте! Ответим в течение пары минут",
"CRM": "Y",
"CRM_CREATE": "deal",
"CRM_SOURCE": "openline_web",
"CRM_FORWARD": "Y",
"MAX_CHAT": 4,
"TYPE_MAX_CHAT": "answered_new",
"WORKTIME_ENABLE": "Y",
"WORKTIME_FROM": "09:00",
"WORKTIME_TO": "21:00",
"WORKTIME_TIMEZONE": "Europe/Kaliningrad",
"WORKTIME_DAYOFF": [
"SA",
"SU"
],
"WORKTIME_DAYOFF_RULE": "text",
"WORKTIME_DAYOFF_TEXT": "Сейчас линия не работает. Напишите, и мы ответим в рабочее время"
},
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/imopenlines.config.add
try
{
const response = await $b24.callMethod(
'imopenlines.config.add',
{
PARAMS: {
LINE_NAME: 'Линия поддержки интернет-магазина',
QUEUE: [
{
ENTITY_TYPE: 'user',
ENTITY_ID: '1'
},
{
ENTITY_TYPE: 'user',
ENTITY_ID: '15'
},
{
ENTITY_TYPE: 'user',
ENTITY_ID: '23'
}
],
QUEUE_TYPE: 'strictly',
QUEUE_TIME: 45,
NO_ANSWER_TIME: 120,
WELCOME_MESSAGE: 'Y',
WELCOME_MESSAGE_TEXT: 'Здравствуйте! Ответим в течение пары минут',
CRM: 'Y',
CRM_CREATE: 'deal',
CRM_SOURCE: 'openline_web',
CRM_FORWARD: 'Y',
MAX_CHAT: 4,
TYPE_MAX_CHAT: 'answered_new',
WORKTIME_ENABLE: 'Y',
WORKTIME_FROM: '09:00',
WORKTIME_TO: '21:00',
WORKTIME_TIMEZONE: 'Europe/Kaliningrad',
WORKTIME_DAYOFF: ['SA', 'SU'],
WORKTIME_DAYOFF_RULE: 'text',
WORKTIME_DAYOFF_TEXT: 'Сейчас линия не работает. Напишите, и мы ответим в рабочее время'
}
}
);
const result = response.getData().result;
console.log(result);
}
catch (error)
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'imopenlines.config.add',
[
'PARAMS' => [
'LINE_NAME' => 'Линия поддержки интернет-магазина',
'QUEUE' => [
[
'ENTITY_TYPE' => 'user',
'ENTITY_ID' => '1',
],
[
'ENTITY_TYPE' => 'user',
'ENTITY_ID' => '15',
],
[
'ENTITY_TYPE' => 'user',
'ENTITY_ID' => '23',
],
],
'QUEUE_TYPE' => 'strictly',
'QUEUE_TIME' => 45,
'NO_ANSWER_TIME' => 120,
'WELCOME_MESSAGE' => 'Y',
'WELCOME_MESSAGE_TEXT' => 'Здравствуйте! Ответим в течение пары минут',
'CRM' => 'Y',
'CRM_CREATE' => 'deal',
'CRM_SOURCE' => 'openline_web',
'CRM_FORWARD' => 'Y',
'MAX_CHAT' => 4,
'TYPE_MAX_CHAT' => 'answered_new',
'WORKTIME_ENABLE' => 'Y',
'WORKTIME_FROM' => '09:00',
'WORKTIME_TO' => '21:00',
'WORKTIME_TIMEZONE' => 'Europe/Kaliningrad',
'WORKTIME_DAYOFF' => ['SA', 'SU'],
'WORKTIME_DAYOFF_RULE' => 'text',
'WORKTIME_DAYOFF_TEXT' => 'Сейчас линия не работает. Напишите, и мы ответим в рабочее время',
],
]
);
$result = $response
->getResponseData()
->getResult();
print_r($result);
} catch (Throwable $e) {
echo $e->getMessage();
}
BX24.callMethod(
'imopenlines.config.add',
{
PARAMS: {
LINE_NAME: 'Линия поддержки интернет-магазина',
QUEUE: [
{
ENTITY_TYPE: 'user',
ENTITY_ID: '1'
},
{
ENTITY_TYPE: 'user',
ENTITY_ID: '15'
},
{
ENTITY_TYPE: 'user',
ENTITY_ID: '23'
}
],
QUEUE_TYPE: 'strictly',
QUEUE_TIME: 45,
NO_ANSWER_TIME: 120,
WELCOME_MESSAGE: 'Y',
WELCOME_MESSAGE_TEXT: 'Здравствуйте! Ответим в течение пары минут',
CRM: 'Y',
CRM_CREATE: 'deal',
CRM_SOURCE: 'openline_web',
CRM_FORWARD: 'Y',
MAX_CHAT: 4,
TYPE_MAX_CHAT: 'answered_new',
WORKTIME_ENABLE: 'Y',
WORKTIME_FROM: '09:00',
WORKTIME_TO: '21:00',
WORKTIME_TIMEZONE: 'Europe/Kaliningrad',
WORKTIME_DAYOFF: ['SA', 'SU'],
WORKTIME_DAYOFF_RULE: 'text',
WORKTIME_DAYOFF_TEXT: 'Сейчас линия не работает. Напишите, и мы ответим в рабочее время'
}
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imopenlines.config.add',
[
'PARAMS' => [
'LINE_NAME' => 'Линия поддержки интернет-магазина',
'QUEUE' => [
[
'ENTITY_TYPE' => 'user',
'ENTITY_ID' => '1',
],
[
'ENTITY_TYPE' => 'user',
'ENTITY_ID' => '15',
],
[
'ENTITY_TYPE' => 'user',
'ENTITY_ID' => '23',
],
],
'QUEUE_TYPE' => 'strictly',
'QUEUE_TIME' => 45,
'NO_ANSWER_TIME' => 120,
'WELCOME_MESSAGE' => 'Y',
'WELCOME_MESSAGE_TEXT' => 'Здравствуйте! Ответим в течение пары минут',
'CRM' => 'Y',
'CRM_CREATE' => 'deal',
'CRM_SOURCE' => 'openline_web',
'CRM_FORWARD' => 'Y',
'MAX_CHAT' => 4,
'TYPE_MAX_CHAT' => 'answered_new',
'WORKTIME_ENABLE' => 'Y',
'WORKTIME_FROM' => '09:00',
'WORKTIME_TO' => '21:00',
'WORKTIME_TIMEZONE' => 'Europe/Kaliningrad',
'WORKTIME_DAYOFF' => ['SA', 'SU'],
'WORKTIME_DAYOFF_RULE' => 'text',
'WORKTIME_DAYOFF_TEXT' => 'Сейчас линия не работает. Напишите, и мы ответим в рабочее время',
],
]
);
print_r($result);
Обработка ответа
HTTP-статус: 200
{
"result": 15,
"time": {
"start": 1741688359.737944,
"finish": 1741688360.028349,
"duration": 0.2904050350189209,
"processing": 0.16270899772644043,
"date_start": "2025-03-11T10:25:59+03:00",
"date_finish": "2025-03-11T10:26:00+03:00",
"operating_reset_at": 1741688960,
"operating": 0
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Идентификатор созданной открытой линии |
|
time |
Информация о времени выполнения запроса |
Обработка ошибок
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Открытые линии: обзор методов и событий
- Изменить открытую линию imopenlines.config.update
- Получить открытую линию по идентификатору imopenlines.config.get
- Получить список открытых линий imopenlines.config.list.get
- Удалить открытую линию imopenlines.config.delete
- Получить ссылку на публичную страницу открытых линий imopenlines.config.path.get