Получить историю сообщений диалога imopenlines.session.history.get
Scope:
imopenlinesКто может выполнять метод: любой пользователь
Метод imopenlines.session.history.get возвращает историю сообщений сессии открытой линии.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
SESSION_ID |
Идентификатор сессии открытой линии. Идентификатор можно получить методом imopenlines.dialog.get из поля |
|
CHAT_ID |
Числовой идентификатор чата открытой линии без префикса Идентификатор можно получить методами imopenlines.dialog.get или imopenlines.crm.chat.get |
Метод принимает один из параметров: SESSION_ID или CHAT_ID.
- Если передан
SESSION_ID, метод работает по нему. - Если
SESSION_IDне передан, метод пытается определить последнюю сессию поCHAT_IDс сортировкойID DESC.
На практике для стабильного результата рекомендуется передавать SESSION_ID.
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"SESSION_ID":321}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imopenlines.session.history.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"SESSION_ID":321,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imopenlines.session.history.get
try {
const response = await $b24.callMethod(
'imopenlines.session.history.get',
{
SESSION_ID: 321,
}
);
const { result } = response.getData();
console.log(result);
} catch (error) {
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'imopenlines.session.history.get',
[
'SESSION_ID' => 321,
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error getting session history: ' . $exception->getMessage();
}
BX24.callMethod(
'imopenlines.session.history.get',
{
SESSION_ID: 321,
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imopenlines.session.history.get',
[
'SESSION_ID' => 321,
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Success: ' . print_r($result['result'], true);
}
Обработка ответа
HTTP-статус: 200
{
"result": {
"chatId": 1763,
"canJoin": "Y",
"canVoteHead": "Y",
"sessionId": 321,
"sessionVoteHead": 0,
"sessionCommentHead": null,
"userId": "chat1763",
"message": {
"85851": {
"id": "85851",
"chatid": "1763",
"senderid": "103",
"recipientid": "chat1763",
"date": "2026-03-11T13:12:46+03:00",
"text": "Откройте карточку задачи и нажмите Наблюдатели",
"textlegacy": "Откройте карточку задачи и нажмите Наблюдатели",
"params": {
"connectorMid": ["85853"],
"fileId": [5437]
}
},
"85833": {
"id": "85833",
"chatid": "1763",
"senderid": "0",
"recipientid": "chat1763",
"date": "2026-03-11T13:09:25+03:00",
"text": "[b]Создан новый лид[/b]",
"textlegacy": "<b>Создан новый лид</b>",
"params": {
"attach": [
{
"id": 1773223765,
"blocks": [
{
"link": [
{
"name": "Заполнение CRM-формы \"Форма контактных данных для открытых линий\"",
"link": "/crm/lead/details/1205/"
}
]
},
{
"grid": [
{
"display": "ROW",
"name": "Имя",
"value": "Иван",
"colorToken": "base"
},
{
"display": "LINE",
"name": "Телефон",
"value": "+71110000000",
"height": 20,
"colorToken": "base"
}
]
}
],
"description": "",
"color": "#df532d"
}
]
}
},
... // описание для каждого сообщения
},
"usersMessage": {
"chat1763": [
"85851",
"85833",
]
},
"users": {
"103": {
"id": "103",
"name": "Светлана Иванова",
"active": true,
"firstName": "Светлана",
"lastName": "Иванова",
"workPosition": "Руководитель ИТ-отдела",
"color": "#4ba984",
"avatar": "https://example.bitrix24.ru/upload/main/avatar.png",
"avatarId": "8644",
"birthday": "08-03",
"gender": "F",
"phoneDevice": false,
"phones": false,
"extranet": false,
"network": false,
"bot": false,
"connector": false,
"profile": "/company/personal/user/103/",
"externalAuthId": "socservices",
"status": "online",
"idle": false,
"lastActivityDate": "2026-03-11T13:14:35+03:00",
"mobileLastDate": false,
"desktopLastDate": false,
"departments": [1, 7],
"absent": false,
"type": "user",
"services": null,
"botData": null
},
... // описание для каждого пользователя
},
"openlines": {
"canvoteashead": {
"22": true
}
},
"userInGroup": {
"1": {
"id": 1,
"users": ["103"]
},
... // описание для каждого подразделения
},
"woUserInGroup": [],
"chat": {
"1763": {
"id": "1763",
"parentChatId": 0,
"parentMessageId": 0,
"name": "Иван - Документация Битрикс24",
"owner": "103",
"color": "#ba9c7b",
"extranet": false,
"avatar": "/bitrix/js/im/images/blank.gif",
"call": "0",
"callNumber": "",
"entityType": "LINES",
"entityId": "livechat|22|1761|587",
"entityData1": "Y|LEAD|1205|N|N|321|1773223732|0|0|0",
"entityData2": "LEAD|1205|COMPANY|0|CONTACT|0|DEAL|0",
"entityData3": "",
"messageCount": 14,
"public": "",
"muteList": {
"103": false,
"587": false
},
"managerList": [103],
"dateCreate": "2026-03-11T12:08:52+03:00",
"type": "lines",
"entityLink": {
"type": "LINES",
"url": "",
"id": "livechat|22|1761|587"
},
"permissions": {
"manageUsersAdd": "member",
"manageUsersDelete": "manager",
"manageUi": "member",
"manageSettings": "owner",
"manageMessages": "member",
"canPost": "member"
},
"textFieldEnabled": true,
"backgroundId": null,
"messageType": "L",
"isNew": false
}
},
"userBlockChat": {
"1763": {
"103": false,
"587": false
}
},
"userInChat": {
"1763": [103, 587]
},
"files": {
"5437": {
"id": 5437,
"chatid": 1763,
"date": "2026-03-11T13:12:46+03:00",
"type": "image",
"name": "2311.png",
"extension": "png",
"size": 70855,
"image": {
"height": 615,
"width": 646
},
"status": "done",
"progress": 100,
"authorid": 103,
"authorname": "Светлана Иванова",
"urlpreview": "https://some-domain.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.download&SITE_ID=s1&humanRE=1&fileId=5437&exact=N&_esd=oYQLNdHU%3D&fileName=2311.png",
"urlshow": "https://some-domain.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.showImage&SITE_ID=s1&humanRE=1&fileId=5437&width=1280&height=1280&signature=d1007a9ed47599e2160b993ca&exact=N&_esd=oYQLNdHU%3D&fileName=2311.png",
"urldownload": "https://some-domain.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.download&SITE_ID=s1&humanRE=1&fileId=5437&exact=N&_esd=oYQLNdHU%3D&fileName=2311.png",
"viewerattrs": {
"viewer": "",
"viewertype": "image",
"src": "https://some-domain.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.download&SITE_ID=s1&humanRE=1&fileId=5437&exact=N&_esd=oYQLNdHU%3D&fileName=2311.png",
"viewerresized": "",
"objectid": "5437",
"viewergroupby": "1763",
"imchatid": 1763,
"title": "2311.png",
"actions": "[{\"type\":\"download\"},{\"type\":\"copyToMe\",\"text\":\"Сохранить на Диск\",\"action\":\"BXIM.disk.saveToDiskAction\",\"params\":{\"fileId\":\"5437\"},\"extension\":\"disk.viewer.actions\",\"buttonIconClass\":\"ui-btn-icon-cloud\"}]"
},
"mediaurl": {
"preview": {
"250": "https://some-domain.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.showImage&SITE_ID=s1&humanRE=1&fileId=5437&width=250&height=250&signature=c28f11fbae0ee5a0c40970c4e8e554&exact=Y&_esd=oYQLNdHU%3D&fileName=2311.png"
}
},
"istranscribable": false,
"isvideonote": false,
"isvoicenote": false
}
}
},
"time": {
"start": 1773224138,
"finish": 1773224138.143344,
"duration": 0.14334392547607422,
"processing": 0,
"date_start": "2026-03-11T13:15:38+03:00",
"date_finish": "2026-03-11T13:15:38+03:00",
"operating_reset_at": 1773224738,
"operating": 0
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Корневой объект ответа. Структура объекта подробно описана ниже |
|
time |
Информация о времени выполнения запроса |
Объект result
|
Название |
Описание |
|
chatId |
Идентификатор чата |
|
canJoin |
Флаг возможности подключения к диалогу: |
|
canVoteHead |
Флаг возможности оценки операторов руководителем: |
|
sessionId |
Идентификатор сессии |
|
sessionVoteHead |
Оценка, которая выставлена руководителем |
|
sessionCommentHead |
Комментарий руководителя к оценке или |
|
userId |
Идентификатор чата в формате |
|
message |
Сообщения чата, индексированные по идентификатору сообщения. Структура объекта подробно описана ниже |
|
usersMessage |
Связь чата и списка идентификаторов сообщений. Структура объекта подробно описана ниже |
|
users |
Объект участников чата, где ключ — идентификатор пользователя. Структура объекта подробно описана ниже |
|
openlines |
Данные открытой линии. Структура объекта подробно описана ниже |
|
userInGroup |
Пользователи, которые группированы по подразделениям, или пустой массив Структура объекта подробно описана ниже |
|
woUserInGroup |
Пользователи, которые не входят в подразделения из |
|
chat |
Данные чата по его идентификатору. Структура объекта подробно описана ниже |
|
userBlockChat |
Флаги блокировки чата пользователями. Структура объекта подробно описана ниже |
|
userInChat |
Состав участников чата или пустой массив. Структура объекта участников чата подробно описана ниже |
|
files |
Файлы, которые связаны с сообщениями, или пустой массив. Структура объекта файлов подробно описана ниже |
Объект message
|
Название |
Описание |
|
Объект сообщения. Структура объекта сообщения подробно описана ниже |
Объект messageItem
|
Название |
Описание |
|
id |
Идентификатор сообщения |
|
chatid |
Идентификатор чата |
|
senderid |
Идентификатор отправителя |
|
recipientid |
Получатель сообщения в формате |
|
date |
Дата и время сообщения в формате ISO 8601 (RFC3339) |
|
text |
Текст сообщения |
|
textlegacy |
Текст сообщения в legacy-формате |
|
params |
Служебные параметры сообщения |
Объект usersMessage
|
Название |
Описание |
|
chat<chatId> |
Массив идентификаторов сообщений, которые относятся к чату |
Объект users
|
Название |
Описание |
|
<userId> |
Данные пользователя. Структура объекта пользователя подробно описана ниже |
Объект userItem
|
Название |
Описание |
|
id |
Идентификатор пользователя |
|
name |
Имя и фамилия пользователя |
|
firstName |
Имя пользователя |
|
lastName |
Фамилия пользователя |
|
workPosition |
Должность или |
|
avatar |
Ссылка на аватар пользователя |
|
avatarId |
Идентификатор файла аватара или |
|
gender |
Пол пользователя |
|
extranet |
Признак экстранет-пользователя |
|
connector |
Признак пользователя коннектора |
|
profile |
Ссылка на профиль |
|
externalAuthId |
Внешний тип авторизации |
|
status |
Онлайн-статус или |
|
lastActivityDate |
Дата и время последней активности в формате ISO 8601 (RFC3339) |
|
departments |
Идентификаторы подразделений |
|
type |
Тип пользователя |
Объект openlines
|
Название |
Описание |
|
canvoteashead |
Объект вида |
Объект userInGroup
|
Название |
Описание |
|
<departmentId> |
Данные подразделения. Структура объекта подразделения подробно описана ниже |
Объект groupItem
|
Название |
Описание |
|
id |
Идентификатор подразделения |
|
users |
Список идентификаторов пользователей, которые входят в подразделение |
Объект chat
|
Название |
Описание |
|
<chatId> |
Данные чата. Структура объекта подразделения подробно описана ниже |
Объект chatItem
|
Название |
Описание |
|
id |
Идентификатор чата |
|
name |
Название чата |
|
owner |
Идентификатор владельца чата |
|
entityType |
Тип объекта чата |
|
entityId |
Внешний идентификатор чата |
|
entityData1 |
Строка с метаданными чата |
|
entityData2 |
Дополнительные метаданные чата |
|
entityData3 |
Дополнительные метаданные чата |
|
messageCount |
Количество сообщений в чате |
|
public |
Публичный признак чата |
|
muteList |
Объект, где ключ — идентификатор пользователя, а значение |
|
managerList |
Список идентификаторов операторов-менеджеров |
|
dateCreate |
Дата и время создания чата в формате ISO 8601 (RFC3339) |
|
type |
Тип чата |
|
entityLink |
Данные связи чата с открытой линией |
|
permissions |
Права доступа в чате |
|
textFieldEnabled |
Признак доступности поля ввода сообщений |
|
backgroundId |
Идентификатор фона чата или |
|
messageType |
Тип сообщений чата |
|
isNew |
Признак нового чата |
Объект userBlockChat
|
Название |
Описание |
|
<chatId> |
Объект с флагами блокировки пользователей в чате: ключ — идентификатор пользователя, значение — |
Объект userInChat
|
Название |
Описание |
|
<chatId> |
Массив идентификаторов пользователей, которые входят в чат |
Объект files
|
Название |
Описание |
|
<fileId> |
Данные файла. Структура объекта подробно описана ниже |
Объект fileItem
|
Название |
Описание |
|
id |
Идентификатор файла |
|
chatid |
Идентификатор чата |
|
date |
Дата и время загрузки в формате ISO 8601 (RFC3339) |
|
type |
Тип файла |
|
name |
Имя файла |
|
extension |
Расширение файла |
|
size |
Размер файла в байтах |
|
image |
Параметры изображения ( |
|
status |
Статус обработки файла |
|
progress |
Прогресс обработки в процентах |
|
authorid |
Идентификатор автора файла |
|
authorname |
Имя автора файла |
|
urlpreview |
URL предпросмотра файла |
|
urlshow |
URL просмотра файла |
|
urldownload |
URL скачивания файла |
|
viewerattrs |
Параметры просмотра файла в интерфейсе |
|
mediaurl |
URL медиафайла |
|
istranscribable |
Признак доступности расшифровки файла |
|
isvideonote |
Признак видео-заметки |
|
isvoicenote |
Признак голосовой заметки |
Обработка ошибок
HTTP-статус: 400
{
"error": "MISSING_REQUIRED_PARAM",
"error_description": "Session ID or Chat ID must be provided"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Код |
Описание |
Значение |
|
|
Session ID or Chat ID must be provided |
Не переданы |
|
|
Unable to determine session ID from provided parameters |
По переданным параметрам не удалось определить сессию |
|
|
Вы не можете открыть этот разговор, т.к. у вас недостаточно прав |
Недостаточно прав для просмотра истории, сессия не найдена или недоступна |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Получить чат по коду пользователя imopenlines.session.open
- Начать новый диалог imopenlines.session.start
- Присоединиться к диалогу imopenlines.session.join
- Забрать диалог у текущего оператора imopenlines.session.intercept
- Закрепить или открепить диалог imopenlines.session.mode.pin
- Закрепить все доступные диалоги за оператором imopenlines.session.mode.pinAll
- Открепить все закрепленные диалоги оператора imopenlines.session.mode.unpinAll
- Переключить диалог в скрытый режим imopenlines.session.mode.silent
- Поставить оценку работе сотрудника в диалоге imopenlines.session.head.vote
- Начать новый диалог на основании сообщения imopenlines.message.session.start
- Создать лид на основании диалога imopenlines.crm.lead.create
- Получить информацию о диалоге оператора imopenlines.dialog.get