错误码

本文适用于 2.x 独立版 MA Web SDK。

客户端错误码定义

Web SDK 本地产生的回调 code 只有两个值:

Code 描述 详细解释
0 请求成功 接口请求成功(message 固定为 success
-1 请求失败 本地参数校验失败、SDK 未就绪(未 init / 未取得 RID/EUID)、网络异常、响应无法解析,或服务端返回非法响应。具体原因见回调 message

常见的本地 -1 message(英文原文回调给业务方):

message 触发场景
sdk hasn't registered yet, request will be cancel 未完成 init 或 /get-rid 尚未成功,用户类接口被拦截
MA EUID is not a valid Long 本地 EUID 缺失或非法(通常是 /get-euid 未成功)
identifyAccount fail loginID and mobile are nil identifyAccount 传入空标识对象(文案与 v1 字节级一致)
user_id cannot be "0" / email format is invalid / phone must be E.164 format (+[1-9] followed by 1-14 digits) 用户标识字段规则预校验失败(规则见「API 指南 · 设置用户标识」)
channelId must be greater than 0 / channel values cannot be empty / channel value element cannot be empty setChannelValue 参数校验失败
userIdentity is invalid: ... 再次 init 携带的 userIdentity 全部字段非法(2.1.0 起再次 init 传入不同 AppKey 会切换数据源,不再返回错误)
network exception 网络请求失败或响应非法

服务端业务码

服务端明确返回业务失败时,SDK 不把它折叠成 -1,而是把服务端的 code 与文案原样回调,因此回调里可能出现正数 code。

服务端业务码仅用于问题定位,不属于稳定的 SDK 对外契约,请勿根据具体的正数 code 编写业务分支;请统一用 code === 0 判断成功,遇到非预期失败时将 codemessage 原文提供给技术支持。

重复调用 init(2.1.0 起每次调用都会重新获取 EUID)时,重新请求归属 EUID 的失败同样按上述规则原样回调服务端业务码。

附录:常见服务端业务码

以下值仅供排查参考,不承诺随 SDK 或服务端版本保持稳定:

Code 含义
55004 业务参数无效,例如通道 AppKey 未在当前项目映射、channelId 在当前项目不存在、通道值等于 MA RID
55100 用户注册失败
55101 用户标识数量超过上限
55102 存在无效的用户属性名
55103 用户属性值为空
55105 用户标识值超过 256 字符
55106 用户标识名不在支持范围内
55107 用户标识值为空
55108 EUID 无效,例如 maEuid 与 maRid 不属于同一 MA 用户
55110 请求过于频繁,可稍后重试
55000 服务端系统错误
40007 EUID 为空
Icon Solid Transparent White Qiyu
联系销售