表情回复回调事件

大约 3 分钟

表情回复回调事件

功能说明

在消息上添加或移除表情回复(下文统称 “Reaction”)后,环信服务器会按照 发送后回调规则 向你的 App Server 发送回调请求,App Server 可通过该回调查看表情回复,进行数据同步。

前提条件

回调时机

回调请求

请求示例

Reaction 回调请求中,reactions 数组包含了消息当前所有的 Reaction 记录,每条记录结构如下:

  • Reaction 基本信息:Reaction 名称(reaction)、当前累积数量(count)及添加该 Reaction 的用户列表(userList)。
  • 操作溯源信息(op 字段,可选): 当该条 Reaction 记录为本次操作所产生时,该字段会标记其操作类型(如新增 create)及操作者,便于追溯变化来源。

以下述回调请求为例:消息 ID 为 99XXXX32 的消息,当前共有两条 Reaction 记录:test(由用户 user2 添加)和 test-1(同样由用户 user2 添加)。其中 test-1op 字段表明该 Reaction 本次为新建(reactionType: "create"),操作者为 user2

{
    "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
}

请求字段说明

字段数据类型含义
chat_typeString固定值为 notify。通知回调包含了消息话题(message thread)和表情回复(Reaction)的回调,需要结合 payload 中的 type 字段确定具体类型。
hostString服务器名称。
appkeyString即时通讯服务分配给每个应用的唯一标识,由 orgnameappname 参数的值组成,生成后无法修改。
fromString消息的发送方。
toString消息的接收方。
eventTypeStringchat 表示上行消息、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 当前操作人。
上次编辑于: