imopenlines.v2.Session.list
Получить список сессий
Описание
Метод imopenlines.v2.Session.list получает список сессий открытых линий с фильтрами и пагинацией.
Параметры
configId
integer
необязательный
Идентификатор открытой линии.
Идентификатор можно получить методом imopenlines.config.list.get
configIdList
integer[]
необязательный
Список идентификаторов открытых линий.
Идентификаторы можно получить методом imopenlines.config.list.get.
Если переданы configIdList и configId, используется configIdList.
Максимум: 1000 элементов
operatorId
integer
необязательный
Идентификатор оператора.
Идентификатор можно получить методом user.get или user.search
operatorIdList
integer[]
необязательный
Список идентификаторов операторов.
Идентификаторы можно получить методом user.get или user.search.
Если переданы operatorIdList и operatorId, используется operatorIdList.
Максимум: 1000 элементов
source
string
необязательный
Код канала.
Код можно получить методом imconnector.list
sourceList
string[]
необязательный
Список кодов каналов.
Коды можно получить методом imconnector.list.
Если переданы sourceList и source, используется sourceList.
Максимум: 1000 элементов
status
string
необязательный
Статус сессии.
Возможные значения:
new— сессия в очереди или пропущенаanswered— оператор ведет диалогclosed— сессия закрытаspam— сессия помечена как спамpaused— сессия на паузе
closeReason
string
необязательный
Причина закрытия.
Нельзя передавать вместе со status.
Возможные значения:
operator— сессию закрыл операторauto— сессия закрыта автоматически по таймаутуspam— сессия закрыта как спамclient— сессия закрыта по неактивности клиентаreplyLimit— сессия закрыта после истечения окна ответа канала
dateCreateFrom
string
необязательный
Начало периода создания в формате ISO 8601
dateCreateTo
string
необязательный
Конец периода создания в формате ISO 8601.
Максимальный период: 366 дней
dateCloseFrom
string
необязательный
Начало периода закрытия в формате ISO 8601
dateCloseTo
string
необязательный
Конец периода закрытия в формате ISO 8601.
Максимальный период: 366 дней
vote
string
необязательный
Клиентская оценка.
Возможные значения:
like— клиент поставил лайкdislike— клиент поставил дизлайкnone— оценки нетany— есть любая клиентская оценка
hasVoteHead
boolean
необязательный
Фильтр по наличию оценки руководителя.
Возможные значения:
true,Y,1— есть оценка руководителяfalse,N,0— оценки руководителя нет
kpiFirstAnswer
boolean
необязательный
Фильтр по выполнению KPI первого ответа.
Требует полного периода dateCreateFrom и dateCreateTo или dateCloseFrom и dateCloseTo.
Возможные значения:
true,Y,1— KPI первого ответа выполненfalse,N,0— KPI первого ответа не выполнен
hasCrm
boolean
необязательный
Фильтр по наличию доступной связи с CRM.
Возможные значения:
true,Y,1— есть доступная связь с CRMfalse,N,0— доступной связи с CRM нет
waitAnswerFrom
integer
необязательный
Минимальное время до первого ответа, секунды
waitAnswerTo
integer
необязательный
Максимальное время до первого ответа, секунды
waitCloseFrom
integer
необязательный
Минимальное время до закрытия, секунды
waitCloseTo
integer
необязательный
Максимальное время до закрытия, секунды
order
string
необязательный
Поле сортировки.
Возможные значения:
dateCreate— дата создания сессииdateClose— дата закрытия сессииwaitAnswer— время до первого ответаwaitClose— время до закрытия
По умолчанию: dateCreate
orderDirection
string
необязательный
Направление сортировки.
Возможные значения:
asc— по возрастаниюdesc— по убыванию
По умолчанию: desc
offset
integer
необязательный
Смещение для пагинации.
По умолчанию: 0
limit
integer
необязательный
Размер страницы.
Возможные значения: от 1 до 200.
По умолчанию: 50
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"configId": 3,
"status": "closed",
"dateCreateFrom": "2026-06-01T00:00:00+03:00",
"dateCreateTo": "2026-06-30T23:59:59+03:00",
"limit": 50
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imopenlines.v2.Session.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"configId": 3,
"status": "closed",
"dateCreateFrom": "2026-06-01T00:00:00+03:00",
"dateCreateTo": "2026-06-30T23:59:59+03:00",
"limit": 50,
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/imopenlines.v2.Session.list
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
type SessionListResult = {
sessions: Array<{ id: number, configId: number, status: string }>
hasNextPage: boolean
}
try {
const response = await $b24.actions.v2.call.make<SessionListResult>({
method: 'imopenlines.v2.Session.list',
params: {
configId: 3,
status: 'closed',
dateCreateFrom: '2026-06-01T00:00:00+03:00',
dateCreateTo: '2026-06-30T23:59:59+03:00',
limit: 50,
},
requestId: Text.getUuidRfc4122()
})
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
console.info(response.getData()!.result.sessions)
}
} catch (error) {
console.error(error)
}
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function getOpenlinesSessions() {
try {
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'imopenlines.v2.Session.list',
params: {
configId: 3,
status: 'closed',
dateCreateFrom: '2026-06-01T00:00:00+03:00',
dateCreateTo: '2026-06-30T23:59:59+03:00',
limit: 50,
},
requestId: B24Js.Text.getUuidRfc4122()
})
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
console.info(response.getData().result.sessions)
} catch (error) {
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getOpenlinesSessions)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.call(
"imopenlines.v2.Session.list",
{
"configId": 3,
"status": "closed",
"dateCreateFrom": "2026-06-01T00:00:00+03:00",
"dateCreateTo": "2026-06-30T23:59:59+03:00",
"limit": 50,
},
).response
print(bitrix_response.result)
except BitrixAPIError as error:
print(f"error: {error.error}", f"error_description: {error.error_description}", sep="\n")
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
try {
$response = $b24Service
->core
->call(
'imopenlines.v2.Session.list',
[
'configId' => 3,
'status' => 'closed',
'dateCreateFrom' => '2026-06-01T00:00:00+03:00',
'dateCreateTo' => '2026-06-30T23:59:59+03:00',
'limit' => 50,
]
);
print_r($response->getResponseData()->getResult());
} catch (Throwable $e) {
echo $e->getMessage();
}
BX24.callMethod(
'imopenlines.v2.Session.list',
{
configId: 3,
status: 'closed',
dateCreateFrom: '2026-06-01T00:00:00+03:00',
dateCreateTo: '2026-06-30T23:59:59+03:00',
limit: 50,
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imopenlines.v2.Session.list',
[
'configId' => 3,
'status' => 'closed',
'dateCreateFrom' => '2026-06-01T00:00:00+03:00',
'dateCreateTo' => '2026-06-30T23:59:59+03:00',
'limit' => 50,
]
);
print_r($result);
res, err := client.Core().Call(ctx, "imopenlines.v2.Session.list", b24.Params{
"configId": 3,
"status": "closed",
"dateCreateFrom": "2026-06-01T00:00:00+03:00",
"dateCreateTo": "2026-06-30T23:59:59+03:00",
"limit": 50,
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("imopenlines.v2.Session.list: %w", err)
}
fmt.Println(string(res.Result))
Ответ
HTTP-статус: 200
{
"result": {
"sessions": [
{
"id": 1024,
"configId": 3,
"source": "livechat",
"operatorId": 42,
"userId": 501,
"userCode": "site_visitor_88a1",
"chatId": 2048,
"dateCreate": "2026-06-15T14:30:00+03:00",
"dateClose": "2026-06-15T14:52:10+03:00",
"dateFirstAnswer": "2026-06-15T14:31:05+03:00",
"dateOperatorAnswer": "2026-06-15T14:31:05+03:00",
"status": "closed",
"closeReason": "operator",
"vote": "like",
"voteHead": 5,
"commentHead": "Хорошая работа",
"crmEntityType": "deal",
"crmEntityId": 771,
"queueTransfers": 1,
"waitAnswer": 65,
"waitClose": 1330,
"kpiFirstAnswer": true,
"messageCount": 14
}
],
"hasNextPage": false
},
"time": {
"start": 1782810000,
"finish": 1782810000.4,
"duration": 0.4,
"processing": 0,
"date_start": "2026-06-30T10:00:00+03:00",
"date_finish": "2026-06-30T10:00:00+03:00",
"operating_reset_at": 1782810600,
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой объект ответа
result.sessions
session[]
Список сессий.
Все поля типа session смотрите в разделе Типы данных статистики открытых линий
result.hasNextPage
boolean
Признак следующей страницы
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "PERIOD_TOO_LARGE",
"error_description": "The requested period exceeds the maximum of 1 year"
}
| Код | Описание | Значение |
|---|---|---|
400 |
TARIFF_RESTRICTION |
Statistics reports are not available on the current tariff plan |
400 |
INVALID_FILTER |
Invalid filter value |
400 |
PERIOD_TOO_LARGE |
The requested period exceeds the maximum of 1 year |
400 |
OFFSET_TOO_LARGE |
Offset is too large |

