跳到主要内容

提供给客户端的App Server 接口,用于注册登录,群组创建,好友管理等业务功能

为了通信安全,API 通过自定义公共 header 进行鉴权

格式说明​

https://$api/$version/$command
参数名称描述
$api请求域名私有云部署服务后可获得请求地址
$version版本API 的版本号
$command请求指令具体的接口地址
请求头必填描述备注
appkey是应用的唯一标识
Authorization需登录接口必填登录返回的 authorization 原文,不加 Bearer 前缀登录、注册、发送验证码、生成二维码和二维码 check 免登录;confirm 仍需用户凭证

设备管理及扫码确认不允许 API Key 或内部服务凭证。新设备会话、兼容期及 authorization / im_token 用途见 设备登录规则。

错误码枚举说明​

说明:

  • 业务接口通常返回 HTTP 200,具体成功/失败以响应体 code 为准。
  • 下表为对外 API 可能返回的错误码,含义与“典型触发条件”均来自服务端源码逻辑梳理(apis/services/commons/errs)。
code常量名含义典型触发条件(从源码逻辑推导)
0IMErrorCode_SUCCESS成功请求处理成功
1IMErrorCode_PBILLEGALPB 解析失败(内部错误码)内部使用(当前未发现通过 HTTP API 直接返回的路径)
2IMErrorCode_DEFAULT默认错误通用兜底错误(当前未发现明确返回路径,更多场景使用 APP_DEFAULT)
17000IMErrorCode_APP_DEFAULT应用侧默认错误通用内部错误兜底;常见于 DB 访问异常、二维码生成/查询异常等
17001IMErrorCode_APP_APPKEY_REQUIRED缺少 appkey请求头未携带 appkey(apis/validate.go)
17002IMErrorCode_APP_NOT_EXISTED应用不存在/未配置appkey 对应应用不存在;或服务端无法获取 IM SDK 实例(如登录/短信/邮箱/二维码相关接口)
17003IMErrorCode_APP_REQ_BODY_ILLEGAL请求体/参数非法JSON 解析失败;必填字段缺失;或参数格式不合法(例如注册时 account 不匹配 ^[a-zA-Z0-9]{6,20}$)
17004IMErrorCode_APP_INTERNAL_TIMEOUT内部服务超时/调用失败服务端调用 IM Server 等外部依赖失败/超时(例如登录时向 IM Server 注册换取 im_token)
17005IMErrorCode_APP_NOT_LOGIN未登录/鉴权失败需要鉴权的接口缺少 Authorization,或 token 解析/校验失败(apis/validate.go);也可能在短信/邮箱登录流程中创建用户失败时返回
17006IMErrorCode_APP_CONTINUE继续轮询/未完成QR check 等待确认,不是设备删除 pending
17007IMErrorCode_APP_QRCODE_EXPIRED二维码过期QR check 达到创建起 10 分钟;confirm 的状态错误当前统一为 17000
17008IMErrorCode_APP_SMS_SEND_FAILED验证码发送失败短信/邮箱验证码发送失败,或验证码记录落库失败(services/smsservice.go、services/mailservice.go 等)
17009IMErrorCode_APP_SMS_CODE_EXPIRED验证码无效/过期验证码不存在、校验失败,或超过 5 分钟有效期(短信/邮箱均复用该错误码)
17010IMErrorCode_APP_TRANS_NOTRANSENGINE未配置翻译引擎调用翻译接口但未配置可用翻译引擎(services/transservice.go)
17011IMErrorCode_APP_USER_EXISTED用户已存在注册/设置账号等场景写入用户表冲突(例如账号已被占用)
17012IMErrorCode_APP_USER_NOT_EXIST用户不存在按账号/手机号/邮箱/用户ID 查询不到用户(例如账号密码登录、修改密码、二维码登录已确认但用户不存在)
17013IMErrorCode_APP_LOGIN_ERR_PASS密码错误密码校验失败(服务端对比 SHA1(password) 与数据库 LoginPass)
17014IMErrorCode_APP_PHONE_EXISTED手机号已存在绑定/设置手机号时手机号已被占用(services/userservice.go)
17015IMErrorCode_APP_EMAIL_EXIST邮箱已存在绑定/设置邮箱时邮箱已被占用(services/userservice.go)
17016IMErrorCode_APP_Sensitive包含敏感内容用户昵称、群名称等文本命中敏感词(services/userservice.go、services/groupservice.go)
17100IMErrorCode_APP_FRIEND_DEFAULT好友默认错误预留/暂未发现明确返回路径
17101IMErrorCode_APP_FRIEND_APPLY_DECLINE对方拒绝添加好友对方“好友验证设置”为拒绝添加(services/friendservice.go)
17102IMErrorCode_APP_FRIEND_APPLY_REPEATED重复申请好友预留/暂未发现明确返回路径
17103IMErrorCode_APP_FRIEND_CONFIRM_EXPIRED好友确认已过期预留/暂未发现明确返回路径
17200IMErrorCode_APP_GROUP_DEFAULT群组默认错误群组通用兜底错误;例如解散群时非群主或查询失败(services/groupservice.go)
17201IMErrorCode_APP_GROUP_MEMBEREXISTED群成员已存在申请入群时已是群成员(services/groupservice.go)
17202IMErrorCode_APP_GROUP_NORIGHT无群操作权限权限不足(例如消息/群管理相关逻辑中校验失败;services/messageservice.go 等)
17300IMErrorCode_APP_ASSISTANT_PROMPT_DBERROR助手提示词 DB 错误预留/暂未发现明确返回路径
17401IMErrorCode_APP_FILE_NOOSS未配置对象存储文件上传凭证:未配置 OSS/Minio/S3/Qiniu 等存储(services/fileservice.go)
17402IMErrorCode_APP_FILE_SIGNERR签名失败文件上传凭证:生成预签名 URL 或签名失败(services/fileservice.go)
17500IMErrorCode_APP_POST_DEFAULT动态默认错误动态/点赞等功能通用兜底错误(posts/services/reactionservice.go 等)
17501IMErrorCode_APP_POST_NOTEXISTED动态不存在更新/评论/反应等操作时动态不存在(posts/services/postservice.go、postcommentservice.go)
17502IMErrorCode_APP_POST_NORIGHT无动态操作权限更新/评论/反应等操作时非作者或无权限(posts/services/postservice.go、postcommentservice.go)

设备/新版 QR 的 17600–17608 由 handler 映射(历史 17607 不再由当前设备逻辑产生),不是上述 commons/errs 常量;其 envelope、实际含义及前端动作见 设备登录错误码。删除设备的 17606 需结合 operation_id/status 按 未确认与重试 处理,不能当作成功。删除不设置登录等待期,不调用 IM ban/unban。