Для 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— это не ошибка интеграции, а признак того, что обновление пока не приехало на портал.
Список обращений с метриками, real-time нагрузка операторов, агрегаты по линии, оценки клиентов (CSAT) и история переназначений. Все методы — только чтение. Данные видны в пределах прав пользователя, от имени которого работает ключ: если у него нет доступа ни к одной линии, метод возвращает пустой результат (или нулевые агрегаты), а не ошибку. Методам нужен доступ к статистике Открытых линий (право report_open_lines); без него запрос вернёт 403 B24_TARIFF_RESTRICTION.
| Эндпоинт | Метод Битрикс24 | Назначение |
|---|---|---|
POST /v1/openlines/stats |
imopenlines.v2.Stat.get |
Агрегаты по линии за период |
GET /v1/openlines/operators |
imopenlines.v2.Operator.list |
Операторы: статус и нагрузка (real-time) |
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 |
Оценённые сессии (CSAT) за период |
POST /v1/openlines/sessions/transfers |
imopenlines.v2.Session.Transfer.list |
История переназначений (до 50 сессий) |
Все шесть методов выходят в обновлении imopenlines 26.700.0. Имена методов Битрикс24 здесь приведены для сверки с документацией Битрикс24 — обращаться к API нужно по путям Вайбкод из левой колонки.
Типичные сценарии
| Сценарий | Эндпоинты |
|---|---|
| Исторический отчёт по обращениям за период | POST /v1/openlines/sessions/search |
| Real-time монитор очереди и нагрузки операторов | 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отдаёт почти real-time данные (статус и счётчик активных чатов читаются раздельно). Для виджета мониторинга опрашивайте метод не чаще одного раза в 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 равным моменту старта выгрузки. Без фиксированной границы новые сессии, пришедшие во время листания, сдвигают страницы, и записи на стыках могут повториться или пропасть.
Коды ошибок
Ошибки Открытых линий
| HTTP | Код | Когда |
|---|---|---|
| 403 | B24_TARIFF_RESTRICTION |
Тариф портала не включает статистику Открытых линий (право report_open_lines) |
| 422 | METHOD_NOT_YET_AVAILABLE |
Обновление imopenlines 26.700.0 ещё не приехало на портал. После доезда обновления метод начинает работать; если тариф не включает статистику, код при вызове сменится на 403 B24_TARIFF_RESTRICTION |
| 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.