Для AI-агентов: markdown этой страницы — /docs-content/openlines.md индекс документации — /llms.txt
Открытые линии
Открытые линии Битрикс24 (модуль imopenlines) — входящие обращения из мессенджеров и социальных сетей, распределение по операторам, интеграция с CRM и оценка качества обслуживания. Раздел покрывает две грани модуля: управление настройками линий и статистику дашборда руководителя контакт-центра.
- Базовый URL:
https://vibecode.bitrix24.tech - Аутентификация: заголовок
X-Api-Key(личный ключ) илиX-Api-Key+Authorization: Bearer(OAuth-приложение) - Скоуп ключа:
imopenlines
Быстрый старт | Полный пример | Справочник эндпоинтов | Коды ошибок
Что входит в раздел
| Грань | Назначение | Документация |
|---|---|---|
| Конфигурация линий | CRUD настроек линии: очередь операторов, рабочее время, интеграция с CRM, приветствие, оценка | Конфигурация линий |
| Статистика (дашборд) | Только чтение: агрегаты, сессии, операторы, CSAT, переназначения | ниже в этом разделе |
Идентификаторы
| Идентификатор | Что это | Где взять |
|---|---|---|
configId |
Открытая линия | GET /v1/openline-configs |
sessionId |
Сессия (диалог) Открытой линии | POST /v1/openlines/sessions/search |
chatId |
IM-чат, привязанный к сессии | поле chatId в ответе sessions/search |
Конфигурация линий
Управление настройками открытых линий — создание, список, получение, изменение, удаление, поиск. Общедоступно, раскатки обновления не требует. Здесь же живут два действия оператора над диалогом — принять (answer) и завершить (finish).
Полная документация: Конфигурация линий.
Статистика (дашборд)
Методы статистики в процессе раскатки — выходят в обновлении
imopenlines 26.700.0. Доступны не на всех порталах Битрикс24. Если на вашем портале методы ещё не доступны, API вернёт422 METHOD_NOT_YET_AVAILABLE— это не ошибка интеграции, а признак того, что обновление пока не приехало на портал.
Список обращений с метриками, нагрузка операторов в реальном времени, агрегаты по линии, оценки клиентов (CSAT) и история переназначений. Все методы — только чтение. Данные видны в пределах прав пользователя, от имени которого работает ключ: если у него нет доступа ни к одной линии, метод возвращает пустой результат (или нулевые агрегаты), а не ошибку. Методам нужен доступ к статистике Открытых линий — право report_open_lines. Без него запрос вернёт 403 B24_TARIFF_RESTRICTION.
| Эндпоинт | Назначение |
|---|---|
POST /v1/openlines/stats |
Агрегаты по линии за период |
GET /v1/openlines/operators |
Операторы: статус и нагрузка в реальном времени |
POST /v1/openlines/sessions/search |
Список сессий с фильтрами |
POST /v1/openlines/sessions/stats |
Метрики по конкретным сессиям, до 100 за вызов |
POST /v1/openlines/ratings/search |
Сессии с оценкой клиента за период |
POST /v1/openlines/sessions/transfers |
История переназначений, до 50 сессий за вызов |
Все шесть методов выходят в обновлении imopenlines 26.700.0. Имена методов Битрикс24 для сверки с документацией Битрикс24 — в Справочнике эндпоинтов.
Типичные сценарии
| Сценарий | Эндпоинты |
|---|---|
| Исторический отчёт по обращениям за период | POST /v1/openlines/sessions/search |
| Монитор очереди и нагрузки операторов в реальном времени | GET /v1/openlines/operators |
| Дашборд с оценками клиентов (CSAT) | POST /v1/openlines/ratings/search, POST /v1/openlines/stats |
| Сводный KPI по линии (по часам и каналам) | POST /v1/openlines/stats |
| Карточка сессии для разбора жалоб | POST /v1/openlines/sessions/stats |
| Анализ переназначений между операторами | POST /v1/openlines/sessions/transfers |
Рекомендации
- Для сводных показателей используйте
stats— он считает агрегаты на стороне Битрикс24. Не собирайте те же цифры клиентской агрегацией черезsessions/search: это упирается в лимит запросов REST Битрикс24. operatorsотдаёт данные почти в реальном времени (статус и счётчик активных чатов читаются раздельно). Для виджета мониторинга опрашивайте метод не чаще одного раза в 30 секунд.stats— тяжёлый метод: запрашивайте его не чаще одного раза в 30–60 секунд и кэшируйте результат на своей стороне.- Статистика звонков живёт отдельно —
GET /v1/calls/statistics. Статистика Открытых линий использует POST-формы, потому что несёт богатые фильтры.
Быстрый старт
Агрегаты по линии за июнь:
curl -X POST "https://vibecode.bitrix24.tech/v1/openlines/stats" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dateFrom": "2026-06-01T00:00:00+03:00",
"dateTo": "2026-06-30T23:59:59+03:00",
"configId": 3
}'
{
"success": true,
"data": {
"totalSessions": 340,
"closedSessions": 318,
"spamSessions": 4,
"avgWaitAnswer": 42.7,
"avgSessionDuration": 612.3,
"likeCount": 210,
"dislikeCount": 15,
"votedSessions": 225,
"positiveRate": 0.9333,
"kpiFirstAnswerOk": 300,
"kpiFirstAnswerFail": 18,
"sessionsBySource": [{ "source": "livechat", "count": 200 }, { "source": "whatsapp", "count": 140 }],
"sessionsByHour": [0,0,0,0,0,0,2,10,25,40,38,30,28,22,20,25,30,20,15,10,8,5,3,1],
"sessionsByOperator": [{ "operatorId": 42, "count": 120, "avgWaitAnswer": 38.1, "positiveRate": 0.95 }]
}
}
Полный пример
Отчёт «обращения за месяц с разбором проблемных сессий»:
POST /v1/openlines/statscdateFrom/dateTo— сводные показатели по линии.POST /v1/openlines/sessions/searchc тем же периодом иlimit: 50— первая страница списка сессий. Пагинация по страницам: увеличивайтеoffsetнаlimit, покаdata.hasNextPageравноtrue.POST /v1/openlines/sessions/statsc массивомsessionId(до 100) — детальные метрики выбранных сессий.
Для стабильной постраничной выгрузки фиксируйте верхнюю границу периода: возьмите dateCreateTo равным моменту старта выгрузки. Без фиксированной границы новые сессии, пришедшие во время листания, сдвигают страницы, и записи на стыках могут повториться или пропасть.
Справочник эндпоинтов
Все 16 эндпоинтов раздела:
| Метод | Путь | Bitrix24 метод | Описание |
|---|---|---|---|
| POST | /v1/openline-configs | imopenlines.config.add | Создать конфигурацию линии |
| GET | /v1/openline-configs | imopenlines.config.list.get | Список конфигураций |
| GET | /v1/openline-configs/:id | imopenlines.config.get | Конфигурация по идентификатору, с очередью операторов |
| PATCH | /v1/openline-configs/:id | imopenlines.config.update | Обновить конфигурацию |
| DELETE | /v1/openline-configs/:id | imopenlines.config.delete | Удалить конфигурацию |
| POST | /v1/openline-configs/search | imopenlines.config.list.get | Поиск конфигураций по фильтру |
| GET | /v1/openline-configs/fields | — | Схема полей конфигурации |
| POST | /v1/openline-configs/aggregate | imopenlines.config.list.get | Агрегация по конфигурациям |
| POST | /v1/openlines/operator/answer | imopenlines.operator.answer | Принять диалог оператором |
| POST | /v1/openlines/operator/finish | imopenlines.operator.finish | Завершить диалог оператором |
| POST | /v1/openlines/stats | imopenlines.v2.Stat.get | Агрегаты по линии за период |
| GET | /v1/openlines/operators | imopenlines.v2.Operator.list | Операторы: статус и нагрузка в реальном времени |
| POST | /v1/openlines/sessions/search | imopenlines.v2.Session.list | Список сессий с фильтрами |
| POST | /v1/openlines/sessions/stats | imopenlines.v2.Session.Stat.get | Метрики выбранных сессий, до 100 за вызов |
| POST | /v1/openlines/ratings/search | imopenlines.v2.Session.Rating.list | Сессии с оценкой клиента за период |
| POST | /v1/openlines/sessions/transfers | imopenlines.v2.Session.Transfer.list | История переназначений, до 50 сессий за вызов |
Конфигурация линий и действия оператора работают на любом портале. Шесть методов статистики выходят в обновлении imopenlines 26.700.0 — до его доезда на портал они отвечают 422, см. Статистика (дашборд). У GET /v1/openline-configs/fields вызова Битрикс24 нет — схему полей отдаёт Вайбкод.
Коды ошибок
Ошибки Открытых линий
| HTTP | Код | Когда |
|---|---|---|
| 403 | B24_TARIFF_RESTRICTION |
Тариф портала не включает статистику Открытых линий (право report_open_lines) |
| 422 | METHOD_NOT_YET_AVAILABLE |
Обновление imopenlines 26.700.0 ещё не приехало на портал. Ответ содержит поле error.release со значением imopenlines 26.700.0 — разбор кода. После доезда обновления метод начинает работать. Если тариф не включает статистику, код при вызове сменится на 403 B24_TARIFF_RESTRICTION |
| 400 | INVALID_JSON_BODY |
Тело запроса не разобралось как JSON. Приходит на всех пяти методах с телом — stats, sessions/search, ratings/search, sessions/stats, sessions/transfers. Проверка идёт до валидации полей, поэтому про отсутствующие параметры ответ ничего не говорит |
| 400 | MISSING_PARAMS |
Не переданы обязательные параметры (период у stats/ratings, sessionId у батч-методов) |
| 400 | INVALID_PARAMS |
Тело запроса не объект, либо нечисловые/некорректные значения там, где ожидаются числа |
| 400 | BATCH_LIMIT_EXCEEDED |
Массив sessionId превышает лимит метода (100 для sessions/stats, 50 для sessions/transfers) |
При отказе Битрикс24 ответ приходит как 422 BITRIX_ERROR, а сырой код Битрикс24 дублируется в поле error.b24Code:
error.b24Code |
Когда |
|---|---|
PERIOD_REQUIRED |
Период не распознан Битрикс24 (например, дата в неизвестном формате) |
PERIOD_TOO_LARGE |
Период превышает 1 год |
INVALID_FILTER |
Недопустимое значение фильтра или формат даты |
OFFSET_TOO_LARGE |
offset превышает максимум — сузьте период или фильтры |
Системные ошибки
Общие коды (SCOPE_DENIED, TOKEN_MISSING, RATE_LIMITED и другие) — на странице Ошибки API.