Reaction 回调事件

大约 2 分钟

Reaction 回调事件

若对消息中的表情回复 Reaction 进行了操作,环信服务器会向你的 app server 发送回调请求。

Reaction 回调请求中主要包含消息中的 Reaction 的信息(即 Reaction 数量和添加 Reaction 的用户列表)以及被操作的 Reaction 的相关信息(即被操作的 Reaction、执行操作的用户列表和用户数量以及 Reaction 操作类型)。

回调请求的字段描述

Reaction 回调请求中的字段含义如下表所示:

字段数据类型含义
chat_typeString固定值为 notify。通知回调包含了 Thread 和 Reaction 的回调,需要结合 payload 中的 type 字段确定具体类型。|
hostString服务器名称。
appkeyString即时通讯服务分配给每个应用的唯一标识,由 orgnameappname 参数的值组成,生成后无法修改。
fromString消息的发送方。
toString消息的接收方。
eventTypeString“chat” 上行消息、“chat_offline” 离线消息。
msg_idString该回调请求的消息 ID。
timestamplong环信 IM 服务器接收到此消息的 Unix 时间戳,单位为毫秒。
payload.numInt操作次数。
payload.channel_typeString会话类型:
- chat:单聊。
- groupchat:群聊。
payload.typeString固定值 reaction
payload.dataListReaction 操作详细内容。
payload.data.messageIdStringReaction 对应的消息 ID。
payload.data.fromStringReaction 消息的发送方。
payload.data.tsLong当前 Reaction 操作的 Unix 时间戳,单位为毫秒。
payload.data.toString消息接收方。
payload.data.reactionsListReaction 通知数据结构。
payload.data.reactions.reactionStringReaction 表情。
payload.data.reactions.userListList添加该 Reaction 表情人的员列表。
payload.data.reactions.countIntReaction 表情被添加的次数。
payload.data.reactions.opListReaction 当前操作详情。
payload.data.reactions.op.reactionString表情。
payload.data.reactions.op.userListList操作表情的用户。
payload.data.reactions.op.countList表情操作人数。
payload.data.reactions.op.reactionTypeStringReaction 当前操作类型。create 为添加 Reaction。
payload.data.reactions.op.operatorStringReaction 当前操作人。 |

回调请求示例

例如,在下面回调请求示例中,消息 ID 为 99XXXX32 的消息,当前存在 Reaction test,用户 user2 添加了 Reaction test-1,则 Chat 服务器会向你的 app server 发送回调:

{
    "chat_type": "notify",
    "payload":
    {
        "data":
        [
            {
                "messageId": "99XXXX32",
                "from": "user2",
                "reactions":
                [
                    {
                        "reaction": "test",
                        "userList":
                        [
                            "user2"
                        ],
                        "count": 1
                    },
                    {
                        "op":
                        [
                            {
                                "reactionType": "create",
                                "operator": "user2"
                            }
                        ],
                        "reaction": "test-1",
                        "userList":
                        [
                            "user2"
                        ],
                        "count": 1
                    }
                ],
                "to": "user3",
                "channel_type": "chat",
                "ts": 1648722783700
            }
        ],
        "num": 2,
        "channel_type": "chat",
        "type": "reaction"
    },
    "host": "XXXX",
    "appkey": "XXXX#XXXX",
    "from": "user1",
    "to": "user2",
    "eventType": "chat",
    "msg_id": "99XXXX56",
    "timestamp": 1648722784819
}