浏览 平台 API
服务端 API

错误码

复制

OpenIM REST API 使用统一的错误响应结构。HTTP 请求被网关和服务端正常处理时,仍需要读取响应体中的 errCode 判断业务是否成功;errCode === 0 表示成功,非 0 表示业务错误。

响应结构

{
  "errCode": 1001,
  "errMsg": "ArgsError",
  "errDlt": "request body or header is invalid"
}
字段类型说明
errCodeintOpenIM 业务错误码。成功时为 0,失败时为非 0。
errMsgstring错误简要信息,适合写入服务端日志,不建议直接展示给最终用户。
errDltstring错误详细信息,通常用于排查具体参数、权限或服务端状态。
dataobject成功响应可能包含接口数据;错误响应通常不依赖该字段。

错误码范围

范围来源说明
0通用成功码表示请求业务处理成功。
1~9999OpenIM 服务端错误码REST API 和服务端内部能力返回的主要错误码范围。
10000~20000OpenIM 客户端错误码SDK 或客户端运行时使用的错误码范围,不作为 Platform API 服务端错误码表展开。
20001~29999业务服务端自定义 Webhooks 错误码业务后端在 Webhook 回调或自定义逻辑中返回的扩展错误码范围。

处理流程

  1. 先检查 HTTP 状态码。网络失败、网关拒绝或 5xx 响应应按基础设施问题处理。
  2. HTTP 请求完成后解析 JSON 响应,并以 errCode 作为业务成功与失败的判断依据。
  3. errCode !== 0 时,在日志中记录 operationID、接口路径、请求体摘要、errCodeerrMsgerrDlt
  4. 对鉴权、权限、参数错误优先修正请求;对服务器内部错误、数据库错误或连接限制,优先检查 OpenIM 服务状态和部署配置。
  5. 返回给最终用户的文案应由业务系统统一转换,不要直接暴露内部错误详情。

服务端错误码

错误码分类含义处理建议
0成功正常按成功响应处理,并继续读取接口特定的 data 字段。
500服务端服务器内部错误,通常为内部网络错误,需要检查服务是否正常检查 OpenIM 服务、依赖组件和内部网络,保留 operationID 交给运维排查。
1001通用请求参数错误,需检查 body 参数及 header 参数是否正确对照接口页检查请求头、JSON 字段类型、必填字段和枚举值。
1002通用请求权限不足,通常为 header 参数中携带 token 不正确或权限越级操作确认 token 是有效管理员 Token,并检查当前操作是否越权。
1003通用请求数据库主键重复检查用户、群组或业务唯一 ID 是否重复提交,必要时改为幂等处理。
1004通用请求数据库记录未找到确认目标用户、群组、消息或关系记录存在后再重试。
1101用户用户 ID 不存在确认 userID 已在 OpenIM 注册,并避免使用业务系统中尚未导入的用户。
1102用户用户已经注册注册前先查询用户是否存在;重复注册时按幂等成功或业务冲突处理。
1201群组群不存在确认 groupID 存在且群组未被删除或解散。
1202群组群已存在创建群组时更换 groupID,或先查询是否已经创建成功。
1203群组用户不在群组中先确认用户已加入该群,再执行成员相关操作。
1204群组群组已解散群已解散,停止后续群管理操作并同步业务侧群状态。
1205群组不支持的群类型检查 groupType 是否符合 OpenIM 当前支持范围。
1206群组群申请已被处理,不需重复处理把群申请处理流程做成幂等,避免重复同意或拒绝。
1301好友关系不能添加自己为好友阻止用户把自己作为好友目标提交。
1302好友关系已被对方拉黑提示存在黑名单关系,或先解除拉黑再继续好友流程。
1303好友关系对方不是自己的好友先建立好友关系,再执行依赖好友关系的操作。
1304好友关系已是好友关系,不需重复申请按已建立好友关系处理,不需要重复申请。
1401消息消息已读功能被关闭检查已读功能配置,关闭时不要继续调用依赖已读能力的流程。
1402消息已被禁言,不能在群里发言检查成员禁言结束时间,或由管理员解除禁言后再发送。
1403消息群已被禁言,不能发言检查群禁言状态,解除群禁言后再发送。
1404消息该消息已被撤回消息已撤回,业务侧应同步更新消息状态。
1405消息授权过期重新完成授权或刷新相关凭证后再重试。
1501Tokentoken 已过期刷新 Token 后重试,并检查服务端 Token 续期任务。
1502Tokentoken 无效重新签发 Token,确认签名密钥、用户 ID 和平台参数一致。
1503Tokentoken 格式错误检查 Token 字符串是否被截断、拼接或错误编码。
1504Tokentoken 还未生效检查服务端时间和 Token 生效时间,避免时钟偏差。
1505Token未知 token 错误记录完整错误详情并重新签发 Token;仍失败时检查认证服务配置。
1506Token被踢出的 token,无效该 Token 已被踢下线,要求客户端重新登录。
1507Tokentoken 不存在确认请求头或登录参数中已携带 Token。
1601连接连接数超过网关最大限制检查网关连接数限制,必要时扩容或清理异常连接。
1602连接连接握手参数错误检查连接握手参数、平台 ID、用户 ID、Token 和客户端版本。
1701文件文件上传过期重新初始化上传流程,获取新的上传凭证后再上传。

排查建议

场景建议
无法复现错误使用同一个 operationID 在业务日志、OpenIM API 日志和网关日志中串联请求链路。
大量出现 1001对照接口页检查 JSON 字段类型、必填字段、分页参数和请求头。
大量出现 10021501~1507检查管理员 Token 获取、刷新和服务端保存逻辑,确认没有把用户 Token 用在管理端接口上。
群组或成员相关错误先确认 groupID、成员身份、群状态和当前操作者角色,再重试管理操作。
文件上传错误重新初始化上传流程,并确认上传凭证、对象名和过期时间仍然有效。