Skip to main content

Callback After Sending Group Chat Message

Functional Description

The App business server can operate on users' group chat messages in real-time through this callback, such as:

  • Recording group chat messages in real-time (logging or synchronizing to other systems).
  • Performing data statistics on group chat messages (counting people, messages, etc.).

Precautions

  • To enable the callback, you must configure the callback URL and turn on the switch corresponding to this callback protocol. See the Callback Description document for configuration methods.
  • The callback direction is an HTTP/HTTPS POST request initiated by OpenIMServer to the App backend.
  • The APP business server must respond to this request within the timeout period.

Scenarios That May Trigger This Callback

  • App users send group chat messages through the client.
  • App administrators send group chat messages through REST API

Timing of Callback

  • After OpenIMServer receives the group chat message sent by the user and delivers the message to the target user.

Interface Description

Request URL Example

Here CallbackCommand is: callbackAfterSendGroupMsgCommand

{WEBHOOK_ADDRESS}/callbackAfterSendGroupMsgCommand?contenttype=json

Request Package Example

{
"sendID": "user123",
"callbackCommand": "callbackAfterSendGroupMsgCommand",
"serverMsgID": "serverMsg123",
"clientMsgID": "clientMsg123",
"operationID": "1646445464564",
"senderPlatformID": 1,
"senderNickname": "John Doe",
"sessionType": 1,
"msgFrom": 1,
"contentType": 1,
"status": 1,
"sendTime": 1673048592000,
"createTime": 1673048592000,
"content": "Hello, how are you?",
"seq": 1,
"atUserList": ["user456", "user789"],
"faceURL": "http://example.com/path/to/face/image.png",
"ex": "Extra data",
"recvID": "user456"
}

Request Package Field Description

ObjectTypeDescription
sendIDstringUser ID of the sender
callbackCommandstringCallback command, here it is the callback after sending a group chat message
serverMsgIDstringMessage ID generated by the server
clientMsgIDstringMessage ID generated by the client
operationIDstringoperationID used for global link tracking
senderPlatformIDint32Platform ID of the sender
senderNicknamestringNickname of the sender
sessionTypeint32Session type, 1: single chat, 2: group chat, 4: system notification
msgFromint32Message source, 100 originates from user sending, 200 originates from administrator sending or system broadcast notification, etc.
contentTypeint32Message content type, 101 represents text message, 102 represents picture message, 103 represents voice message, ...
statusint32Message status, 1 means sending successful, 2 means sending failed
sendTimeint64Timestamp of message sending (milliseconds)
createTimeint64Timestamp of message creation (milliseconds)
contentstringMessage content
sequint32Message sequence number
atUserListstringList of group chat member IDs, ignored for single chat
faceURLstringAvatar URL of the sender
exstringExtra data field
recvIDstringUser ID of the receiver

Response Package Example

Successful Response

After the App business server synchronizes data, it sends a callback response package

{
"actionCode": 0,
"errCode": 0,
"errMsg": "",
"errDlt": "",
"nextCode": 0
}

Response Package Field Description

FieldValueDescription
actionCode0Indicates whether the business system callback was executed correctly. 0 means the operation was successful.
errCode0Custom error code, 0 here means ignore the callback result.
errMsg"An error message"Simple error message corresponding to the custom error code.
errDlt"Detailed error information"Detailed error information corresponding to the custom error code.
nextCode1Next execution instruction, 1 means refusing to continue execution, set when actionCode is 0.