Skip to content

Commit

Permalink
docs: update api documents (#169)
Browse files Browse the repository at this point in the history
  • Loading branch information
acbin committed Oct 9, 2023
1 parent db67d2a commit 8b576a4
Show file tree
Hide file tree
Showing 61 changed files with 124 additions and 124 deletions.
4 changes: 2 additions & 2 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ String key = "60c6c5925f3ae52c7325ac5a8ec78e44c056d1dd84d54e12ffa39911267a2a70";
// 创建 IM 客户端实例
ImClient client = ImClient.getInstance(appId, userId, key);

// 导入帐号
// 导入账号
AccountImportRequest request = new AccountImportRequest("doocs");
request.setFaceUrl("https://avatars.githubusercontent.com/u/43716716?s=200&v=4");
request.setNick("Doocs Community");
Expand All @@ -65,7 +65,7 @@ try {

本项目,我们使用 `dev` 作为开发分支,如果你希望参与本项目,请参考以下步骤:

1. 将本项目 fork 到你的个人帐号下
1. 将本项目 fork 到你的个人账号下
2. 将 fork 后的项目 clone 到你本地项目
3. 创建一个新的分支,并添加你的变更
4. 将你的分支与我们上游最新代码保持同步
Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ actions:
link: /guide/
type: secondary
features:
- title: 帐号管理
details: 导入、删除、查询帐号等
- title: 账号管理
details: 导入、删除、查询账号等
- title: 单聊消息
details: 发送、查询、撤回、已读消息等
- title: 全员推送
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

-[注册腾讯云](https://cloud.tencent.com/document/product/378/17985) 账号并完成 [实名认证](https://cloud.tencent.com/document/product/378/3629)
- 已登录 [即时通信 IM 控制台](https://console.cloud.tencent.com/im) 并创建了应用。创建完成后,可以拿到 `sdkAppId` 以及 `key`
- 已创建 App 管理员帐号 `userId`,也即 `identifier`
- 已创建 App 管理员账号 `userId`,也即 `identifier`

<img src="../assets/create_identifier.png" />

Expand Down
36 changes: 18 additions & 18 deletions docs/guide/account.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# 帐号管理
# 账号管理

## 导入单个帐号
## 导入单个账号

本接口用于将 App 自有帐号导入即时通信 IM 帐号系统,为该帐号创建一个对应的内部 ID,使该帐号能够使用即时通信 IM 服务。
本接口用于将 App 自有账号导入即时通信 IM 账号系统,为该账号创建一个对应的内部 ID,使该账号能够使用即时通信 IM 服务。

::: tip
同一个帐号重复导入仅会创建 1 个内部 ID。
同一个账号重复导入仅会创建 1 个内部 ID。
:::

使用示例:
Expand All @@ -20,11 +20,11 @@ AccountImportRequest request = AccountImportRequest.builder()
AccountImportResult result = client.account.accountImport(request);
```

## 导入多个帐号
## 导入多个账号

本接口用于批量将 App 自有帐号导入即时通信 IM 帐号系统,为该帐号创建一个对应的内部 ID,使该帐号能够使用即时通信 IM 服务。
本接口用于批量将 App 自有账号导入即时通信 IM 账号系统,为该账号创建一个对应的内部 ID,使该账号能够使用即时通信 IM 服务。

注意: 本接口单次最多支持导入 100 个帐号,且不支持导入帐号的昵称和头像信息。请使用 [资料管理-设置资料](./profile.md#设置资料) 设置其他信息。
注意: 本接口单次最多支持导入 100 个账号,且不支持导入账号的昵称和头像信息。请使用 [资料管理-设置资料](./profile.md#设置资料) 设置其他信息。

使用示例:

Expand All @@ -37,11 +37,11 @@ MultiAccountImportRequest request = new MultiAccountImportRequest(accounts);
MultiAccountImportResult result = client.account.multiAccountImport(request);
```

## 删除帐号
## 删除账号

- 仅支持删除套餐包类型为 IM 体验版的帐号,其他类型的账号(如:TRTC、白板、专业版、旗舰版)无法删除。
- 帐号删除时,该用户的关系链、资料等数据也会被删除
- 帐号删除后**该用户的数据将无法恢复**,请谨慎使用该接口。
- 仅支持删除套餐包类型为 IM 体验版的账号,其他类型的账号(如:TRTC、白板、专业版、旗舰版)无法删除。
- 账号删除时,该用户的关系链、资料等数据也会被删除
- 账号删除后**该用户的数据将无法恢复**,请谨慎使用该接口。

使用示例:

Expand All @@ -54,9 +54,9 @@ AccountDeleteRequest request = new AccountDeleteRequest(deleteItems);
AccountDeleteResult result = client.account.accountDelete(request);
```

## 查询帐号
## 查询账号

用于查询自有帐号是否已导入即时通信 IM, 支持批量查询。
用于查询自有账号是否已导入即时通信 IM, 支持批量查询。

使用示例:

Expand All @@ -69,14 +69,14 @@ AccountCheckRequest request = new AccountCheckRequest(checkItems);
AccountCheckResult result = client.account.accountCheck(request);
```

## 失效帐号登录状态
## 失效账号登录状态

本接口适用于将 App 用户帐号的登录状态(例如 UserSig)失效。
本接口适用于将 App 用户账号的登录状态(例如 UserSig)失效。

例如,开发者判断一个用户为恶意帐号后,可以调用本接口将该用户当前的登录状态失效,这样用户使用历史 UserSig 登录即时通信 IM 会失败。
例如,开发者判断一个用户为恶意账号后,可以调用本接口将该用户当前的登录状态失效,这样用户使用历史 UserSig 登录即时通信 IM 会失败。

::: warning
支持一次失效一个帐号,用户可以使用重新生成的 UserSig 登录即时通信 IM
支持一次失效一个账号,用户可以使用重新生成的 UserSig 登录即时通信 IM
:::

使用示例:
Expand All @@ -87,7 +87,7 @@ KickRequest request = new KickRequest("user2");
KickResult result = client.account.kick(request);
```

## 查询帐号在线状态
## 查询账号在线状态

获取用户当前的登录状态。

Expand Down
8 changes: 4 additions & 4 deletions docs/guide/member.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
- 支持按用户属性推送。
- 支持按用户标签推送。
- 管理员推送消息,接收方看到消息发送者是管理员。
- 管理员指定某一帐号向其他帐号推送消息,接收方看到发送者不是管理员,而是管理员指定的帐号
- 管理员指定某一账号向其他账号推送消息,接收方看到发送者不是管理员,而是管理员指定的账号
- 支持消息离线存储,不支持漫游。
- 由于全员推送需要下发的帐号数量巨大,下发完全部帐号需要一定时间(根据帐号总数而定,一般在一分钟内)。
- 由于全员推送需要下发的账号数量巨大,下发完全部账号需要一定时间(根据账号总数而定,一般在一分钟内)。
- 支持只推在线用户,需要将 MsgLifeTime 参数设置为 0。

::: tip
Expand Down Expand Up @@ -62,7 +62,7 @@ ImGetAttrNameResult result = client.member.imGetAttrName(request);

## 获取用户属性

获取用户属性(必须以管理员帐号调用);每次最多只能获取 100 个用户的属性。使用前请先 [设置应用属性名称](#设置应用属性名称)
获取用户属性(必须以管理员账号调用);每次最多只能获取 100 个用户的属性。使用前请先 [设置应用属性名称](#设置应用属性名称)

使用示例:

Expand Down Expand Up @@ -112,7 +112,7 @@ ImRemoveAttrResult result = client.member.imRemoveAttr(request);

## 获取用户标签

获取用户标签(必须以管理员帐号调用)。每次最多只能获取 100 个用户的标签。
获取用户标签(必须以管理员账号调用)。每次最多只能获取 100 个用户的标签。

使用示例:

Expand Down
10 changes: 5 additions & 5 deletions docs/guide/message.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

## 单发单聊消息

- 管理员向帐号发消息,接收方看到消息发送者是管理员。
- 管理员指定某一帐号向其他帐号发消息,接收方看到发送者不是管理员,而是管理员指定的帐号
- 管理员向账号发消息,接收方看到消息发送者是管理员。
- 管理员指定某一账号向其他账号发消息,接收方看到发送者不是管理员,而是管理员指定的账号
- 该接口不会检查发送者和接收者的好友关系(包括黑名单),同时不会检查接收者是否被禁言。
- 该接口默认不会检查接收者对发送者是否设置了免打扰,如需检查,请在"SendMsgControl"字段填上"WithMuteNotifications"。
- 单聊消息 MsgSeq 字段的作用及说明:该字段在发送消息时由用户自行指定,该值可以重复,非后台生成,非全局唯一。与群聊消息的 MsgSeq 字段不同,群聊消息的 MsgSeq 由后台生成,每个群都维护一个 MsgSeq,从 1 开始严格递增。单聊消息历史记录对同一个会话的消息先以时间戳排序,同秒内的消息再以 MsgSeq 排序。
Expand Down Expand Up @@ -31,7 +31,7 @@ SendMsgResult result = client.message.sendMsg(request);
- 支持一次对最多 500 个用户进行单发消息。
- 与单发消息相比,该接口更适用于营销类消息、系统通知 tips 等时效性较强的消息。
- 若消息不需要计入未读数,也不需要存储聊天记录,则可将 MsgLifeTime 字段设置为 0,这样可以带来更快的消息下发速度。
- 管理员指定某一帐号向目标帐号批量发消息,接收方看到发送者不是管理员,而是管理员指定的帐号
- 管理员指定某一账号向目标账号批量发消息,接收方看到发送者不是管理员,而是管理员指定的账号
- 该接口不触发回调请求。
- 该接口不会检查发送者和接收者的好友关系(包括黑名单),同时不会检查接收者是否被禁言。
- 该接口默认不会检查接收者对发送者是否设置了免打扰,如需检查,请在"SendMsgControl"字段填上"WithMuteNotifications"。
Expand Down Expand Up @@ -86,7 +86,7 @@ ImportMsgResult result = client.message.importMsg(request);
- 管理员按照时间范围查询某单聊会话的消息记录。
- 查询的单聊会话由请求中的 From_Account 和 To_Account 指定。查询结果包含会话双方互相发送的消息,具体每条消息的发送方和接收方由每条消息里的 From_Account 和 To_Account 指定。
- 一般情况下,请求中的 From_Account 和 To_Account 字段值互换,查询结果不变。但通过 [单发单聊消息](#单发单聊消息)[批量发单聊消息](#批量发单聊消息) 接口发送的消息,如果指定 SyncOtherMachine 值为 2,则需要指定正确的 From_Account 和 To_Account 字段值才能查询到该消息。
例如,通过 [单发单聊消息](#单发单聊消息) 接口指定帐号 A 给帐号 B 发一条消息,同时指定 SyncOtherMachine 值为 2。则调用本接口时,From_Account 必须设置为帐号 B,To_Account 必须设置为帐号 A 才能查询到该消息。
例如,通过 [单发单聊消息](#单发单聊消息) 接口指定账号 A 给账号 B 发一条消息,同时指定 SyncOtherMachine 值为 2。则调用本接口时,From_Account 必须设置为账号 B,To_Account 必须设置为账号 A 才能查询到该消息。
- 查询结果包含被撤回的消息,由消息里的 MsgFlagBits 字段标识。
- 若想通过 [撤回单聊消息](#撤回单聊消息) 接口撤回某条消息,可先用本接口查询出该消息的 MsgKey,然后再调用撤回接口进行撤回。
- 可查询的消息记录的时间范围取决于漫游消息存储时长,默认是 7 天。支持在控制台修改消息漫游时长,延长消息漫游时长是增值服务。具体请参考 [漫游消息存储](https://cloud.tencent.com/document/product/269/3571#.E6.BC.AB.E6.B8.B8.E6.B6.88.E6.81.AF.E5.AD.98.E5.82.A8)
Expand Down Expand Up @@ -168,7 +168,7 @@ AdminSetMsgReadResult result = client.message.setMsgRead(request);

## 查询单聊未读消息计数

App 后台可以通过该接口查询特定帐号的单聊总未读数(包含所有的单聊会话)或者单个单聊会话的未读数。
App 后台可以通过该接口查询特定账号的单聊总未读数(包含所有的单聊会话)或者单个单聊会话的未读数。

使用示例:

Expand Down
8 changes: 4 additions & 4 deletions docs/guide/operation_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

## 设置全局禁言

- 设置帐号的单聊消息全局禁言
- 设置帐号的群组消息全局禁言
- 设置账号的单聊消息全局禁言
- 设置账号的群组消息全局禁言

使用示例:

Expand All @@ -19,8 +19,8 @@ SetNoSpeakingResult result = client.operation.setNoSpeaking(request);

## 查询全局禁言

- 查询帐号的单聊消息全局禁言
- 查询帐号的群组消息全局禁言
- 查询账号的单聊消息全局禁言
- 查询账号的群组消息全局禁言

使用示例:

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/profile.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ PortraitSetResult result = client.profile.portraitSet(request);
- 支持拉取好友和非好友的资料字段。
- 支持拉取 [标配资料字段](https://cloud.tencent.com/document/product/269/1500#.E6.A0.87.E9.85.8D.E8.B5.84.E6.96.99.E5.AD.97.E6.AE.B5)[自定义资料字段](https://cloud.tencent.com/document/product/269/1500#.E8.87.AA.E5.AE.9A.E4.B9.89.E8.B5.84.E6.96.99.E5.AD.97.E6.AE.B5)
- 建议每次拉取的用户数不超过 100,避免因回包数据量太大导致回包失败。
- 请确保请求中的所有帐号都已导入即时通信 IM,如果请求中含有未导入即时通信 IM 的帐号,即时通信 IM 后台将会提示错误。
- 请确保请求中的所有账号都已导入即时通信 IM,如果请求中含有未导入即时通信 IM 的账号,即时通信 IM 后台将会提示错误。

使用示例:

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ ImClient client = ImClient.getInstance(appId, userId, key, config);

获取到 `ImClient` 实例后,就可以方便地进行 REST API 调用了。

我们以 [帐号管理-导入单个帐号](./account.md#导入单个帐号) 为例:
我们以 [账号管理-导入单个账号](./account.md#导入单个账号) 为例:

```java
AccountImportRequest request = AccountImportRequest.builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package io.github.doocs.im.constant;

/**
* 单个帐号的导入状态
* 单个账号的导入状态
*
* @author bingo
* @since 2022/1/17 16:12
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/io/github/doocs/im/constant/ErrorCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ public enum ErrorCode {
MSG_TEXT_SECURITY_STRIKE(80001, "消息文本安全打击"),
HTTP_PARSE_ERROR(60002, "HTTP 解析错误 ,请检查 HTTP 请求 URL 格式"),
HTTP_JSON_PARSE_ERROR(60002, "HTTP 请求 JSON 解析错误,请检查 JSON 格式"),
WRONG_ACCOUNT_OR_SIGNATURE(60004, "请求 URL 或 JSON 包体中帐号或签名错误"),
WRONG_ACCOUNT_OR_SIGNATURE_2(60005, "请求 URL 或 JSON 包体中帐号或签名错误"),
WRONG_ACCOUNT_OR_SIGNATURE(60004, "请求 URL 或 JSON 包体中账号或签名错误"),
WRONG_ACCOUNT_OR_SIGNATURE_2(60005, "请求 URL 或 JSON 包体中账号或签名错误"),
INVALID_SDK_APP_ID(60006, "SDKAppID 失效,请核对 SDKAppID 有效性"),
EXCEED_FREQUENCY_LIMIT_REST_API(60007, "REST 接口调用频率超过限制,请降低请求频率"),
SERVICE_TIMEOUT_OR_WRONG_HTTP_REQUEST_FORMAT(60008, "服务请求超时或 HTTP 请求格式错误,请检查并重试"),
Expand All @@ -24,8 +24,8 @@ public enum ErrorCode {
EXCEED_FREQUENCY_LIMIT_SDK_APP_ID(60011, "SDKAppID 请求频率超限,请降低请求频率"),
NEED_SDK_APP_ID(60012, "REST 接口需要带 SDKAppID,请检查请求 URL 中的 SDKAppID"),
HTTP_RESPONSE_JSON_PARSE_ERROR(60013, "HTTP 响应包 JSON 解析错误"),
DISPLACE_ACCOUNT_TIMEOUT(60014, "置换帐号超时"),
WRONG_ACCOUNT_TYPE(60015, "请求包体帐号类型错误,请确认帐号为字符串格式"),
DISPLACE_ACCOUNT_TIMEOUT(60014, "置换账号超时"),
WRONG_ACCOUNT_TYPE(60015, "请求包体账号类型错误,请确认账号为字符串格式"),
SDK_APP_ID_DISABLED(60016, "SDKAppID 被禁用"),
REQUEST_DISABLED(60017, "请求被禁用"),
REQUEST_TOO_FREQUENT(60018, "请求过于频繁,请稍后重试"),
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/io/github/doocs/im/core/Account.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@
import java.io.IOException;

/**
* 帐号管理
* 账号管理
*
* @author hyh
* @since 2021/07/29 14:52
*/
public class Account {
/**
* 帐号管理服务名
* 账号管理服务名
*/
public static final String SERVICE_NAME = "im_open_login_svc";
public static final String SERVICE_NAME_OPEN_IM = "openim";

/**
* 帐号管理相关命令字
* 账号管理相关命令字
*/
public static final String ACCOUNT_IMPORT_COMMAND = "account_import";
public static final String MULTI_ACCOUNT_IMPORT_COMMAND = "multiaccount_import";
Expand All @@ -37,7 +37,7 @@ public Account(ImClient imClient) {
}

/**
* 导入单个帐号
* 导入单个账号
*
* @param accountImportRequest 请求参数
* @return 结果
Expand All @@ -54,7 +54,7 @@ public AccountImportResult accountImport(AccountImportRequest accountImportReque
}

/**
* 导入多个帐号
* 导入多个账号
*
* @param multiAccountImportRequest 请求参数
* @return 结果
Expand All @@ -71,7 +71,7 @@ public MultiAccountImportResult multiAccountImport(MultiAccountImportRequest mul
}

/**
* 删除帐号
* 删除账号
*
* @param accountDeleteRequest 请求参数
* @return 结果
Expand All @@ -88,7 +88,7 @@ public AccountDeleteResult accountDelete(AccountDeleteRequest accountDeleteReque
}

/**
* 查询帐号
* 查询账号
*
* @param accountCheckRequest 请求参数
* @return 结果
Expand All @@ -105,7 +105,7 @@ public AccountCheckResult accountCheck(AccountCheckRequest accountCheckRequest,
}

/**
* 失效帐号登录状态
* 失效账号登录状态
*
* @param kickRequest 请求参数
* @return 结果
Expand All @@ -122,7 +122,7 @@ public KickResult kick(KickRequest kickRequest, long random) throws IOException
}

/**
* 查询帐号在线状态
* 查询账号在线状态
*
* @param queryOnlineStatusRequest 请求参数
* @return 结果
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class FriendAddCallback implements Serializable {
private String clientCmd;

/**
* 如果当前请求是后台触发的加好友请求,则该字段被赋值为管理员帐号;否则为空
* 如果当前请求是后台触发的加好友请求,则该字段被赋值为管理员账号;否则为空
*/
@JsonProperty("Admin_Account")
private String adminAccount;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public static class Info {
/**
* 用户上下线触发的原因:
* Login 的原因有 Register:App TCP 连接建立或断网重连
* Logout 的原因有 Unregister:App 用户注销帐号导致 TCP 断开
* Logout 的原因有 Unregister:App 用户注销账号导致 TCP 断开
* Disconnect 的原因有
* - LinkClose:即时通信 IM 检测到 App TCP 连接断开(例如 kill App,客户端发出 TCP 的 FIN 包或 RST 包);
* - TimeOut:即时通信 IM 检测到 App 心跳包超时,认为 TCP 已断开(例如客户端网络异常断开,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public class GroupInfo implements Serializable {
private String faceUrl;

/**
* 群主 ID(需是 已导入 的帐号)。填写后自动添加到群成员中;如果不填,群没有群主
* 群主 ID(需是 已导入 的账号)。填写后自动添加到群成员中;如果不填,群没有群主
*/
@JsonProperty("Owner_Account")
private String ownerAccount;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
public class AccountCheckItem implements Serializable {
private static final long serialVersionUID = 1772994579121597085L;
/**
* 请求检查的帐号的 UserID
* 请求检查的账号的 UserID
*/
@JsonProperty("UserID")
private String userId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import java.util.List;

/**
* 查询帐号-请求参数
* 查询账号-请求参数
*
* @author bingo
* @since 2021/7/30 17:26
Expand All @@ -16,7 +16,7 @@
public class AccountCheckRequest extends GenericRequest implements Serializable {
private static final long serialVersionUID = 6003560017368200679L;
/**
* 请求检查的帐号对象数组,单次请求最多支持100个帐号
* 请求检查的账号对象数组,单次请求最多支持100个账号
*/
@JsonProperty("CheckItem")
private List<AccountCheckItem> checkItemList;
Expand Down
Loading

0 comments on commit 8b576a4

Please sign in to comment.