From 7b873aed116b846434cba1094dfed4630526c14a Mon Sep 17 00:00:00 2001 From: haoxiuwen Date: Wed, 27 Nov 2024 11:42:51 +0800 Subject: [PATCH 1/5] modify --- .../server-side/callback_configurations.md | 262 ++++++++++-------- .../server-side/group_member_obtain.md | 23 +- 2 files changed, 166 insertions(+), 119 deletions(-) diff --git a/docs/document/server-side/callback_configurations.md b/docs/document/server-side/callback_configurations.md index 8e229b346..d81e56d1d 100644 --- a/docs/document/server-side/callback_configurations.md +++ b/docs/document/server-side/callback_configurations.md @@ -2,19 +2,17 @@ -通过回调过滤规则的设置,可以根据需求选择回调中的有用信息。在环信管理后台设置发送后回调规则后,默认会回调所有事件信息,如需单独设置特定类型不回调,请联系环信商务经理。 - -## 从环信服务器向你的应用服务器发送请求 - -请求采用 POST 方式,支持 HTTP/HTTPS,正文部分为 JSON 格式的字符串,字符集为 UTF-8。 +你可以在[环信即时通讯云控制台](https://console.easemob.com/user/login)[设置发送后回调规则](/product/enable_and_configure_IM.html#配置回调规则),选择所需的事件类型。规则设置后,环信服务器向你的应用服务器发送回调请求,请求采用 POST 方式,支持 HTTP/HTTPS,正文部分为 JSON 格式的字符串,字符集为 UTF-8。 回调时,会对发送的正文做 MD5 签名。 环信 IM 使用的 MD5 为 `org.apache.commons.codec.digest.DigestUtils#md5Hex`。 app 的响应内容不能超过 1,000 个字符。 -## 回调事件 +## 发送消息事件 -### 回调内容中单聊、群聊、聊天室事件的公共参数描述 +### 公共参数 + +单聊、群聊、聊天室中发消息回调的公共参数如下表所示: | 参数 | 类型 | 描述 | | :---------------- | :----- |:------------------------------------------------------------------| @@ -31,34 +29,36 @@ app 的响应内容不能超过 1,000 个字符。 | `security` | String | 签名,格式如下: `MD5(callId+secret+timestamp)`。 Secret 见 Console 后台回调规则。 | | `appkey` | String | 你在环信管理后台注册的应用唯一标识。 | | `host` | String | 服务器名称。 | +| `content_type` | String | 消息类型:
- `chat:user:*`:单聊消息
- `chat:group:*`:群组消息
- `chat:room:*`:聊天室消息
文本、图片、音视频等消息对应的参数值,详见[发送单聊消息](#发送单聊消息)、[发送群组消息](#发送群组消息)和[发送聊天室消息](#发送聊天室消息)章节。 | -### 单聊 +### 发送单聊消息 -| 事件 | payload 中类型 | 触发事件 | +| content_type | payload 中类型 | 触发事件 | | :----------- | :---------------------------- | :----------------- | -| chat | - | 单聊中所有事件 | -| chat:txt | {“bodies”:{“type”:“txt”}} | 单聊中发文本消息 | -| chat:img | {“bodies”:{“type”:“img”}} | 单聊中发图片消息 | -| chat:audio | {“bodies”:{“type”:“audio”}} | 单聊中发语音消息 | -| chat:loc | {“bodies”:{“type”:“loc”}} | 单聊中发位置消息 | -| chat:video | {“bodies”:{“type”:“video”}} | 单聊中发视频消息 | -| chat:file | {“bodies”:{“type”:“file”}} | 单聊中发文件消息 | -| chat:cmd | {“bodies”:{“type”:“cmd”}} | 单聊中发命令消息 | -| chat:custom | {“bodies”:{“type”:“custom”}} | 单聊中发自定义消息 | -| chat:unknown | {“bodies”:{“type”:“unknown”}} | 单聊中发未知消息 | - -#### 单聊 payload 中消息的字段解释及回调请求的包体示例 - -##### 文字以及透传消息 +| chat:user:* | - | 单聊中发送任何消息 | +| chat:user:text | {“bodies”:{“type”:“txt”}} | 单聊中发送文本消息 | +| chat:user:image | {“bodies”:{“type”:“img”}} | 单聊中发送图片消息 | +| chat:user:voice | {“bodies”:{“type”:“audio”}} | 单聊中发送语音消息 | +| chat:user:location | {“bodies”:{“type”:“loc”}} | 单聊中发送位置消息 | +| chat:user:video | {“bodies”:{“type”:“video”}} | 单聊中发送视频消息 | +| chat:user:file | {“bodies”:{“type”:“file”}} | 单聊中发送文件消息 | +| chat:user:command | {“bodies”:{“type”:“cmd”}} | 单聊中发送命令消息 | +| chat:user:custom | {“bodies”:{“type”:“custom”}} | 单聊中发送自定义消息 | +| chat:user:combine | {“bodies”:{“subType”:“sub_combine”}} | 单聊中发送合并消息 | +| chat:user:unknown | {“bodies”:{“type”:“unknown”}} | 单聊中发送未知消息 | + +#### 回调请求的包体示例 + +##### 文本和命令消息 | 字段 | 数据类型 | 描述 | | :------- | :------- | :----------------------------------------------------------- | | `ext` | object | 消息扩展字段。 | | `bodies` | object | 该回调的主体内容,包含以下两个字段 `msg`,`type`。 | | `msg` | String | 消息内容。 | -| `type` | String | 消息类型,包括:
- 文本消息:`txt`;
- 图片消息:`img`;
- 语音消息:`audio`;
- 位置消息:`loc`;
- 视频消息:`video` ;
- 文件消息:`file`;
- 命令消息:`cmd`;
- 自定义消息:`custom`;
- 未知消息:`unknown`。 | +| `type` | String | 消息类型:
- 文本消息:`txt`
- 命令消息:`cmd` | -回调请求中 payload 示例: +下面的示例以文本消息为例展示回调请求中 payload: ```json "payload":{ @@ -76,9 +76,9 @@ app 的响应内容不能超过 1,000 个字符。 | `filename` | String | 图片名称。 | | `secret` | String | 成功上传文件后返回的 `secret`。 | | `file_length` | Int | 图片文件大小(单位:字节)。 | -| `size` | Json | 图片尺寸;`height`:高度,`width`:宽度。 | -| `url` | String | 域名 /orgname/appname/chatfiles/ 成功上传文件返回的 UUID。参考请求示例。 | -| `type` | String | 消息类型,包括:
- 文本消息:`txt`;
- 图片消息:`img`;
- 语音消息:`audio`;
- 位置消息:`loc`;
- 视频消息:`video` ;
- 文件消息:`file`;
- 命令消息:`cmd`;
- 自定义消息:`custom`;
- 未知消息:`unknown`。 | +| `size` | Json | 图片尺寸:`height`:高度,`width`:宽度。 | +| `url` | String | 域名 `/orgname/appname/chatfiles/` 成功上传文件返回的 UUID。参考请求示例。 | +| `type` | String | 消息类型:`img` | payload 示例: @@ -96,16 +96,17 @@ payload 示例: } ``` -##### 语音消息 payload 字段 +##### 语音消息 | 字段 | 类型 | 描述 | | :------------ | :----- | :----------------------------------------------------------- | -| `ext` | Json | 消息扩展字段。 | +| `ext` | JSON | 消息扩展字段。 | | `filename` | String | 文件名称。 | | `secret` | String | 成功上传文件后返回的 secret。 | | `file_length` | Long | 语音文件大小(单位:字节)。 | | `Length` | Int | 语音时间(单位:秒)。 | | `url` | String | 域名 `/org_name/app_name/chatfiles/` 成功上传文件返回的 UUID。 | +| `type` | String | 消息类型:`audio` | 回调请求的包体示例: @@ -127,16 +128,16 @@ payload 示例: | 字段 | 类型 | 描述 | | :------------- | :----- | :----------------------------------------------------------- | -| `ext` | Json | 消息扩展字段。 | +| `ext` | JSON | 消息扩展字段。 | | `bodies` | object | 该回调的主体内容,包含以下字段 `thumb_secret`、`thumb`、`filename`,`secret`,`file_length`,`size`,`url`,`type`。 | | `thumb_secret` | String | 成功上传视频缩略图后返回的 secret。 | | `filename` | String | 文件名称。 | -| `size` | Json | 缩略图图片尺寸;`height`:高度,`width`:宽度。 | +| `size` | JSON | 缩略图图片尺寸:`height`:高度,`width`:宽度。 | | `thumb` | String | 成功上传视频缩略图返回的 UUID。 | | `secret` | String | 成功上传视频文件后返回的 secret。 | | `length` | Int | 视频播放长度。 | | `file_length` | Long | 视频文件大小,单位为字节。 | -| `type` | String | 消息类型,包括:
- 文本消息:`txt`;
- 图片消息:`img`;
- 语音消息:`audio`;
- 位置消息:`loc`;
- 视频消息:`video` ;
- 文件消息:`file`;
- 命令消息:`cmd`;
- 自定义消息:`custom`;
- 未知消息:`unknown`。 | +| `type` | String | 消息类型:`video` | | `url` | String | 视频文件的 URL 地址,格式为 `https://{host}/{org_name}/{app_name}/chatfiles/{file_uuid}`,其中 `file_uuid` 为视频文件 ID。成功上传视频文件后,从文件上传的响应 body 中获取。 | payload 示例: @@ -187,10 +188,10 @@ payload 示例: | 参数 | 类型 | 描述 | | :------------ | :------- | :----------------------------------------------------------- | -| `customEvent` | String | 用户自定义的事件类型,必须是 string,值必须满足正则表达式。 [a-zA-Z0-9-_/.]{1,32},最短 1 个字符 最长 32 个字符。 | +| `customEvent` | String | 用户自定义的事件类型,必须是 String,值必须满足正则表达式。 [a-zA-Z0-9-_/.]{1,32},最短 1 个字符 最长 32 个字符。 | | `customExts`/`v2:customExts` | Array/JSON | 用户自定义的事件属性。该参数为可选,不需要可以不传。
- `customExts` 为旧版参数,数组类型,最多可包含 16 个元素。
- `v2:customExts` 为新版参数,Map 类型,最多可以包含 16 个元素。推荐使用该新版参数。 | | `from` | String | 表示消息发送者;无此字段 Server 会默认设置为 “from”:“admin”,有 from 字段但值为空串 (“”) 时请求失败。 | -| `ext` | Json | 扩展属性,支持 app 自定义内容。可以没有这个字段;但是如果有,值不能是 “ext:null” 这种形式,否则会发生错误。 | +| `ext` | JSON | 扩展属性,支持 app 自定义内容。可以没有这个字段;但是如果有,值不能是 “ext:null” 这种形式,否则会发生错误。 | ```json "payload": { @@ -204,7 +205,38 @@ payload 示例: } ``` -#### 发送单聊消息已读回执 +##### 合并消息 + +| 参数 | 类型 | 描述 | +| :------------ | :----- | :----------------------------------------------- | +| `combineLevel` | Int | 合并消息的嵌套层级数。 | +| `file_length` | Int | 合并消息附件的大小,单位为字节。 | +| `filename` | String | 合并消息的附件名称。 | +| `secret` | String | 合并消息附件的访问密钥。如果[文件上传](message_download.html#上传文件) 时设置了文件访问限制,则该字段存在。 | +| `subType` | String | 消息类型。合并消息为 `sub_combine`。 | +| `summary` | String | 合并消息的概要。 | +| `title` | String | 合并消息的标题。 | +| `url` | String | 合并消息的附件的 URL 地址。你可以访问该 URL 下载该附件。 | + +例如,下面示例为源消息包括文本、图片和文件消息的合并消息格式: + +```json +"bodies": +[ + { + "combineLevel": 1, + "file_length": 550, + "filename": "17289718748990036", + "secret": "a_OTmoq6Ee-CygH0PRzcUyFniZDmSsX1ur0j-9RtCj3tK6Gr", + "subType": "sub_combine", + "summary": ":yyuu\n:[图片]\n:[文件]\n", + "title": "聊天记录", + "url": "https://XXXX/XXXX/XXXX/chatfiles/6bf39390-8aba-11ef-a8ae-6f545c50ca23" + } +] +``` + +### 发送单聊消息已读回执 回调请求主要字段含义: @@ -244,22 +276,23 @@ payload 示例: } ``` -### 群聊 +## 发送群组消息 -| 事件 | payload 中类型 | 触发事件 | +| content_type | payload 中类型 | 触发事件 | | :---------------- | :---------------------------- | :----------------- | -| groupchat | - | 群聊中所有事件 | -| groupchat:txt | {“bodies”:{“type”:“txt”}} | 群聊中发文本消息 | -| groupchat:img | {“bodies”:{“type”:“img”}} | 群聊中发图片消息 | -| groupchat:audio | {“bodies”:{“type”:“audio”}} | 群聊中发语音消息 | -| groupchat:loc | {“bodies”:{“type”:“loc”}} | 群聊中发位置消息 | -| groupchat:video | {“bodies”:{“type”:“video”}} | 群聊中发视频消息 | -| groupchat:file | {“bodies”:{“type”:“file”}} | 群聊中发文件消息 | -| groupchat:cmd | {“bodies”:{“type”:“cmd”}} | 群聊中发命令消息 | -| groupchat:custom | {“bodies”:{“type”:“custom”}} | 群聊中发自定义消息 | -| groupchat:unknown | {“bodies”:{“type”:“unknown”}} | 群聊中发未知消息 | - -#### 群聊中发送消息 payload 中的字段解释 +| chat:group:* | - | 群组中发送任何类型的消息 | +| chat:group:text | {“bodies”:{“type”:“txt”}} | 群组中发送文本消息 | +| chat:group:image | {“bodies”:{“type”:“img”}} | 群组中发送图片消息 | +| chat:group:voice | {“bodies”:{“type”:“audio”}} | 群组中发送语音消息 | +| chat:group:location | {“bodies”:{“type”:“loc”}} | 群组中发送位置消息 | +| chat:group:video | {“bodies”:{“type”:“video”}} | 群组中发送视频消息 | +| chat:group:file | {“bodies”:{“type”:“file”}} | 群组中发送文件消息 | +| chat:group:command | {“bodies”:{“type”:“cmd”}} | 群聊中发送命令消息 | +| chat:group:custom | {“bodies”:{“type”:“custom”}} | 群组中发送自定义消息 | +| chat:group:combine | {“bodies”:{“subType”:“sub_combine”}} | 群组中发送合并消息 | +| chat:group:unknown | {“bodies”:{“type”:“unknown”}} | 群组中发送未知消息 | + +### 回调请求的包体示例 | 字段 | 数据类型 | 含义 | | :------- | :------- | :----------------------------------------------------------- | @@ -295,22 +328,25 @@ payload 之外的字段如下表所示: | `callId` | String | `callId` 为每个回调请求的唯一标识,格式为 “App Key_发送的消息的 ID”。 | | `msg_id` | String | 发送的消息 ID。 | -### 聊天室 +群组消息的 payload 与单聊消息相同,详见[发送单聊消息](#发送单聊消息)。 + +## 发送聊天室消息 -| 事件 | payload 中类型 | 触发事件 | +| content_type | payload 中类型 | 触发事件 | | :--------------- | :---------------------------- | :------------------- | -| chatroom | - | 聊天室中所有事件 | -| chatroom:txt | {“bodies”:{“type”:“txt”}} | 聊天室中发文本消息 | -| chatroom:img | {“bodies”:{“type”:“img”}} | 聊天室中发图片消息 | -| chatroom:audio | {“bodies”:{“type”:“audio”}} | 聊天室中发语音消息 | -| chatroom:loc | {“bodies”:{“type”:“loc”}} | 聊天室中发位置消息 | -| chatroom:video | {“bodies”:{“type”:“video”}} | 聊天室中发视频消息 | -| chatroom:file | {“bodies”:{“type”:“file”}} | 聊天室中发文件消息 | -| chatroom:cmd | {“bodies”:{“type”:“cmd”}} | 聊天室中发命令消息 | -| chatroom:custom | {“bodies”:{“type”:“custom”}} | 聊天室中发自定义消息 | -| chatroom:unknown | {“bodies”:{“type”:“unknown”}} | 聊天室中发未知消息 | - -#### 聊天室中发送消息 payload 中的字段解释 +| chat:room:* | - | 聊天室中发送任何类型的消息 | +| chat:room:text | {“bodies”:{“type”:“txt”}} | 聊天室中发文本消息 | +| chat:room:image | {“bodies”:{“type”:“img”}} | 聊天室中发图片消息 | +| chat:room:voice | {“bodies”:{“type”:“audio”}} | 聊天室中发语音消息 | +| chat:room:location | {“bodies”:{“type”:“loc”}} | 聊天室中发位置消息 | +| chat:room:video | {“bodies”:{“type”:“video”}} | 聊天室中发视频消息 | +| chat:room:file | {“bodies”:{“type”:“file”}} | 聊天室中发文件消息 | +| chat:room:command | {“bodies”:{“type”:“cmd”}} | 聊天室中发命令消息 | +| chat:room:custom | {“bodies”:{“type”:“custom”}} | 聊天室中发自定义消息 | +| chat:room:combine | {“bodies”:{“subType”:“sub_combine”}} | 聊天室中发自定义消息 | +| chat:room:unknown | {“bodies”:{“type”:“unknown”}} | 聊天室中发未知消息 | + +### 回调请求的包体示例 | 字段 | 数据类型 | 含义 | | :------- | :------- | :----------------------------------------------------------- | @@ -346,7 +382,7 @@ payload 之外的字段如下表所示: | `callId` | String | `callId` 为每个回调请求的唯一标识,格式为 “App Key_发送的消息的 ID”。 | | `msg_id` | String | 发送的消息 ID。 | -### 消息撤回 +## 消息撤回 | 事件 | payload 中类型 | 触发事件 | | :----- | :------------- | :------------- | @@ -402,7 +438,7 @@ payload 中字段含义: } ``` -### 群组和聊天室操作 +## 群组和聊天室操作 | 事件 | payload 中类型 | 群聊触发事件 | 聊天室触发事件 | | :------------------------- | :------------------------------------- | :--------------------------------------------- | :--------------------- | @@ -441,7 +477,7 @@ payload 中字段含义: | muc:delete_metadata | {“operation”:“delete_metadata”} | 不支持| 删除聊天室自定义属性。| | muc:group_member_metadata_update | {“operation”:“group_member_metadata_update”} | 设置群成员的自定义属性 | 不支持 | -#### 创建群组 +### 创建群组 payload 字段含义: @@ -490,7 +526,7 @@ payload 之外的字段如下表所示: } ``` -#### 解散群/聊天室 +### 解散群/聊天室 payload 字段含义: @@ -572,7 +608,7 @@ payload 之外的字段如下表所示: } ``` -#### 用户申请加入群 +### 用户申请加入群 payload 字段含义: @@ -621,7 +657,7 @@ payload 之外的字段如下表所示: } ``` -#### 同意成员加群申请 +### 同意成员加群申请 payload 字段含义: @@ -669,7 +705,7 @@ payload 之外的字段如下表所示: } ``` -#### 邀请新用户进群 +### 邀请新用户进群 payload 字段含义: @@ -718,7 +754,7 @@ payload 之外的字段如下表所示: } ``` -#### 受邀用户同意入群 +### 受邀用户同意入群 payload 字段含义: @@ -767,7 +803,7 @@ payload 之外的字段如下表所示: } ``` -#### 受邀用户拒绝入群 +### 受邀用户拒绝入群 payload 字段含义: @@ -816,7 +852,7 @@ payload 之外的字段如下表所示: } ``` -#### 踢出群/聊天室 +### 踢出群/聊天室 payload 字段含义: @@ -890,7 +926,7 @@ payload 之外的字段如下表所示: } ``` -#### 添加成员至群组黑名单 +### 添加成员至群组黑名单 payload 字段含义: @@ -939,7 +975,7 @@ payload 之外的字段如下表所示: } ``` -#### 将成员从群组黑名单中移除 +### 将成员从群组黑名单中移除 payload 字段含义: @@ -988,7 +1024,7 @@ payload 之外的字段如下表所示: } ``` -#### 群/聊天室信息修改 +### 群/聊天室信息修改 payload 字段含义: @@ -1063,7 +1099,7 @@ payload 之外的字段如下表所示: } ``` -#### 屏蔽群组 +### 屏蔽群组 payload 字段含义: @@ -1112,7 +1148,7 @@ payload 之外的字段如下表所示: } ``` -#### 解除屏蔽群组 +### 解除屏蔽群组 payload 字段含义: @@ -1161,7 +1197,7 @@ payload 之外的字段如下表所示: } ``` -#### 有新成员加入了群组或聊天室 +### 有新成员加入了群组或聊天室 payload 字段含义: @@ -1226,7 +1262,7 @@ payload 之外的字段如下表所示: } ``` -#### 有成员离开了群组或聊天室 +### 有成员离开了群组或聊天室 payload 字段含义: @@ -1291,7 +1327,7 @@ payload 之外的字段如下表所示: } ``` -#### 成员主动退出群/成员主动离开聊天室 +### 成员主动退出群/成员主动离开聊天室 payload 字段含义: @@ -1365,7 +1401,7 @@ payload 之外的字段如下表所示: } ``` -#### 转让群 +### 转让群 payload 字段含义: @@ -1412,7 +1448,7 @@ payload 之外的字段如下表所示: } ``` -#### 添加群/聊天室管理员 +### 添加群/聊天室管理员 payload 字段含义: @@ -1487,7 +1523,7 @@ payload 之外的字段如下表所示: } ``` -#### 删除群/聊天室管理员 +### 删除群/聊天室管理员 payload 字段含义: @@ -1562,7 +1598,7 @@ payload 之外的字段如下表所示: } ``` -#### 将群/聊天室成员禁言 +### 将群/聊天室成员禁言 payload 字段含义: @@ -1638,7 +1674,7 @@ payload 之外的字段如下表所示: } ``` -#### 将群/聊天室成员解除禁言 +### 将群/聊天室成员解除禁言 payload 字段含义: @@ -1713,7 +1749,7 @@ payload 之外的字段如下表所示: } ``` -#### 更新群/聊天室公告 +### 更新群/聊天室公告 payload 字段含义: @@ -1790,7 +1826,7 @@ payload 之外的字段如下表所示: } ``` -#### 删除群/聊天室公告 +### 删除群/聊天室公告 payload 字段含义: @@ -1867,7 +1903,7 @@ payload 之外的字段如下表所示: } ``` -#### 上传群共享文件 +### 上传群共享文件 payload 字段含义: @@ -1929,7 +1965,7 @@ payload 之外的字段如下表所示: } ``` -#### 删除群共享文件 +### 删除群共享文件 payload 字段含义: @@ -1978,7 +2014,7 @@ payload 之外的字段如下表所示: } ``` -#### 添加用户进群/聊天室白名单 +### 添加用户进群/聊天室白名单 payload 字段含义: @@ -2052,7 +2088,7 @@ payload 之外的字段如下表所示: } ``` -#### 将用户移出群/聊天室白名单 +### 将用户移出群/聊天室白名单 payload 字段含义: @@ -2126,7 +2162,7 @@ payload 之外的字段如下表所示: } ``` -#### 群/聊天室全局禁言 +### 群/聊天室全局禁言 payload 字段含义: @@ -2200,7 +2236,7 @@ payload 之外的字段如下表所示: } ``` -#### 解除群/聊天室全局禁言 +### 解除群/聊天室全局禁言 payload 字段含义: @@ -2274,7 +2310,7 @@ payload 之外的字段如下表所示: } ``` -#### 设置/更新聊天室自定义属性 +### 设置/更新聊天室自定义属性 payload 字段含义: @@ -2329,7 +2365,7 @@ payload 之外的字段如下表所示: } ``` -#### 删除聊天室自定义属性 +### 删除聊天室自定义属性 payload 字段含义: @@ -2384,7 +2420,7 @@ payload 之外的字段如下表所示: } ``` -#### 设置群成员的自定义属性 +### 设置群成员的自定义属性 payload 字段含义: @@ -2439,7 +2475,7 @@ payload 之外的字段如下表所示: } ``` -### 好友关系操作 +## 好友关系操作 | 事件 | payload 中类型 | 触发事件 | | :-------------------- | :----------------------------- | :------------------- | @@ -2451,7 +2487,7 @@ payload 之外的字段如下表所示: | `roster:ban` | `{“operation”:“ban”}` | 拉黑好友 | | `roster:allow` | `{“operation”:“allow”}` | 解除拉黑好友 | -#### 添加好友 +### 添加好友 payload 字段含义: @@ -2488,7 +2524,7 @@ payload 示例: } ``` -#### 删除好友 +### 删除好友 payload 字段含义: @@ -2525,7 +2561,7 @@ payload 示例: } ``` -#### 同意好友申请 +### 同意好友申请 用户发送好友申请后,对方用户同意加好友后会收到服务器发送的该事件。 @@ -2564,7 +2600,7 @@ payload 之外的字段如下表所示: } ``` -#### 拒绝好友申请 +### 拒绝好友申请 用户发送好友申请后,对方用户拒绝添加好友后会收到服务器发送的该事件。 @@ -2603,7 +2639,7 @@ payload 之外的字段如下表所示: } ``` -#### 拉黑好友 +### 拉黑好友 payload 字段含义: @@ -2644,7 +2680,7 @@ payload 示例: ``` -#### 解除拉黑好友 +### 解除拉黑好友 payload 字段含义: @@ -2684,7 +2720,7 @@ payload 之外的字段如下表所示: } ``` -### 用户登入登出 +## 用户登入登出 app 用户状态分为在线和离线两种,即用户已连接到环信即时通讯 IM 服务器即为在线,与环信即时通讯 IM 服务器断开连接即为离线。用户登入和登出即时通讯 IM 会导致在线状态发生变化。某些情况下,例如,进入隧道等特殊网络情况,依赖心跳超时,用户进入离线状态最长会有 5 分钟延时。 @@ -2707,7 +2743,7 @@ app 用户状态分为在线和离线两种,即用户已连接到环信即时 | `userStatus:logout` | `{“status”:“offline”,”reason“:“logout”}` | 用户登出 | | `userStatus:replaced` | `{“status”:“offline”,”reason“:“replaced”}` | 用户被踢 | -#### 用户登录 +### 用户登录 回调请求主要字段含义: @@ -2743,7 +2779,7 @@ app 用户状态分为在线和离线两种,即用户已连接到环信即时 } ``` -#### 用户登出 +### 用户登出 回调请求主要字段含义: @@ -2779,7 +2815,7 @@ app 用户状态分为在线和离线两种,即用户已连接到环信即时 } ``` -#### 用户登出(被其他设备踢掉) +### 用户登出(被其他设备踢掉) 回调请求主要字段含义: @@ -2815,7 +2851,7 @@ app 用户状态分为在线和离线两种,即用户已连接到环信即时 } ``` -### 离线推送 +## 离线推送 回调请求主要字段含义: @@ -2969,7 +3005,7 @@ app 用户状态分为在线和离线两种,即用户已连接到环信即时 } ``` -### 敏感词监测 +## 敏感词监测 回调请求主要字段含义: @@ -3057,7 +3093,7 @@ app 用户状态分为在线和离线两种,即用户已连接到环信即时 } ``` -### Reaction 回调事件 +## Reaction 回调事件 若对消息中的表情回复 Reaction 进行了操作,环信服务器会向你的 app server 发送回调请求。 @@ -3151,7 +3187,7 @@ Reaction 回调请求中的字段含义如下表所示: } ``` -### Thread 回调事件 +## Thread 回调事件 若对 Thread 中的一条消息进行相关操作,包括发送、撤回或修改,环信服务器会向你的 app server 发送回调请求。 diff --git a/docs/document/server-side/group_member_obtain.md b/docs/document/server-side/group_member_obtain.md index 8ec06894c..b499bfc19 100644 --- a/docs/document/server-side/group_member_obtain.md +++ b/docs/document/server-side/group_member_obtain.md @@ -53,7 +53,7 @@ GET https://{host}/{org_name}/{app_name}/chatgroups/{group_id}/users?pagenum={N} | :--------- | :--- | :------- | :------------------- | | `pagenum` | Int | 否 | 当前页码。默认从第 1 页开始获取。 | | `pagesize` | Int | 否 | 每页期望返回的群组成员数量。取值范围为 [1,1000]。默认为 `1000`。若传入的值大于 `1000`,则获取 1000 个群组成员。 | -| `joined_time` | Bool | 否 | 是否需返回用户加入群组的时间:
- `true`:返回
- `false`:不返回 | +| `joined_time` | Bool | 否 | 是否需返回用户加入群组的时间:
- `true`:返回
- (默认)`false`:不返回 | #### 请求 header @@ -79,6 +79,8 @@ GET https://{host}/{org_name}/{app_name}/chatgroups/{group_id}/users?pagenum={N} | `entities` | JSON | 响应实体。 | | `data` | JSON Array | 群组成员信息。 | | `data.owner` | String | 群主的用户 ID。例如:{“owner”: “user1”}。 | +| `data.admin` | String | 群组管理员的用户 ID。例如:{“admin”: “user2”}。 | +| `data.member` | String | 群组普通成员的用户 ID。例如:{“member”: “user3”}。 | | `data.joined_time` | String | 加入群组的时间。 | | `timestamp` | Long | HTTP 响应的 Unix 时间戳,单位为毫秒。 | | `duration` | Long | 从发送 HTTP 请求到响应的时长,单位为毫秒。 | @@ -97,7 +99,7 @@ GET https://{host}/{org_name}/{app_name}/chatgroups/{group_id}/users?pagenum={N} ```shell # 将 替换为你在服务端生成的 App Token -curl -X GET HTTP://XXXX/XXXX/XXXX/chatgroups/10XXXX85/users?pagesize=1000&pagenum=1&joined_time=true' \ +curl -X GET HTTP://XXXX/XXXX/XXXX/chatgroups/10XXXX85/users?pagesize=1000&pagenum=1&joined_time=true' \ -H 'Authorization: Bearer ' ``` @@ -106,8 +108,11 @@ curl -X GET HTTP://XXXX/XXXX/XXXX/chatgroups/10XXXX85/users?pagesize=1000&pagenu ```json { "action": "get", - "application": "52XXXXf0", + "application": "cc7380d5-XXXX-XXXX-a93e-51d6d590b475", "params": { + "joined_time": [ + "true" + ], "pagesize": ["2"], "pagenum": ["2"] }, @@ -115,17 +120,23 @@ curl -X GET HTTP://XXXX/XXXX/XXXX/chatgroups/10XXXX85/users?pagesize=1000&pagenu "entities": [], "data": [ { - "owner": "user1" + "owner": "user1", + "joined_time": 1732524850107 }, { - "member": "user2" + "admin": "user", + "joined_time": 173252433307 + }, + { + "member": "user3", + "joined_time": 173252433456 } ], "timestamp": 1489074511416, "duration": 0, "organization": "XXXX", "applicationName": "testapp", - "count": 2 + "count": 1 } ``` From 10f0c9b776f54d669fdf9cc75528407b0ebc45ec Mon Sep 17 00:00:00 2001 From: haoxiuwen Date: Wed, 27 Nov 2024 14:06:45 +0800 Subject: [PATCH 2/5] modify --- .../server-side/callback_configurations.md | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/docs/document/server-side/callback_configurations.md b/docs/document/server-side/callback_configurations.md index d81e56d1d..b4eec2f53 100644 --- a/docs/document/server-side/callback_configurations.md +++ b/docs/document/server-side/callback_configurations.md @@ -44,7 +44,7 @@ app 的响应内容不能超过 1,000 个字符。 | chat:user:file | {“bodies”:{“type”:“file”}} | 单聊中发送文件消息 | | chat:user:command | {“bodies”:{“type”:“cmd”}} | 单聊中发送命令消息 | | chat:user:custom | {“bodies”:{“type”:“custom”}} | 单聊中发送自定义消息 | -| chat:user:combine | {“bodies”:{“subType”:“sub_combine”}} | 单聊中发送合并消息 | +| chat:user:combine | {“bodies”:{“type”:“txt”,“subType”:“sub_combine”}} | 单聊中发送合并消息 | | chat:user:unknown | {“bodies”:{“type”:“unknown”}} | 单聊中发送未知消息 | #### 回调请求的包体示例 @@ -212,29 +212,45 @@ payload 示例: | `combineLevel` | Int | 合并消息的嵌套层级数。 | | `file_length` | Int | 合并消息附件的大小,单位为字节。 | | `filename` | String | 合并消息的附件名称。 | +| `msg` | String | 合并消息的兼容文本。当支持合并消息的 SDK 向不支持合并消息的低版本 SDK 发送消息时,低版本的 SDK 会将该属性解析为文本消息的消息内容。 | | `secret` | String | 合并消息附件的访问密钥。如果[文件上传](message_download.html#上传文件) 时设置了文件访问限制,则该字段存在。 | | `subType` | String | 消息类型。合并消息为 `sub_combine`。 | | `summary` | String | 合并消息的概要。 | | `title` | String | 合并消息的标题。 | | `url` | String | 合并消息的附件的 URL 地址。你可以访问该 URL 下载该附件。 | +| `ext` | String | 合并消息的扩展信息。 | +| `from` | String | 合并消息的发送方的用户 ID。 | +| `to` | String | 接收方的用户 ID。 | +| `type` | String | 会话类型:
- `chat`: 单聊;
- `groupchat`: 群聊;
- `chatroom`: 聊天室。 | 例如,下面示例为源消息包括文本、图片和文件消息的合并消息格式: ```json -"bodies": -[ - { - "combineLevel": 1, - "file_length": 550, - "filename": "17289718748990036", - "secret": "a_OTmoq6Ee-CygH0PRzcUyFniZDmSsX1ur0j-9RtCj3tK6Gr", - "subType": "sub_combine", - "summary": ":yyuu\n:[图片]\n:[文件]\n", - "title": "聊天记录", - "url": "https://XXXX/XXXX/XXXX/chatfiles/6bf39390-8aba-11ef-a8ae-6f545c50ca23" + "payload": { + "bodies": [ + { + "combineLevel": 1, + "file_length": 1059, + "filename": "17326799853580001", + "msg": "当前版本过低,无法展示对应内容。", + "secret": "CeycYKx0Ee-I3fU0d5v4X9BduteO1RZNVsePAgkDQ9sxoVJM", + "subType": "sub_combine", + "summary": "wzy1: 你在哪里?\nwzy1: 你在哪里?\nwzy1: 你在哪里?", + "title": "聊天记录", + "type": "txt", + "url": "https://a1-hsb.easemob.com/easemob-demo/testy/chatfiles/09ec7550-ac74-11ef-83ce-4719989e3c82" + } + ], + "ext": { + "ease_chat_uikit_user_info": { + "nickname": "公子小白有点黑" + } + }, + "from": "user1", + "to": "user2", + "type": "chat" } -] -``` +``` ### 发送单聊消息已读回执 From d1420c683cba369099eeb08602131d1e9db2a41b Mon Sep 17 00:00:00 2001 From: haoxiuwen Date: Wed, 27 Nov 2024 14:19:45 +0800 Subject: [PATCH 3/5] modify --- docs/document/server-side/callback_configurations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/document/server-side/callback_configurations.md b/docs/document/server-side/callback_configurations.md index b4eec2f53..adad398f3 100644 --- a/docs/document/server-side/callback_configurations.md +++ b/docs/document/server-side/callback_configurations.md @@ -292,7 +292,7 @@ payload 示例: } ``` -## 发送群组消息 +### 发送群组消息 | content_type | payload 中类型 | 触发事件 | | :---------------- | :---------------------------- | :----------------- | @@ -308,7 +308,7 @@ payload 示例: | chat:group:combine | {“bodies”:{“subType”:“sub_combine”}} | 群组中发送合并消息 | | chat:group:unknown | {“bodies”:{“type”:“unknown”}} | 群组中发送未知消息 | -### 回调请求的包体示例 +#### 回调请求的包体示例 | 字段 | 数据类型 | 含义 | | :------- | :------- | :----------------------------------------------------------- | @@ -346,7 +346,7 @@ payload 之外的字段如下表所示: 群组消息的 payload 与单聊消息相同,详见[发送单聊消息](#发送单聊消息)。 -## 发送聊天室消息 +### 发送聊天室消息 | content_type | payload 中类型 | 触发事件 | | :--------------- | :---------------------------- | :------------------- | From 527e4df36dc6e43c84f25d826c741a7cb7081a8b Mon Sep 17 00:00:00 2001 From: haoxiuwen Date: Wed, 27 Nov 2024 14:28:56 +0800 Subject: [PATCH 4/5] modify --- docs/document/server-side/callback_configurations.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/document/server-side/callback_configurations.md b/docs/document/server-side/callback_configurations.md index adad398f3..abaed1f9a 100644 --- a/docs/document/server-side/callback_configurations.md +++ b/docs/document/server-side/callback_configurations.md @@ -305,7 +305,7 @@ payload 示例: | chat:group:file | {“bodies”:{“type”:“file”}} | 群组中发送文件消息 | | chat:group:command | {“bodies”:{“type”:“cmd”}} | 群聊中发送命令消息 | | chat:group:custom | {“bodies”:{“type”:“custom”}} | 群组中发送自定义消息 | -| chat:group:combine | {“bodies”:{“subType”:“sub_combine”}} | 群组中发送合并消息 | +| chat:group:combine | {“bodies”:{“type”:“txt”,“subType”:“sub_combine”}} | 群组中发送合并消息 | | chat:group:unknown | {“bodies”:{“type”:“unknown”}} | 群组中发送未知消息 | #### 回调请求的包体示例 @@ -359,7 +359,7 @@ payload 之外的字段如下表所示: | chat:room:file | {“bodies”:{“type”:“file”}} | 聊天室中发文件消息 | | chat:room:command | {“bodies”:{“type”:“cmd”}} | 聊天室中发命令消息 | | chat:room:custom | {“bodies”:{“type”:“custom”}} | 聊天室中发自定义消息 | -| chat:room:combine | {“bodies”:{“subType”:“sub_combine”}} | 聊天室中发自定义消息 | +| chat:room:combine | {“bodies”:{“type”:“txt”,“subType”:“sub_combine”}} | 聊天室中发自定义消息 | | chat:room:unknown | {“bodies”:{“type”:“unknown”}} | 聊天室中发未知消息 | ### 回调请求的包体示例 @@ -398,6 +398,8 @@ payload 之外的字段如下表所示: | `callId` | String | `callId` 为每个回调请求的唯一标识,格式为 “App Key_发送的消息的 ID”。 | | `msg_id` | String | 发送的消息 ID。 | +聊天室消息的 payload 与单聊消息相同,详见[发送单聊消息](#发送单聊消息)。 + ## 消息撤回 | 事件 | payload 中类型 | 触发事件 | From 4b5cc2486d5e3d82857148b76f09d9f518ef8225 Mon Sep 17 00:00:00 2001 From: haoxiuwen Date: Wed, 27 Nov 2024 14:30:34 +0800 Subject: [PATCH 5/5] modify --- docs/product/help.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/product/help.md b/docs/product/help.md index 991f85f81..de92cc95a 100644 --- a/docs/product/help.md +++ b/docs/product/help.md @@ -22,10 +22,6 @@ ![](/images/product/help-ticket2.jpeg) -## FAQ 帮助中心 - -[环信 FAQ 帮助中心](https://faq.easemob.com/)提供各客户端、RESTful API、环信控制台以及商务相关的常见问题,您在遇到问题时可以查看,快速找到答案。 - ## IM Geek 社区 [IM Geek 开发者社区](https://www.imgeek.net) 中的环信专区/环信技术交流板块提供了集成常见问题的讨论和解答,供您参考。您也可以登录该社区后,在导航栏点击 **发起** > **问题**发帖提问,我们的技术和服务人员会及时解答您的疑问!