注销用户
在即时通讯服务中注销用户。用户注销后,用户在即时通讯服务中存储的所有个人数据都会被删除,并且无法恢复,请谨慎操作。
适用场景
- 用户注销 App 账号:用于实现 App 注销账号功能。用户发起注销操作,成功后用户立即退出 App,并且无法再重新登录,用户所有相关的数据都会被删除,无法恢复。
- 员工离职删除账号:用于实现办公应用中员工离职后删除账号的需求。管理员发起注销操作,注销成功后,离职员工无法再使用该账号登录,并且账号相关的数据会被转移或删除。
数据清理范围
即时通讯服务仅会删除已注销用户在即时通讯服务端存储的个人数据:
- 个人信息:删除在即时通讯服务端存储的用户头像、昵称
- 消息数据:删除在即时通讯服务端存储的历史消息、离线消息、补偿消息、离线消息时长设置
- 会话信息:删除在即时通讯服务端存储的会话与会话列表、会话标签、会话设置(置顶、免打扰)
- 推送信息:关闭推送,删除用户推送 的设备信息
- 用户设置:用户的单聊黑白名单,推送语言偏好设置,是否显示推送详情
即时通讯服务不会删除已注销用户在即时通讯服务端存储的非个人数据,例如群组关系、超级群关系。
提示
注销操作不删除该用户 ID 相关的群组关系、超级群关系。如 App 业务需要,可调用相关的 IM Server API 退出用户所在群组或超级群。
注销影响与结果
发起注销后,对客户端与服务端的影响如下:
- 客户端:立即断开连接与即时通讯服务的 IM 连接。如果多端同时在线,则所有端立即断开连接。用户无法再获取 Token,无法继续通过通过 SDK 发送、接收消息。
- 客户端:SDK 的连接状态监听返回连接断开的状态码。
- 服务端:通过 Server API 发送消息时,即时通讯服务不会判断发件人的用户 ID 是否已注销。App 需要自行处理。
- 服务端回调:如果 App Key 已开通用户在线状态订阅功能,服务端会在用户的客户端断开连接后向您同步在线状态(用户登出)。
如果 App Key 已开通用户注销或激活状态回调功能,服务端会将注销完成的状态同步到您指定的服务器。
请求方法
POST: https://数据中心域名/user/deactivate.json
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。
频率限制:每秒钟限 100 个用户
正文参数
HTTP 请求正文数据格式为 application/x-www-form-urlencoded
,支持以下 HTTP 表单参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
userId | String | 是 | 被注销用户 ID,最多一次 100 个。 |
请求示例
POST /user/deactivate.json HTTP/1.1
Host: api.rong-api.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408710653491
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Content-Type: application/x-www-form-urlencoded
X-Request-ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXX(最大长度36)
userId=uid1,uid2
返回结果
HTTP 响应正文包含具有以下结构的 JSON 对象:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Number | 返回码,200 为正常。每个用户ID操作结果通过用户注销与激活状态回调传递. |
operateId | String | 操作 ID,为当前操作的唯一标识。开通用户注销与激活状态回调后,回调请求正文中会携带此参数。 |
返回结果示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
{"code":200,"operateId":"C70B-B1D6-82E7-5SBO"}