Для AI-агентов: markdown этой страницы — /docs-content/bots/events/user-events.md индекс документации — /llms.txt
User-события (ONIMV2*)
Общий первый шаг — подписка: POST /v1/chats/events/subscribe (скоуп im, не imbot). Без активной подписки Битрикс24 не регистрирует пользовательские события.
Дальше события забирают одним из двух способов:
- Вместе с bot-событиями — передать
withUserEvents=trueв polling бота. Bot-события (ONIMBOTV2*) и user-события (ONIMV2*) приходят в одном массивеevents. - Отдельным опросом от имени пользователя —
GET /v1/chats/events. Не требует зарегистрированного бота, подходит для агентов, работающих от имени пользователя.
Список событий
| Событие | Описание |
|---|---|
| ONIMV2MESSAGEADD | Новое сообщение в подписанном чате |
ONIMV2MESSAGEUPDATE |
Сообщение отредактировано |
ONIMV2MESSAGEDELETE |
Сообщение удалено |
ONIMV2JOINCHAT |
Участник зашёл в чат |
ONIMV2REACTIONCHANGE |
Реакция изменена |
ONIMV2MESSAGEADD
Новое сообщение в подписанном чате. Объект message совпадает по составу с событиями ботов, но ключи внутри params — в camelCase.
{
"eventId": 46,
"type": "ONIMV2MESSAGEADD",
"date": "2026-04-13T17:15:14+03:00",
"data": {
"message": {
"id": 1520,
"chatId": 123,
"authorId": 17,
"text": "Да, согласен",
"isSystem": false,
"forward": null,
"params": { "replyId": "1518" }
},
"chat": { "id": 123, "dialogId": "chat123", "type": "chat", "name": "Рабочий чат" },
"user": { "id": 17, "name": "Иван Петров", "type": "user" },
"language": "ru"
}
}
Поля data:
| Поле | Тип | Описание |
|---|---|---|
message.id |
number | ID сообщения |
message.text |
string | Текст сообщения |
message.authorId |
number | ID автора |
message.params.replyId |
string | Ответ на сообщение: ID процитированного сообщения |
chat.dialogId |
string | ID диалога |
user |
object | Автор сообщения (id, name и др.) |
language |
string | Язык интерфейса пользователя |
Известные особенности
Отдельный скоуп: подписка и отписка требуют скоуп im, а не imbot.