Для AI-агентов: markdown этой страницы — /docs-content/openlines/dialog.md индекс документации — /llms.txt
Метаданные диалога
POST /v1/openlines/dialogs/lookup
Находит диалог Открытой линии по идентификатору чата или сессии и возвращает его карточку вместе с идентификатором линии. Переписку метод не возвращает, она доступна через историю сессии.
Поля запроса (body)
Передайте ровно одно из трёх полей.
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
ПолеchatId |
Типnumber | string | Обяз.нет | ОписаниеИдентификатор чата Открытой линии: число 2043 или строка chat2043. Источник: sessions[].chatId в ответе POST /v1/openlines/sessions/search или GET /v1/openlines/crm/chats по карточке CRM |
ПолеdialogId |
Типstring | Обяз.нет | ОписаниеТот же чат, только в форме chat2043. Число в этом поле отклоняется с 400 INVALID_PARAMS |
ПолеsessionId |
Типnumber | string | Обяз.нет | ОписаниеИдентификатор сессии Открытой линии — целое положительное число, допустима и строка из цифр. Источник: sessions[].id в ответе POST /v1/openlines/sessions/search |
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/openlines/dialogs/lookup" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "chatId": 2043 }'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/openlines/dialogs/lookup" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "chatId": 2043 }'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/openlines/dialogs/lookup', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ chatId: 2043 }),
})
const { data } = await res.json()
console.log(data.lineId)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/openlines/dialogs/lookup', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ chatId: 2043 }),
})
const { data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | Описаниеtrue при успешном запросе |
Полеdata.id |
Типnumber | ОписаниеИдентификатор чата диалога |
Полеdata.dialogId |
Типstring | ОписаниеИдентификатор диалога в форме chat<N> |
Полеdata.name |
Типstring | ОписаниеНазвание диалога |
Полеdata.description |
Типstring | null | ОписаниеОписание диалога |
Полеdata.type |
Типstring | ОписаниеТип чата, у Открытой линии — lines |
Полеdata.entityType |
Типstring | ОписаниеТип сущности чата, у Открытой линии — LINES |
Полеdata.messageCount |
Типnumber | ОписаниеЧисло сообщений в диалоге |
Полеdata.lastMessageId |
Типnumber | ОписаниеИдентификатор последнего сообщения |
Полеdata.dateCreate |
Типstring | ОписаниеДата создания диалога, ISO 8601 |
Полеdata.textFieldEnabled |
Типboolean | ОписаниеДоступно ли поле ввода сообщения |
Полеdata.isNew |
Типboolean | ОписаниеПризнак нового диалога |
Полеdata.lineId |
Типnumber | null | ОписаниеИдентификатор линии. Полная настройка линии — GET /v1/openline-configs/:id. null, если линию определить не удалось |
Пример ответа
{
"success": true,
"data": {
"id": 2043,
"dialogId": "chat2043",
"name": "Telegram: Иван",
"description": null,
"type": "lines",
"entityType": "LINES",
"messageCount": 36,
"lastMessageId": 2109,
"dateCreate": "2026-08-14T10:12:30+03:00",
"textFieldEnabled": true,
"isNew": false,
"lineId": 1
}
}
Пример ответа при ошибке
403 — диалога с таким идентификатором нет либо у пользователя ключа нет к нему доступа:
{
"success": false,
"error": {
"code": "BITRIX_ACCESS_DENIED",
"message": "You do not have access to this Open Line dialog",
"hint": "Bitrix24 refused imopenlines.dialog.get with ACCESS_ERROR. Two possible causes: (1) the Open Line dialog does not exist, or (2) the Bitrix24 user this call runs as has no access to it. The cause is not determined; check the dialog identifier and whether that user can open this dialog in Bitrix24.",
"cause": "unknown",
"method": "imopenlines.dialog.get",
"fix": { "action": "none" }
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP400 | КодMISSING_PARAMS |
ОписаниеНе передан ни один из идентификаторов chatId, dialogId, sessionId |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеПереданы одновременно идентификатор чата и sessionId |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеЗначение идентификатора некорректно: chatId или sessionId не целое положительное число, dialogId не в форме chat<N> |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеТело запроса не JSON-объект |
| HTTP400 | КодINVALID_JSON_BODY |
ОписаниеТело запроса не разобралось как JSON |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеУ ключа нет настроенных токенов Битрикс24 |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеУ ключа нет скоупа imopenlines |
| HTTP403 | КодBITRIX_ACCESS_DENIED |
ОписаниеДиалога нет, чат не относится к Открытой линии либо у пользователя ключа нет доступа к диалогу. Ответ причины не различает, поле hint называет обе причины |
| HTTP404 | КодENTITY_NOT_FOUND |
ОписаниеБитрикс24 ответил пустым результатом вместо карточки диалога |
| HTTP429 | КодRATE_LIMITED |
ОписаниеПревышен собственный лимит метода: потолок платформы 300 запросов в минуту на портал, а не на ключ, делится на реплики. Действующее значение приходит в заголовке x-ratelimit-limit |
| HTTP502 | КодBITRIX_UNAVAILABLE |
ОписаниеБитрикс24 вернул ответ неожиданной формы |
Полный список общих ошибок API — Ошибки.