添加 Reaction

大约 3 分钟

添加 Reaction

消息表情回复(“Reaction”)指用户在单聊和群聊场景中对单条消息回复表情,可丰富用户聊天时的互动方式。

功能说明

  • 在单聊或群聊场景中对单条消息添加 Reaction。
  • 目前,Reaction 仅适用于单聊和群组。聊天室暂不支持 Reaction 功能。
  • 对于单条消息,一个消息表情即为一个 Reaction,若不同用户重复添加同一消息表情,Reaction 数量计为 1。每条消息默认可添加 20 个 Reaction。
  • 添加 Reaction 会触发发送后回调,详见 发送后回调事件

功能开通

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

调用频率上限

100 次/秒/App Key

请求 URL

POST https://{host}/{org_name}/{app_name}/reaction/user/{userId}
参数类型是否必需描述
userIdString添加 Reaction 的用户 ID。

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

请求示例

curl -g -X POST 'https://localhost:8089/easemob-demo/easeim/reaction/user/e1'    \
-H 'Authorization: Bearer <YourAppToken>'   \
-H 'Content-Type: application/json'   \
-d '{
    "msgId":"997625372793113144",
    "message":"emoji_40"
}'

请求 header 参数

关于 Content-TypeAuthorization 字段的说明,详见 请求 header 参数说明

请求 body 参数

参数类型是否必需
描述
msgIdString消息 ID。
messageString表情 ID。长度不能超过 128 个字符,必须与客户端的设置一致。该参数对支持的字符集类型没有限制,若使用特殊字符,获取和删除 Reaction 时需对特殊字符进行 URL 编码。

响应示例

{
  "requestStatusCode": "ok",
  "timestamp": 1645774821181,
  "data": {
    "id": "946481033434607420",
    "msgId": "msg3333",
    "msgType": "chat",
    "groupId": null,
    "reaction": "emoji_40",
    "createdAt": "2022-02-24T10:57:43.138934Z",
    "updatedAt": "2022-02-24T10:57:43.138939Z"
  }
}

响应 body 字段

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

参数类型描述
requestStatusCodeString操作结果,ok 表示成功添加 Reaction。
timestampLong请求响应的时间,Unix 时间戳,单位为毫秒。
dataJSON添加的 Reaction 的详情。
data.idStringReaction ID。
data.msgIdString添加 Reaction 的消息 ID。
data.msgTypeString消息的会话类型:
- chat:单聊;
- groupchat:群聊。
data.groupIdString群组 ID。该参数在单聊时为 null。
data.reactionString表情 ID,与客户端一致,与添加 Reaction API的请求参数 message 相同。
data.createAtInstantReaction 的添加时间。
data.updateAtInstantReaction 的修改时间。

错误码

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

HTTP 状态码错误类型错误提示可能原因处理建议
400Bad Requestthis appKey is not open reaction service!Reaction 功能未开通。请在环信控制台开通 Reaction 服务。
400Bad RequestThe quantity has exceeded the limit!一条消息上的 Reaction 数量达到上限。每条消息默认可添加 20 个 Reaction。若需提升该上限,需联系环信商务。
400Bad Requestthe user operation is illegal!不是会话双方。只有会话双方才能操作 Reaction。
400Bad Requestthe user is already operation this message同一个用户重复添加相同的 Reaction。同一用户不能重复添加相同的 Reaction。

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

上次编辑于: