При отправке сообщений OnImConnectorMessageAdd
Scope:
imconnectorКто может подписаться: любой пользователь
Событие OnImConnectorMessageAdd срабатывает, когда сообщение отправляется из открытой линии Битрикс24 в канал внешней системы через пользовательский коннектор.
Событие не срабатывает:
- при получении входящего сообщения из канала внешней системы
- для встроенных коннекторов
После обработки события вызовите метод imconnector.send.status.delivery, чтобы отметить доставку сообщения в канале внешней системы.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Что получает обработчик
Данные передаются в виде POST-запроса
{
"event": "ONIMCONNECTORMESSAGEADD",
"event_handler_id": 555,
"data": {
"CONNECTOR": "myconnector",
"LINE": 107,
"MESSAGES": [
{
"im": {
"chat_id": 1807,
"message_id": 86497
},
"message": {
"user_id": 27,
"text": "[b]Светлана Иванова:[/b] [br]Добрый день!"
},
"chat": {
"id": "channel-123"
}
}
]
},
"ts": 1773759161,
"auth": {
"access_token": "c978b990071b0008440001b0895f697a",
"expires": 1773762761,
"expires_in": 3600,
"scope": "imconnector, imopenlines",
"domain": "some-domain.bitrix24.ru",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"status": "F",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"member_id": "bac1cd5c8940947a75e0d71b1a84e348",
"user_id": 27,
"application_token": "831c76b092f9f135d9b6b36c3a720757"
}
}
|
Параметр |
Описание |
|
event |
Символьный код события. В данном случае - |
|
event_handler_id |
Идентификатор обработчика события |
|
data |
Объект с параметрами события. Структура описана ниже |
|
ts |
Дата и время отправки события из очереди событий |
|
auth |
Объект с параметрами авторизации и данными о портале, на котором произошло событие. Структура описана ниже |
Параметр data
|
Параметр |
Описание |
|
CONNECTOR |
Идентификатор коннектора |
|
LINE |
Идентификатор открытой линии |
|
MESSAGES |
Массив сообщений. Структура элемента массива описана ниже |
Элемент массива MESSAGES
|
Параметр |
Описание |
|
im |
Объект с идентификаторами сообщения в Битрикс24. Структура описана ниже |
|
message |
Объект с данными текста сообщения. Структура описана ниже |
|
chat |
Данные чата во внешней системе. Структура описана ниже |
Параметр im
|
Параметр |
Описание |
|
chat_id |
Идентификатор чата открытой линии в Битрикс24 |
|
message_id |
Идентификатор сообщения в Битрикс24 |
Параметр message
|
Параметр |
Описание |
|
user_id |
Идентификатор пользователя, от имени которого создано сообщение |
|
text |
Текст сообщения в формате, переданном в событии |
Параметр chat
|
Параметр |
Описание |
|
id |
Идентификатор чата во внешней системе |
Параметр auth
Обязательные параметры отмечены *
|
Название |
Описание |
|
access_token |
Токен авторизации OAuth 2.0 |
|
expires_in |
Время в секундах до истечения срока действия токена |
|
scope* |
Скоуп, в рамках которого произошло событие |
|
domain* |
Адрес Битрикс24, на котором произошло событие |
|
server_endpoint* |
Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0 |
|
status* |
Статус приложения, подписавшегося на это событие:
|
|
client_endpoint* |
Общий путь для вызовов методов REST API для Битрикс24, на котором произошло событие |
|
member_id* |
Идентификатор Битрикс24, на котором произошло событие |
|
refresh_token |
Токен продления авторизации OAuth 2.0 |
|
application_token* |
Токен для безопасной обработки событий |
Токены авторизации не всегда передаются в обработчик события. Если хит, инициировавший событие, не удалось привязать к конкретному пользователю Битрикс24, токены не передаются. Обязательно проверяйте содержимое ключа auth в коде.
Рекомендуем хранить токены, полученные ранее при установке приложения. Используйте их при работе с интерфейсом приложения в виде встроек, виджетов и так далее.
Продолжите изучение
- При создании диалога OnImConnectorDialogStart
- При изменении сообщений OnImConnectorMessageUpdate
- При удалении сообщений OnImConnectorMessageDelete
- При закрытии диалога OnImConnectorDialogFinish
- При отключении открытой линии OnImConnectorStatusDelete
- При удалении открытой линии OnImConnectorLineDelete