浏览 SDKs · 公共参考
SDKs

客户端 SDK 错误码

识别 OpenIMClientSDK 通用错误码、区分错误来源,并按网络、登录、消息和群组场景处理。

复制

适用范围

本页汇总 OpenIMClientSDK 的通用客户端错误码。iOS、Android、Flutter、WASM、Electron 等客户端虽然通过不同语言的失败回调、异常或 Promise 暴露错误,但由 OpenIM SDK Core 返回的错误码语义保持一致。平台封装层、操作系统或运行时仍可能补充本页未列出的错误,处理时应同时保留错误信息和客户端 SDK 版本。

客户端调用还可能直接返回 OpenIMServer 的业务错误。此时不要只按客户端错误码表判断,应结合错误码来源处理。

判断错误来源

错误码来源处理方式
0通用成功码表示业务处理成功,继续读取当前 API 的返回数据。
1~9999OpenIMServer服务端 Platform API 错误码排查参数、权限、Token、群组或消息状态。
本页列出的 10000~10401OpenIMClientSDK按客户端网络、生命周期、本地数据和操作条件排查。错误码并不连续,不要根据范围推断未定义值。
20001~29999业务服务端或 Webhook由接入方业务系统定义,应在业务后端维护含义和用户提示。

通用与登录状态

错误码含义处理建议
10000网络请求失败检查设备网络、API 地址、WebSocket 地址、TLS 证书和代理配置。网络恢复后再重试。
10001网络请求超时检查网络质量和服务状态。对于会改变状态的操作,先查询实际结果,再决定是否重试。
10002参数无效对照当前 API 页面检查必填字段、数据类型、枚举值和互斥参数。
10003调用上下文已超时或取消检查调用方超时设置、页面或任务生命周期,以及登录状态是否在调用期间发生变化。
10004资源初始化尚未完成该错误可能出现在仍使用此定义的客户端版本中。等待 SDK 初始化和登录完成后再调用依赖本地资源的 API。
10005未识别的错误保留错误信息、SDK 版本和触发 API;确认可复现步骤后再升级或提交诊断信息。
10006SDK 内部错误收集客户端日志和最小复现步骤,检查 SDK 版本兼容性;不要把内部错误信息直接展示给最终用户。
10007没有可应用的更新当前同步或更新操作没有产生新数据。通常可继续使用现有状态,并按具体 API 的结果决定是否刷新。
10008SDK 尚未初始化先完成当前平台的 SDK 初始化流程,并等待初始化成功后再调用其他 API。
10009SDK 尚未完成登录等待登录成功事件或回调后再调用登录态 API,避免并发或重复发起登录。
10100用户 ID 不存在或尚未注册确认用户已由可信业务后端注册到 OpenIMServer,并检查客户端使用的 userID
10101用户已经退出登录停止调用登录态 API,清理当前会话状态;需要继续使用时重新获取 Token 并登录。
10102重复登录不要在前一次登录尚未结束时再次登录。复用当前 SDK 实例,或先完成退出再切换账号。

消息相关错误

错误码含义处理建议
10200文件不存在检查本地文件路径、临时文件有效期和读取权限,再重新创建或上传文件消息。
10201消息解压失败检查客户端与服务端版本兼容性并重新同步消息;持续出现时保留日志排查消息数据。
10202WebSocket 二进制消息解码失败检查客户端与服务端协议版本是否匹配,并排查代理是否修改了 WebSocket 数据。
10203不支持的消息或二进制协议类型使用当前 SDK 支持的消息类型,并确认客户端与服务端版本兼容。
10204当前消息不允许重复发送只有发送失败的原消息可以重发;发送成功的消息如需再次发送,应重新创建消息对象。
10205不支持的消息内容类型改用已支持的消息类型,或在客户端和服务端都完成对应自定义消息的兼容处理。
10206消息没有服务端序列号该消息尚未具备依赖 seq 的操作条件。等待发送或同步完成,并以最新消息对象重试。
10207消息已经删除从界面和本地业务状态移除该消息,不要继续对旧消息对象执行修改、撤回或查询操作。

会话与群组错误

错误码含义处理建议
10301当前会话或群类型不支持该操作检查 API 的适用会话和群类型,不要对不支持的群组执行该操作。
10302当前操作只支持指定群类型确认目标群的 groupType,并改用与该群类型匹配的 API。
10303当前未读数已经为 0以最新会话状态刷新界面,不要继续递减或重复清理未读数。
10400群组 ID 不存在检查 groupID,重新查询群资料,并确认群组尚未解散。
10401群组类型无效使用当前 SDK 和 OpenIMServer 支持的群类型,并检查创建或查询结果中的 groupType

版本兼容

错误码定义会随客户端 SDK 版本演进。10004 存在于部分已发布版本中;当前 OpenIM SDK Core 已将初始化与登录准备状态进一步区分为 1000810009。维护兼容旧版本的应用时可以继续识别 10004,新逻辑应优先分别处理未初始化和未登录状态。

不要把未出现在本页的整数自动归类为某个客户端错误。遇到未知错误时,应先确认错误来自客户端、OpenIMServer 还是业务 Webhook,再结合当前 SDK 版本的错误信息和发布说明处理。

处理建议

  1. 先记录错误码、错误信息、调用的 API、客户端 SDK 版本和必要的业务目标标识;Token、完整消息内容等敏感信息必须脱敏。
  2. 参数、登录状态和不支持的操作应先修正调用条件,不要自动重试。
  3. 网络失败和超时可以采用退避重试;发送消息或其他状态变更操作重试前,应先查询或同步实际状态,避免重复执行。
  4. 将技术错误映射为稳定的产品提示,不要直接把内部错误信息展示给最终用户。
  5. 1000510006 或解码类错误持续出现时,保留完整日志并使用对应平台的WASM 日志iOS 日志Flutter 日志Electron 日志上传说明进行诊断。

本页根据旧版客户端错误码说明迁移,并与 OpenIM SDK Core 当前错误码定义兼容版本定义核对。