Для AI-агентов: markdown этой страницы — /docs-content/chats/messages/reactions-list.md индекс документации — /llms.txt
Список реакций на сообщение
GET /v1/chats/messages/:messageId/reactions
Возвращает постранично, кто и как отреагировал на сообщение.
Чат определяется по сообщению, dialogId не нужен. Коды реакций — на странице Поставить реакцию.
Параметры
| Параметр | Тип | Обяз. | По умолч. | Описание |
|---|---|---|---|---|
messageId (path) |
number | да | — | ID сообщения, положительное целое — из ленты чата (GET /v1/chats/:dialogId/messages) или из ответа отправки |
reaction (query) |
string | нет | — | Только реакции с этим кодом, в camelCase |
lastId (query) |
number | нет | — | Курсор: id последней реакции предыдущей страницы. Сама граница в страницу не входит |
order (query) |
string | нет | desc |
desc — сначала новые, asc — сначала старые |
limit (query) |
number | нет | 50 | Реакций на странице, от 1 до 200: значение вне диапазона срезается, эхо — meta.requestedLimit и meta.appliedLimit |
Другие параметры и повторы отклоняются с 400 INVALID_PARAMS.
Примеры
curl — личный ключ
curl -X GET "https://vibecode.bitrix24.tech/v1/chats/messages/1001/reactions?limit=20" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl -X GET "https://vibecode.bitrix24.tech/v1/chats/messages/1001/reactions?limit=20" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/messages/1001/reactions?limit=20', {
method: 'GET',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { data } = await res.json()
console.log('Реакции:', data.reactions.map((r) => `${r.userId}: ${r.reaction}`))
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/messages/1001/reactions?limit=20', {
method: 'GET',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
console.log('Реакции:', data.reactions.map((r) => `${r.userId}: ${r.reaction}`))
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data.reactions |
array | Реакции страницы |
data.reactions[].id |
number | ID реакции — курсор lastId следующей страницы |
data.reactions[].messageId |
number | ID сообщения |
data.reactions[].userId |
number | ID пользователя, поставившего реакцию |
data.reactions[].reaction |
string | Код реакции |
data.reactions[].dateCreate |
string | Когда реакция поставлена (ISO 8601) |
data.users |
array | Пользователи, поставившие реакции страницы: id, name, firstName, lastName, avatar и другие поля пользователя мессенджера |
data.hasNextPage |
boolean | Есть ещё реакции за страницей |
meta.requestedLimit |
number | Переданный limit, когда он вышел за диапазон от 1 до 200 |
meta.appliedLimit |
number | Применённое значение limit — только если он был приведён к границе |
Пример ответа
Показаны основные поля пользователя.
{
"success": true,
"data": {
"users": [
{
"id": 5,
"active": true,
"name": "Анна Смирнова",
"firstName": "Анна",
"lastName": "Смирнова",
"avatar": "",
"bot": false,
"type": "user"
}
],
"reactions": [
{
"id": 13,
"messageId": 1001,
"userId": 5,
"reaction": "fire",
"dateCreate": "2026-10-06T09:18:54+03:00"
},
{
"id": 9,
"messageId": 1001,
"userId": 5,
"reaction": "like",
"dateCreate": "2026-10-06T09:18:53+03:00"
}
],
"hasNextPage": false
}
}
Пример ответа при ошибке
422 — сообщения нет:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "MESSAGE_NOT_FOUND",
"b24Code": "MESSAGE_NOT_FOUND"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_PARAMS |
messageId не положительное целое, параметр кроме reaction, lastId, order, limit, повтор параметра, код реакции не в camelCase или некорректное значение. Проверяется до обращения к Битрикс24 |
| 404 | ENTITY_NOT_FOUND |
Битрикс24 вернул «не найдено», код портала — в error.b24Code |
| 422 | BITRIX_ERROR |
Битрикс24 вернул ошибку, код — в error.b24Code, например MESSAGE_NOT_FOUND — сообщения нет |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа im |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Чтение в режиме READONLY недоступно ключу приложения, менеджмент-ключу или ключу с неподтверждённым видом владельца |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов Битрикс24 |
Полный список общих ошибок API — Ошибки.
Известные особенности
Список реакций может сделать вас участником. Если чат сообщения разрешает автовступление, чтение списка может добавить текущего пользователя в участники — как загрузка чата. Обычному личному ключу сотрудника в режиме READONLY список доступен. Это чтение само не отмечает сообщения прочитанными.
Счётчики — в ленте. Сводка реакций по сообщениям страницы — reactionCounters, ownReactions — приходит в коллекции reactions ленты в режиме v2. Этот эндпоинт нужен, чтобы узнать, кто именно отреагировал.