imopenlines.session.history.get
Получить историю сообщений диалога
Описание
Метод imopenlines.session.history.get возвращает историю сообщений сессии открытой линии.
Параметры
SESSION_ID
integer
необязательный
Идентификатор сессии открытой линии.
Идентификатор можно получить методом imopenlines.dialog.get из поля entity_data_1. Идентификатор SESSION_ID находится в шестом параметре строки entity_data_1. Например, для ``"entity_data_1":"Y|LEAD|1205|N|N|321|1773223732|0|0|0"` идентификатор сессии — 321`
CHAT_ID
integer
необязательный
Числовой идентификатор чата открытой линии без префикса chat. Например, 1763, не chat1763.
Идентификатор можно получить методами imopenlines.dialog.get или imopenlines.crm.chat.get
Примеры запроса
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
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type SessionHistoryResult = {
chatId: number
canJoin: string
canVoteHead: string
sessionId: number
sessionVoteHead: number
sessionCommentHead: string | null
userId: string
message: Record<string, {
id: string
chatid: string
senderid: string
recipientid: string
date: ISODate
text: string
textlegacy: string
params: Record<string, unknown>
}>
usersMessage: Record<string, string[]>
users: Record<string, {
id: string
name: string
firstName: string
lastName: string
workPosition: string | null
avatar: string
avatarId: string | null
gender: string
extranet: boolean
connector: boolean
profile: string
externalAuthId: string
status: string | null
lastActivityDate: ISODate
departments: number[]
type: string
}>
openlines: Record<string, Record<string, boolean>>
userInGroup: Record<string, { id: number; users: string[] }>
woUserInGroup: string[]
chat: Record<string, {
id: string
name: string
owner: string
entityType: string
entityId: string
entityData1: string
entityData2: string
entityData3: string
messageCount: number
public: string
muteList: Record<string, boolean>
managerList: number[]
dateCreate: ISODate
type: string
entityLink: Record<string, unknown>
permissions: Record<string, string>
textFieldEnabled: boolean
backgroundId: number | null
messageType: string
isNew: boolean
}>
userBlockChat: Record<string, Record<string, boolean>>
userInChat: Record<string, number[]>
files: Record<string, {
id: number
chatid: number
date: ISODate
type: string
name: string
extension: string
size: number
status: string
progress: number
authorid: number
authorname: string
urlpreview: string
urlshow: string
urldownload: string
}>
}
try {
const response = await $b24.actions.v2.call.make<SessionHistoryResult>({
method: 'imopenlines.session.history.get',
params: {
SESSION_ID: 321,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info(result.sessionId, result.chatId, Object.keys(result.message).length)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function getSessionHistory() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'imopenlines.session.history.get',
params: {
SESSION_ID: 321,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info(result.sessionId, result.chatId, Object.keys(result.message).length)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getSessionHistory)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.imopenlines.session.history.get(
session_id=321,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {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);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imopenlines.session.history.get", b24.Params{
"SESSION_ID": 321,
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("imopenlines.session.history.get: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
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
object
Корневой объект ответа.
Структура объекта подробно описана ниже
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "MISSING_REQUIRED_PARAM",
"error_description": "Session ID or Chat ID must be provided"
}
| Код | Описание | Значение |
|---|---|---|
MISSING_REQUIRED_PARAM |
Session ID or Chat ID must be provided | Не переданы SESSION_ID и CHAT_ID |
INVALID_SESSION_ID |
Unable to determine session ID from provided parameters | По переданным параметрам не удалось определить сессию |
ACCESS_DENIED |
Вы не можете открыть этот разговор, т.к. у вас недостаточно прав | Недостаточно прав для просмотра истории, сессия не найдена или недоступна |

