发送单聊消息后的回调
功能说明
App 业务服务端可以通过该回调实时对用户的单聊消息进行操作,如:
- 对发单聊消息进行实时记录(记录日志或同步到其他系统)。
- 对单聊消息进行数据统计(统计人数、消息数等)。
注意事项
- 为启用回调,必须配置回调 URL,并开启本条回调协议对应的开关。配置方法详见 回调说明 文档。
- 回调的方向是 OpenIMServer 向 App 后台发起 HTTP/HTTPS POST 请求。
- APP 业务服务端需在超时时间内响应此请求。
可能触发该回调的场景
- App 用户通过客户端发送单聊消息。
- App 管理员通过 REST API 发送单聊消息
回调发生时机
- OpenIMServer 收到用户发送的单聊消息,并将该消息下发给目标用户之后。
接口说明
请求 URL 示例
此处CallbackCommand
为:callbackAfterSendSingleMsgCommand
{WEBHOOK_ADDRESS}/callbackAfterSendSingleMsgCommand?contenttype=json
请求包示例
{
"sendID": "user123",
"callbackCommand": "callbackAfterSendSingleMsgCommand",
"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"
}
请求包字段说明
对象 | 类型 | 描述 |
---|---|---|
sendID | string | 发送者的用户ID |
callbackCommand | string | 回调命令,这里是发送单聊消息后的回调 |
serverMsgID | string | 服务器生成的消息ID |
clientMsgID | string | 客户端生成的消息ID |
operationID | string | operationID用于全局链路追踪 |
senderPlatformID | int32 | 发送者的平台ID |
senderNickname | string | 发送者的昵称 |
sessionType | int32 | 会话类型,1:单聊,2:群聊,4:系统通知 |
msgFrom | int32 | 消息来源,100来源于用户发送,200来源于管理员发送或者系统广播通知等 |
contentType | int32 | 消息内容类型,101表示文本消息,102表示图片消息,103表示语音消息,... |
status | int32 | 消息状态,1表示发送成功,2表示发送失败 |
sendTime | int64 | 消息发送的时间戳(毫秒) |
createTime | int64 | 消息创建的时间戳(毫秒) |
content | string | 消息内容 |
seq | uint32 | 消息序号 |
atUserList | string | 群聊成员ID列表,单聊忽略 |
faceURL | string | 发送者的头像URL |
ex | string | 额外的数据字段 |
recvID | string | 接收者的用户ID |
应答包示例
成功响应
App 业务服务端同步数据后,发送回调应答包
{
"actionCode": 0,
"errCode": 0,
"errMsg": "",
"errDlt": "",
"nextCode": 0
}
应答包字段说明
字段 | 值 | 说明 |
---|---|---|
actionCode | 0 | 表示业务系统的回调是否正确执行。0 表示操作成功。 |
errCode | 0 | 表示自定义错误码,此处填0代表忽略回调结果。 |
errMsg | "An error message" | 自定义错误码对应的简单错误信息。 |
errDlt | "Detailed error information" | 自定义错误码对应的详细错误信息。 |
nextCode | 1 | 下一步执行指令,1 表示拒绝继续执行,actionCode等于0 时设置。 |