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

Сообщения вокруг сообщения

GET /v1/chats/messages/:messageId/context

Возвращает сообщение и соседние с ним — метод мессенджера v2 im.v2.Chat.Message.getContext. Нужен, чтобы открыть чат на конкретном сообщении: по ссылке, из поиска или из ответа на сообщение. Чат определяется по сообщению, dialogId не нужен.

Параметры

Параметр Тип Обяз. По умолч. Описание
messageId (path) number да — ID сообщения, положительное целое — поле id сообщения из ленты или загрузки чата
range (query) number нет 50 Сколько сообщений взять по каждую сторону: до range сообщений до указанного, само сообщение и до range после. От 1 до 200: значение вне диапазона срезается, эхо — meta.requestedRange и meta.appliedRange

Другие параметры и повторы отклоняются с 400 INVALID_PARAMS.

Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/chats/messages/1002/context?range=10" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/chats/messages/1002/context?range=10" \
  -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/messages/1002/context?range=10', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { data } = await res.json()
console.log('Сообщения:', data.messages.map((m) => m.id))

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/messages/1002/context?range=10', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { data } = await res.json()
console.log('Сообщения:', data.messages.map((m) => m.id))

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.messages array Указанное сообщение и соседние с ним
data.messages[].id number ID сообщения — курсор lastId следующей страницы и messageId для сообщений вокруг сообщения
data.messages[].chatId number ID чата — совпадает с data.chat.id загрузки чата
data.messages[].authorId number ID автора — профиль в data.users этого же ответа или по ID пользователя. 0 — системное сообщение
data.messages[].date string Дата отправки (ISO 8601)
data.messages[].text string Текст сообщения
data.messages[].params object Дополнительные параметры сообщения, ключи в camelCase
data.users array Авторы сообщений страницы
data.files array Файлы сообщений страницы
data.reactions array Реакции на сообщения страницы
data.hasPrevPage boolean Есть сообщения старше страницы
data.hasNextPage boolean Есть сообщения новее страницы
meta.requestedRange number Переданный range, когда он вышел за диапазон от 1 до 200
meta.appliedRange number Применённое значение range

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

JSON
{
  "success": true,
  "data": {
    "messages": [
      {
        "id": 1001,
        "chatId": 42,
        "authorId": 5,
        "date": "2026-09-20T10:00:00+03:00",
        "text": "Посмотрите макет",
        "params": {}
      },
      {
        "id": 1002,
        "chatId": 42,
        "authorId": 7,
        "date": "2026-09-20T10:01:00+03:00",
        "text": "Всё готово",
        "params": {}
      }
    ],
    "users": [],
    "files": [],
    "reactions": [],
    "hasPrevPage": false,
    "hasNextPage": true
  }
}

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

422 — сообщения нет на портале:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "MESSAGE_NOT_FOUND",
    "b24Code": "MESSAGE_NOT_FOUND"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS messageId не положительное целое, параметр кроме range, повтор параметра или некорректное значение. Проверяется до обращения к Битрикс24
404 ENTITY_NOT_FOUND Битрикс24 вернул «не найдено»; код портала — в error.b24Code
422 BITRIX_ERROR Битрикс24 вернул ошибку; код портала — в error.b24Code. Сюда же приходит отсутствующее сообщение: портал присылает MESSAGE_NOT_FOUND без текста, и в message повторяется код, поэтому это не 404
403 BITRIX_ACCESS_DENIED У пользователя нет доступа к чату — Битрикс24 отказал с кодом ACCESS_DENIED
403 SCOPE_DENIED API-ключ не имеет скоупа im
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения: вызов может сделать владельца ключа участником чата — см. права доступа
401 TOKEN_MISSING API-ключ не имеет настроенных токенов Битрикс24

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

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

Открытие контекста может сделать вас участником. Если чат сообщения разрешает автовступление, вызов добавляет текущего пользователя в участники — как загрузка чата. Поэтому вызов считается изменяющим: ключ только для чтения получает 403 WRITE_BLOCKED_READONLY_KEY.

Ключи ответа. Ключи-имена полей приводятся к camelCase: параметр сообщения FILE_ID приходит как fileId. Ключи-данные остаются как есть: словарь data.copilot.roles ключуется кодом роли, и copilot_assistant приходит как copilot_assistant — тем же значением, что role у чата и сообщения в data.copilot, поэтому роль находится прямым обращением roles[role]. Поля внутри роли приводятся к camelCase как обычно.

Дальше — лента. Более старые сообщения читайте лентой в режиме v2 с lastId, равным наименьшему id страницы, более новые — с order=asc и lastId, равным наибольшему.

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