#Bot-события (ONIMBOTV2*)
Приходят автоматически для всех ботов с eventMode: "fetch". Получаются через polling.
Каждое событие имеет структуру:
{
"eventId": 29,
"type": "ONIMBOTV2JOINCHAT",
"date": "2026-04-13T17:12:00+03:00",
"data": {
"dialogId": "chat3553",
"bot": { ... },
"chat": { ... },
"user": { ... },
"language": "ru"
}
}
| Поле | Тип | Описание |
|---|---|---|
eventId |
number | ID события — передайте как offset в следующем запросе polling |
type |
string | Код типа события |
date |
string | Дата и время (ISO 8601) |
data |
object | Данные события (структура зависит от типа) |
#Список событий
| Тип | Описание |
|---|---|
ONIMBOTV2MESSAGEADD |
Новое сообщение боту |
ONIMBOTV2MESSAGEUPDATE |
Сообщение отредактировано |
ONIMBOTV2MESSAGEDELETE |
Сообщение удалено |
ONIMBOTV2JOINCHAT |
Бот добавлен в чат |
ONIMBOTV2COMMANDADD |
Вызвана slash-команда |
ONIMBOTV2REACTIONCHANGE |
Реакция на сообщение бота |
ONIMBOTV2DELETE |
Бот удалён с портала |
ONIMBOTV2CONTEXTGET |
Запрошен контекст диалога |
#ONIMBOTV2MESSAGEADD
Новое сообщение боту (личное или @упоминание в групповом чате).
{
"eventId": 35,
"type": "ONIMBOTV2MESSAGEADD",
"date": "2026-04-13T17:15:00+03:00",
"data": {
"dialogId": "chat123",
"bot": {
"id": 42,
"code": "support_bot",
"type": "bot",
"isHidden": false,
"isReactionsEnabled": true,
"eventMode": "fetch"
},
"message": {
"id": 1501,
"chatId": 123,
"authorId": 1,
"date": "2026-04-13T17:15:00+03:00",
"text": "Привет, бот! Подскажи по задаче #42",
"isSystem": false,
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"forward": null,
"params": {
"FILE_ID": ["15423"]
},
"viewedByOthers": false
},
"chat": {
"id": 123,
"dialogId": "chat123",
"type": "chat",
"name": "Рабочий чат",
"owner": 1,
"color": "#64a513",
"entityType": "",
"entityId": "",
"permissions": {
"manageUsersAdd": "member",
"manageUsersDelete": "manager",
"manageSettings": "owner",
"manageMessages": "member",
"canPost": "member"
}
},
"user": {
"id": 1,
"active": true,
"name": "Иван Петров",
"firstName": "Иван",
"lastName": "Петров",
"workPosition": "Менеджер",
"color": "#1eb4aa",
"gender": "M",
"extranet": false,
"bot": false,
"status": "online",
"departments": [1, 5],
"type": "employee"
},
"language": "ru"
}
}
Поля data:
| Поле | Описание |
|---|---|
dialogId |
ID диалога |
bot |
Объект бота (id, code, type, eventMode) |
message.id |
ID сообщения — используйте для ответа через replyId |
message.params.FILE_ID |
Массив строк — ID прикреплённых файлов. Скачать: GET /files/:fileId |
message.forward |
Объект пересланного сообщения или null |
chat.entityType |
Тип привязки: LINES (открытая линия), CRM, пустая строка (обычный чат) |
chat.permissions |
Права в чате (manageUsersAdd, manageSettings и др.) |
user |
Автор сообщения (id, name, departments, status и др.) |
language |
Язык интерфейса пользователя |
#ONIMBOTV2MESSAGEUPDATE
Сообщение отредактировано. Структура аналогична MESSAGEADD — message содержит обновлённый текст.
#ONIMBOTV2MESSAGEDELETE
Сообщение удалено. Вместо объекта message содержит messageId (число).
{
"eventId": 37,
"type": "ONIMBOTV2MESSAGEDELETE",
"date": "2026-04-13T17:16:00+03:00",
"data": {
"dialogId": "chat123",
"bot": { "id": 42, "code": "support_bot", "type": "bot" },
"messageId": 1501,
"chat": { "id": 123, "dialogId": "chat123", "type": "chat", "name": "Рабочий чат" },
"user": { "id": 1, "name": "Иван Петров" }
}
}
#ONIMBOTV2JOINCHAT
Бот добавлен в чат. user — кто добавил бота.
{
"eventId": 29,
"type": "ONIMBOTV2JOINCHAT",
"date": "2026-04-13T17:12:00+03:00",
"data": {
"dialogId": "chat3553",
"bot": { "id": 42, "code": "support_bot", "type": "bot", "eventMode": "fetch" },
"chat": {
"id": 3553,
"dialogId": "chat3553",
"type": "chat",
"name": "Отдел продаж",
"owner": 42,
"color": "#64a513",
"permissions": { "manageUsersAdd": "member", "manageSettings": "owner" }
},
"user": { "id": 3, "name": "Мария Сидорова", "workPosition": "Руководитель" },
"language": "ru"
}
}
#ONIMBOTV2COMMANDADD
Вызвана slash-команда бота. Содержит дополнительный объект command.
{
"eventId": 40,
"type": "ONIMBOTV2COMMANDADD",
"date": "2026-04-13T17:18:00+03:00",
"data": {
"dialogId": "chat123",
"bot": { "id": 42, "code": "support_bot", "type": "bot" },
"message": { "id": 1510, "text": "/help задачи" },
"chat": { "id": 123, "dialogId": "chat123" },
"user": { "id": 1, "name": "Иван Петров" },
"command": {
"id": 7,
"command": "help",
"params": "задачи",
"context": "textarea"
}
}
}
Поля command:
| Поле | Описание |
|---|---|
id |
ID команды |
command |
Текст команды без / |
params |
Параметры, введённые после команды |
context |
Откуда вызвана: textarea (поле ввода), keyboard (кнопка), menu (контекстное меню) |
Для ответа используйте POST /commands/:commandId/answer с messageId из message.id.
#ONIMBOTV2REACTIONCHANGE
Реакция добавлена или удалена на сообщение бота.
{
"eventId": 42,
"type": "ONIMBOTV2REACTIONCHANGE",
"date": "2026-04-13T17:19:00+03:00",
"data": {
"dialogId": "chat123",
"bot": { "id": 42, "code": "support_bot", "type": "bot" },
"reaction": "like",
"action": "add",
"message": { "id": 1502, "text": "Привет! Чем могу помочь?" },
"chat": { "id": 123, "dialogId": "chat123" },
"user": { "id": 1, "name": "Иван Петров" }
}
}
| Поле | Описание |
|---|---|
reaction |
Код реакции (см. коды реакций) |
action |
"add" — добавлена, "delete" — удалена |
#ONIMBOTV2DELETE
Бот удалён с портала. Содержит только объект bot — без chat и user.
{
"eventId": 50,
"type": "ONIMBOTV2DELETE",
"date": "2026-04-13T17:25:00+03:00",
"data": {
"bot": { "id": 42, "code": "support_bot", "type": "bot" }
}
}
#ONIMBOTV2CONTEXTGET
Запрошен контекст диалога (например, из CRM-карточки). Содержит объект context.
{
"eventId": 45,
"type": "ONIMBOTV2CONTEXTGET",
"date": "2026-04-13T17:20:00+03:00",
"data": {
"dialogId": "chat789",
"bot": { "id": 42, "code": "support_bot", "type": "bot" },
"context": {
"entityId": "DEAL_15",
"entityType": "CRM",
"source": "sidepanel"
},
"chat": { "id": 789, "dialogId": "chat789", "name": "Сделка: Поставка оборудования" },
"user": { "id": 5, "name": "Алексей Козлов" }
}
}
| Поле | Описание |
|---|---|
context.entityId |
ID сущности (например, DEAL_15) |
context.entityType |
Тип сущности (CRM и др.) |
context.source |
Откуда открыт: sidepanel, chat и др. |
#Общие объекты в событиях
Все события (кроме ONIMBOTV2DELETE) содержат объекты bot, chat, user с одинаковой структурой. Полные объекты показаны в примере ONIMBOTV2MESSAGEADD выше. В сокращённых примерах показаны только ключевые поля.
#Смотрите также
- Получить события — endpoint для polling
- User-события — подписка на чаты
- Отправить сообщение — ответ на MESSAGEADD
- Ответить на команду — обработка COMMANDADD
- Коды реакций — для REACTIONCHANGE
- Бот-платформа — обзор, быстрый старт