OnImConnectorMessageUpdate Event
Scope:
imconnectorWho can subscribe: any user
The OnImConnectorMessageUpdate event is triggered when a message is modified in an open line of Bitrix24, and the change is sent to the external system channel via a custom connector.
The event does not trigger:
- for built-in connectors
- when a message sent from the external system channel is modified
After processing the event, call the imconnector.send.status.delivery method to mark the message as successfully updated in the external system channel.
Events will not be sent to the application until the installation is complete. Check the application installation
What the Handler Receives
Data is transmitted as a POST request
{
"event": "ONIMCONNECTORMESSAGEUPDATE",
"event_handler_id": 557,
"data": {
"CONNECTOR": "myconnector",
"LINE": 107,
"MESSAGES": [
{
"im": {
"chat_id": 1807,
"message_id": 86501
},
"message": {
"id": ["ext-msg-005"],
"text": "[b]Samantha Johnson:[/b][br] What questions do you have?"
},
"chat": {
"id": "channel-123"
}
}
]
},
"ts": 1773760030,
"auth": {
"access_token": "2e7cb0071b04400007eb2a255d2a542d6d0ca03ceb",
"expires": 1773763630,
"expires_in": 3600,
"scope": "imconnector, imopenlines",
"domain": "some-domain.bitrix24.com",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"status": "F",
"client_endpoint": "https://some-domain.bitrix24.com/rest/",
"member_id": "bac1cd5c8940947a75e0d71b1a84e348",
"user_id": 27,
"application_token": "831c76b092f9f135d9b6b36c3a720757"
}
}
|
Parameter |
Description |
|
event |
Symbolic event code. In this case - |
|
event_handler_id |
Event handler identifier |
|
data |
Object with parameters of the outgoing message change event. The structure is described below |
|
ts |
Date and time the event was sent from the event queue |
|
auth |
Object with authorization parameters and information about the account where the event occurred. The structure is described below |
Data Parameter
|
Parameter |
Description |
|
CONNECTOR |
Connector identifier |
|
LINE |
Open line identifier |
|
MESSAGES |
Array of messages that were modified in Bitrix24 and sent to the external system channel. The structure of the array element is described below |
MESSAGES Array Element
|
Parameter |
Description |
|
im |
Object with message identifiers in Bitrix24. The structure is described below |
|
message |
Object with data of the modified message for the external system channel. The structure is described below |
|
chat |
Object with the chat identifier in the external system channel. The structure is described below |
im Parameter
|
Parameter |
Description |
|
chat_id |
Chat identifier in Bitrix24 |
|
message_id |
Identifier of the modified message in Bitrix24 |
message Parameter
|
Parameter |
Description |
|
id |
Array of identifiers of the modified message in the external system channel |
|
text |
New text of the message in the format provided in the event |
chat Parameter
|
Parameter |
Description |
|
id |
Identifier of the chat in the external system channel |
auth Parameter
Required parameters are marked with *
|
Name |
Description |
|
access_token |
Authorization token OAuth 2.0 |
|
expires_in |
Time in seconds until the token expires |
|
scope* |
Scope under which the event occurred |
|
domain* |
Address of Bitrix24 where the event occurred |
|
server_endpoint* |
Address of the Bitrix24 authorization server needed to refresh OAuth 2.0 tokens |
|
status* |
Status of the application that subscribed to this event:
|
|
client_endpoint* |
Common path for REST API method calls for Bitrix24 where the event occurred |
|
member_id* |
Identifier of Bitrix24 where the event occurred |
|
refresh_token |
Token for extending authorization OAuth 2.0 |
|
application_token* |
Token for secure event handling |
Authorization tokens are not always passed to the event handler. If the hit that initiated the event could not be linked to a specific Bitrix24 user, the tokens are not passed. Always check the contents of the auth key in the code.
It is recommended to store tokens obtained earlier during the application installation. Use them when working with the application interface in the form of embeds, widgets, and so on.
Continue Learning
- OnImConnectorMessageAdd Event
- When Creating a Dialog OnImConnectorDialogStart
- OnImConnectorMessageDelete Event
- OnImConnectorDialogFinish Event
- OnImConnectorStatusDelete Event for Disabling Open Channels
- OnImConnectorLineDelete Event