Для 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-формы, потому что несёт богатые фильтры.

Быстрый старт

Агрегаты по линии за июнь:

Terminal
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
  }'
JSON
{
  "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 }]
  }
}

Полный пример

Отчёт «обращения за месяц с разбором проблемных сессий»:

  1. POST /v1/openlines/stats c dateFrom/dateTo — сводные показатели по линии.
  2. POST /v1/openlines/sessions/search c тем же периодом и limit: 50 — первая страница списка сессий. Пагинация по страницам: увеличивайте offset на limit, пока data.hasNextPage равно true.
  3. POST /v1/openlines/sessions/stats c массивом 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.

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