根据消息 ID 获取 Reaction

大约 3 分钟

根据消息 ID 获取 Reaction

消息表情回复(“Reaction”)指用户在单聊和群聊场景中对单条消息回复表情,可丰富用户聊天时的互动方式。目前,Reaction 仅适用于单聊和群组。聊天室暂不支持 Reaction 功能。

功能说明

  • 该方法根据单聊或群聊中的消息 ID 获取单个或多个消息的 Reaction 信息,包括 Reaction ID、使用的表情 ID、以及使用该 Reaction 的用户 ID 及用户人数。
  • 获取的 Reaction 的用户列表只展示最早三个添加 Reaction 的用户。

功能开通

要使用 Reaction 功能,你需要在 环信控制台open in new window 开通。详见 环信控制台文档

调用频率上限

100 次/秒/App Key

请求 URL

GET https://{host}/{org_name}/{app_name}/reaction/user/{userId}?msgIdList={N,M}&msgType={msgType}&groupId={groupId}
参数类型是否必需描述
userIdString当前用户的用户 ID。
msgIdListArray需要查询的消息 ID 列表,最多可传 20 个消息 ID。
msgTypeString消息的会话类型:
- chat:单聊;
- groupchat:群聊。
groupIdString群组 ID。如果 msgType 设置为 groupchat,即拉取群中的 Reaction,必须指定群组 ID。

关于请求 URL 中的其他参数说明,详见 请求 URL 参数介绍

请求示例

curl -g -X GET 'https://XXXX/XXXX/XXXX/reaction/user/{{userId}}?msgIdList=msgId1&msgType=chat'    \
-H 'Authorization: Bearer <YourAppToken>'

请求 header 参数

关于 Authorization 字段的说明,详见 请求 header 参数说明

响应示例

{
    "requestStatusCode": "ok",
    "timestamp": 1645774821181,
    "data": [
        {
            "msgId": "msg123",
            "reactionList": [
                {
                    "reactionId": "944330310986837168",
                    "reaction": "message123456",
                    "count": 3,
                    "state": false,
                    "userList": [
                        "test123",
                        "test456",
                        "test1"
                    ]
                }
            ]
        },
        {
            "msgId": "msg1234",
            "reactionList": [
                {
                    "reactionId": "945272584050659838",
                    "reaction": "message123456",
                    "count": 1,
                    "state": false,
                    "userList": [
                        "test5"
                    ]
                }
            ]
        }
    ]
}

响应 body 字段

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

参数类型描述
requestStatusCodeString接口相应 code 状态。OK 表示操作成功。
timestampLong请求响应的时间,Unix 时间戳,单位为毫秒。
dataJSON Array单个消息添加的 Reaction 的详情。
data.msgIdStringReaction 对应的消息 ID。
data.reactionListJSON Array单个消息的 Reaction 列表。
data.reactionList.reactionIdStringReaction ID。
data.reactionList.reactionString表情 ID,与客户端一致。该参数与添加 Reaction API的请求参数 message 相同。
data.reactionList.countInt添加该 Reaction 的用户人数。
data.reactionList.stateBool当前请求用户是否添加过该 Reaction:
- true: 是;
- false:否。
data.reactionList.userListArray添加 Reaction 的用户 ID 列表。只返回最早操作 Reaction 的三个用户的 ID。

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
400Bad RequestmsgIdList exceeds the maximum number limit单次传入的消息 ID 超过了数量限制。减少单次传入的消息 ID。最多可传 20 个消息 ID。
400Bad RequestgroupId can not be null!群组聊天时(即 msgTypegroupchat),群组 ID 参数(groupId)设置为了 null请传入群组 ID。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

上次编辑于: