Для AI-агентов: markdown этой страницы — /docs-content/openlines/history.md индекс документации — /llms.txt
История сессии
Эндпоинт включается платформой Вайбкод постепенно. Пока он не включён на платформе, вызов возвращает
403 OPENLINES_HISTORY_DISABLED— это признак того, что возможность ещё не активирована, а не ошибка интеграции.
POST /v1/openlines/sessions/history
Возвращает транскрипт последней сессии чата Открытой линии по его идентификатору: сообщения, участников и метаданные файлов одним ответом. Метод отдаёт содержимое переписки с клиентом, поэтому требует ключа со скоупом imopenlines и применяет модель прав Битрикс24.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
chatId |
number | string | да | Идентификатор чата Открытой линии. Принимается число (2043) и форма chat2043. Источник: chatId из GET /v1/chats/recent или из события бота |
dialogId |
string | да | Тот же чат в форме chat2043 — альтернатива chatId. Достаточно одного из двух полей |
Вход только по идентификатору чата. По нему платформа берёт последнюю сессию этого чата — то есть транскрипт текущего диалога. Идентификатор конкретной исторической сессии на вход не принимается.
Пагинации у метода нет: транскрипт возвращается целиком одним ответом. Для постраничного чтения сообщений чата используйте GET /v1/chats/:dialogId/messages.
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
sessionId |
number | Идентификатор сессии, к которой относится транскрипт |
chatId |
number | Идентификатор чата |
messages |
object[] | Сообщения по возрастанию id |
messages[].id |
number | Идентификатор сообщения |
messages[].senderId |
number | Отправитель (0 — системное сообщение) |
messages[].recipientId |
number | Получатель |
messages[].date |
string | Дата, ISO 8601 |
messages[].text |
string | Текст сообщения |
messages[].textLegacy |
string | Текст в устаревшем формате разметки |
messages[].params |
object | Дополнительные параметры сообщения. Контейнер заполняет коннектор, и его содержимое передаётся как есть, без изменений. В нём могут оказаться контактные и CRM-данные обратившегося |
users |
object[] | Участники диалога |
users[].id |
number | Идентификатор пользователя |
users[].name |
string | Отображаемое имя |
users[].firstName |
string | Имя |
users[].lastName |
string | Фамилия |
users[].workPosition |
string | Должность |
users[].connector |
boolean | Признак пользователя-коннектора (клиента) |
files |
object[] | Файлы, приложенные к сообщениям |
files[].id |
number | Идентификатор файла |
files[].name |
string | Имя файла |
files[].size |
number | Размер, байты |
files[].urlDownload |
string | Ссылка на скачивание |
chats |
object[] | Метаданные чата |
chats[].dialogId |
string | Идентификатор диалога в форме chat<N> |
chats[].entityType |
string | Тип сущности чата (LINES для Открытых линий) |
usersMessage |
object | Карта: идентификатор чата → список идентификаторов сообщений |
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/openlines/sessions/history" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "chatId": 2043 }'
Ответ
{
"success": true,
"data": {
"sessionId": 607,
"chatId": 2043,
"messages": [
{
"id": 88101,
"senderId": 0,
"recipientId": 13,
"date": "2026-08-14T10:12:33+03:00",
"text": "Здравствуйте, не приходит счёт",
"textLegacy": "Здравствуйте, не приходит счёт",
"params": {}
}
],
"users": [
{ "id": 13, "name": "Анна Соколова", "firstName": "Анна", "lastName": "Соколова", "workPosition": "Оператор", "connector": false }
],
"files": [],
"chats": [
{ "dialogId": "chat2043", "entityType": "LINES" }
],
"usersMessage": { "chat2043": ["88101"] }
}
}
Ошибки
| Код | HTTP | Причина |
|---|---|---|
OPENLINES_HISTORY_DISABLED |
403 | Возможность ещё не включена на платформе Вайбкод |
SCOPE_DENIED |
403 | У ключа нет скоупа imopenlines |
MISSING_PARAMS |
400 | Не передан chatId или dialogId, либо значение некорректно |
ENTITY_NOT_FOUND |
404 | Для указанного чата нет сессии |
BITRIX_ACCESS_DENIED |
403 | У пользователя ключа нет доступа к этому диалогу |