Для AI-агентов: markdown этой страницы — /docs-content/openlines/operators.md индекс документации — /llms.txt

Операторы в реальном времени

Метод выходит в обновлении imopenlines 26.700.0 и доступен пока не на всех порталах Битрикс24. Если обновление на ваш портал ещё не пришло, API вернёт 422 METHOD_NOT_YET_AVAILABLE — это признак того, что метод на портале ещё не выпущен, а не ошибка интеграции.

GET /v1/openlines/operators

Список операторов линии с текущим статусом и нагрузкой — для панелей мониторинга контакт-центра в реальном времени.

Данные приходят почти в реальном времени: статус и счётчик активных сессий читаются раздельно, без единой транзакции. Для панели мониторинга опрашивайте метод не чаще одного раза в 30 секунд.

Поля запроса (query)

Параметр Тип Обяз. Описание
ПараметрconfigId Типnumber Обяз.нет ОписаниеИдентификатор линии. Источник: GET /v1/openline-configs
ПараметрconfigIdList Типnumber[] Обяз.нет ОписаниеСписок линий. Форма — configIdList=3,5 или configIdList[]=3&configIdList[]=5
ПараметрuserId Типnumber Обяз.нет ОписаниеИдентификатор оператора. Источник: GET /v1/users
ПараметрuserIdList Типnumber[] Обяз.нет ОписаниеСписок операторов, те же две формы
Параметрstatus Типstring Обяз.нет ОписаниеСтатус: online, offline или pause
ПараметрhasFreeSlots Типboolean Обяз.нет ОписаниеТолько операторы, у которых есть свободные места под чаты. Принимает true/false и Y/N
Параметрlimit Типnumber Обяз.нет ОписаниеРазмер страницы, 1..200 (по умолчанию 50)
Параметрoffset Типnumber Обяз.нет ОписаниеСмещение для пагинации (по умолчанию 0)

Списочные параметры принимают либо строку через запятую (configIdList=3,5), либо повторяющуюся скобочную форму (configIdList[]=3&configIdList[]=5). Повторение параметра без скобок (configIdList=3&configIdList=5) не поддерживается.

Общий параметр filter этим эндпоинтом не применяется. По умолчанию API сохраняет прежний ответ HTTP 200 и прежние данные, добавляет заголовок Warning: 299 - "filter is not supported on this endpoint and was ignored", а сервер фиксирует использование неподдерживаемого фильтра в журнале.

Примеры

curl — личный ключ

Terminal
curl "https://vibecode.bitrix24.tech/v1/openlines/operators?configId=3&status=online" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl "https://vibecode.bitrix24.tech/v1/openlines/operators?configId=3&status=online" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/openlines/operators?configId=3&status=online', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/openlines/operators?configId=3&status=online', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { data } = await res.json()

Поля ответа

Ответ — { "success": true, "data": { "operators": [...], "hasNextPage": bool } }.

Ключ Описание
Ключoperators ОписаниеМассив операторов
Ключoperators[].userId ОписаниеИдентификатор пользователя-оператора
Ключoperators[].configId ОписаниеИдентификатор линии
Ключoperators[].status ОписаниеСтатус: online / offline / pause
Ключoperators[].activeSessions ОписаниеКоличество активных (незакрытых) сессий прямо сейчас
Ключoperators[].maxChat ОписаниеЛимит чатов оператора (из настроек линии)
Ключoperators[].freeSlots ОписаниеЧисло свободных мест под чаты (maxChat − activeSessions)
Ключoperators[].lastActivityDate ОписаниеДата последней активности оператора в линии
КлючhasNextPage ОписаниеЕсть ли следующая страница

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

JSON
{
  "success": true,
  "data": {
    "operators": [
      { "userId": 42, "configId": 3, "status": "online", "activeSessions": 2, "maxChat": 5, "freeSlots": 3, "lastActivityDate": "2026-06-15T15:01:00+03:00" },
      { "userId": 51, "configId": 3, "status": "pause", "activeSessions": 0, "maxChat": 5, "freeSlots": 5, "lastActivityDate": "2026-06-15T14:20:00+03:00" }
    ],
    "hasNextPage": false
  }
}

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

422 — недопустимое значение status (значение передаётся в Битрикс24, и он отклоняет фильтр):

JSON
{
  "success": false,
  "error": { "code": "BITRIX_ERROR", "message": "Недопустимое значение фильтра", "b24Code": "INVALID_FILTER" }
}

Ошибки

HTTP Код Когда
HTTP200 КодWarning: 299 КогдаФильтр игнорируется по умолчанию; прежние данные сохраняются, предупреждение передаётся заголовком Warning.
HTTP400 только при включённом строгом режиме КодUNSUPPORTED_FILTER КогдаСерверный режим выключен по умолчанию; до его включения эндпоинт сохраняет HTTP 200 и прежние данные.
HTTP403 КодB24_TARIFF_RESTRICTION КогдаТариф не включает статистику Открытых линий (report_open_lines)
HTTP400 КодINVALID_PARAMS КогдаНечисловое значение в limit/offset или элементе списка
HTTP422 КодBITRIX_ERROR (error.b24Code: INVALID_FILTER) КогдаНедопустимое значение status
HTTP422 КодBITRIX_ERROR (error.b24Code: OFFSET_TOO_LARGE) Когдаoffset превышает максимум при фильтре status/hasFreeSlots — сузьте фильтры
HTTP422 КодMETHOD_NOT_YET_AVAILABLE КогдаОбновление imopenlines 26.700.0 ещё не пришло на портал. Ответ содержит поле error.release со значением imopenlines 26.700.0

Полный список системных кодов — Ошибки API.

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