Для AI-агентов: markdown этой страницы — /docs-content/chats/discovery/get.md индекс документации — /llms.txt

Информация о диалоге

GET /v1/chats/:dialogId

Возвращает данные о диалоге — личном или групповом чате.

Параметры

Параметр Тип Обяз. Описание
dialogId (path) string да Идентификатор диалога. Числовой ID для личного чата (1), chatN для группового чата (chat42), или литерал me — текущий пользователь (см. Обзор раздела). chatN — поле id строки последних диалогов, ID пользователя — из списка пользователей
format (query) string нет v2 включает режим v2 — см. «Режим v2» ниже. Любое другое значение игнорируется, ответ прежний

Режим v2. format=v2 читает чат. В data приходит объект { chat, recentConfig, parentChat, copilot, messagesAutoDeleteConfigs, callInfo }, ключи в camelCase: chat — карточка чата с permissions, но без прежних counter, restrictions и readedList, остальное — контекст чата. Режим принимает только format. Другой параметр или повтор отклоняется с 400 INVALID_PARAMS. Режим v2 может сделать вас участником: если чат разрешает автовступление — например, чат комментариев, коллаб или чат задачи, — вызов добавляет текущего пользователя в участники, как загрузка чата. В режиме v2 эта точечная операция чтения доступна ключу READONLY, только если это личный ключ сотрудника со скоупом im. Она сама не отмечает сообщения прочитанными.

Ключ только чтения. В режиме READONLY этот запрос читает существующий чат: передайте его chatN либо числовой ID собеседника, подтверждённый в последних диалогах того же сотрудника. Для me проверяется уже существующий личный диалог. Проверка просматривает не больше 4000 исходных строк последних диалогов. Если привязка не подтверждена, ответ — 403 WRITE_BLOCKED_READONLY_KEY, без обращения к методу, который мог бы создать чат. Границы проверки и разрешённых эффектов чтения — в правах доступа.

Примеры

curl — личный ключ

Terminal
curl https://vibecode.bitrix24.tech/v1/chats/1 \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl https://vibecode.bitrix24.tech/v1/chats/1 \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/1', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Диалог:', data.name, 'тип:', data.type)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/1', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { data } = await res.json()

curl — режим v2

Terminal
curl "https://vibecode.bitrix24.tech/v1/chats/chat42?format=v2" \
  -H "X-Api-Key: YOUR_API_KEY"

Поля ответа

Показаны основные поля. Ответ содержит полный объект диалога.

Поле Тип Описание
success boolean Всегда true при успехе
data object Объект диалога
data.id number Идентификатор диалога
data.name string Название чата
data.description string Описание чата
data.type string Тип диалога: private — личный, chat — групповой, open — открытый канал
data.owner number ID владельца. Источник: GET /v1/users
data.color string Цвет чата в формате #rrggbb
data.avatar string URL аватара чата
data.counter number Количество непрочитанных сообщений для текущего пользователя
data.userCounter number Количество участников
data.messageCount number Общее количество сообщений в чате
data.lastId number ID последнего сообщения. Используется как курсор в GET /v1/chats/:dialogId/messages
data.dialogId string Идентификатор диалога в формате, принятом Битрикс24
data.dateCreate string Дата создания (ISO 8601)
data.role string Роль текущего пользователя: owner, manager, member
data.entityType string Тип привязанной CRM-сущности (CRM, FAVORITE, и др.) или пустая строка
data.entityId string Идентификатор привязанной CRM-сущности или пустая строка
data.restrictions object Ограничения действий в чате (см. ниже)
data.permissions object Права управления чатом (см. ниже)
data.restrictions.avatar boolean Текущий пользователь может сменить аватар
data.restrictions.rename boolean Текущий пользователь может переименовать чат
data.restrictions.extend boolean Текущий пользователь может приглашать участников
data.restrictions.call boolean Текущий пользователь может инициировать звонок
data.restrictions.leave boolean Текущий пользователь может покинуть чат
data.restrictions.send boolean Текущий пользователь может отправлять сообщения
data.permissions.manageUsersAdd string Кто может добавлять участников: owner, manager, member
data.permissions.manageUsersDelete string Кто может удалять участников
data.permissions.manageSettings string Кто может изменять настройки чата
data.permissions.canPost string Кто может отправлять сообщения
data.chat object Режим v2: карточка чата — id, dialogId, name, type, owner, role, parentChatId, managerList, permissions и другие поля
data.recentConfig object Режим v2: в каких разделах списка чатов виден чат — chatId и sections
data.parentChat object|null Режим v2: краткая карточка родительского чата — см. родительский чат. null, если родителя нет или к нему нет доступа
data.copilot object|null Режим v2: роли CoPilot в чате. null вне чатов CoPilot
data.messagesAutoDeleteConfigs array Режим v2: настройки автоудаления сообщений
data.callInfo object Режим v2: данные звонка в чате — chatId и token, звонковый токен текущего пользователя. Эндпоинт передаёт его без изменений. Не пишите его в журналы

Пример ответа

Диалог «Избранное», запрошенный с dialogId = me:

JSON
{
  "success": true,
  "data": {
    "id": 253,
    "name": "Избранное",
    "description": "",
    "owner": 1,
    "type": "private",
    "color": "#4ba984",
    "avatar": "",
    "counter": 0,
    "userCounter": 1,
    "messageCount": 1,
    "lastId": 9357,
    "dialogId": "1",
    "dateCreate": "2024-03-15T10:30:00+03:00",
    "role": "owner",
    "entityType": "FAVORITE",
    "entityId": "",
    "restrictions": {
      "avatar": true,
      "rename": true,
      "extend": true,
      "call": true,
      "mute": true,
      "leave": true,
      "leaveOwner": true,
      "send": true,
      "userList": true
    },
    "permissions": {
      "manageUsersAdd": "member",
      "manageUsersDelete": "manager",
      "manageUi": "member",
      "manageSettings": "owner",
      "manageMessages": "member",
      "canPost": "member"
    }
  }
}

Пример ответа при ошибке

422 — диалог недоступен или не существует:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "You do not have access to the specified dialog"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS Только режим v2: параметр вне format или повтор параметра. Проверяется до обращения к Битрикс24
422 BITRIX_ERROR Без format: диалог недоступен или не существует — Битрикс24 вернул ошибку доступа. В режиме v2 — несуществующий чат: код портала в error.b24Code, CHAT_NOT_FOUND
502 ME_ALIAS_RESOLUTION_FAILED Не удалось определить ID текущего пользователя при использовании алиаса me
403 BITRIX_ACCESS_DENIED Только режим v2: у пользователя нет доступа к чату — Битрикс24 отказал с кодом ACCESS_DENIED
403 WRITE_BLOCKED_READONLY_KEY Режим только чтения: существующий чат не подтверждён в ограниченном окне последних диалогов либо передан создающий или неоднозначный алиас. Вызывающий создание метод не отправляется на портал
403 SCOPE_DENIED API-ключ не имеет скоупа im
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

Известные особенности

  • Числовой dialogId, равный ID текущего пользователя, открывает диалог «Избранное».

Смотрите также