Skip to content

客户端错误码说明 - ClientErrorCodes

授权平台网关(OLAAppService)对外返回两类客户端可见错误:

形态客户端如何识别
1000 段明文 JSON:{"errorCode":1001}响应体可直接解析出 errorCode 字段(解密前失败或无法加密时)
2000 段加密业务响应中,Message错误码:中文描述(如 "2001:未激活"SDK / 插件解密后读取 Message;同时 Status/Code0

说明:通过官方 SDK / DLL 调用时,多数情况下已完成加解密;业务失败请优先查看返回对象的 Message。2000 段可直接展示冒号后的中文,也可按首个冒号拆分解析错误码。成功时 Message 仍为中文成功文案(如「登录成功」「月卡激活成功」「success」),不含错误码前缀。

模块总览见 授权管理模块总览


一、完整错误码表

2000 段(加密响应 Message

格式固定为:

text
{错误码}:{中文描述}

示例:2001:未激活2013:未开放客户端解绑

错误码Message 示例常见触发场景
20012001:未激活尚无有效授权,需先 Activate / Trial
20022002:用户码无效UserCode 非法(如非 32 位)
20032003:参数无效SoftCode、HardwareId、激活码等校验失败
20042004:用户不存在平台无对应用户
20052005:软件不可用或未开通软件不存在、未启用,或用户未开通该软件
20062006:访问被拒绝黑白名单拦截
20072007:账号权限不足如充值不足无法使用 Plus / Ultra 客户端能力
20082008:授权无效授权已过期、已失效等
20092009:余额不足插件计费时余额不够
20102010:插件验证失败插件查询/验证过程异常(如数据库不可用)
20112011:次卡功能已隐藏当前授权/卡类型为次卡,客户端不再开放次卡能力
20122012:特性不被允许请求的插件特性不在软件白名单内
20132013:未开放客户端解绑软件未开启「开放客户端解绑」,见 ForceUnBind
20142014:永久卡无法续费设备已有有效永久授权,拒绝再次激活续费
20152015:未找到可解绑设备授权当前用户名下无对应 SoftCode + HardwareId 的可解绑授权
20162016:试用授权不支持解绑试用授权且未指定激活码时禁止解绑
20172017:激活码不属于当前用户设备指定解绑的激活码不属于当前用户设备
20182018:权限不合法,请检查FeatureList参数FeatureList 中插件不存在、版本不可用或已禁用等
20992099:未知错误2099:业务文案未预期异常;激活/试用/解绑下游失败时冒号后可能带具体业务原因

二、客户端解析建议

  1. 若 body 为明文 JSON 且含 errorCode:按 1000 段处理(网络/协议层失败)。
  2. 否则按用户码解密,得到业务 JSON:
    • Status == 1(或解绑类 Code == 1)为成功;
    • 失败时若 Message 形如 数字:文案,按首个 : 拆分:左侧为错误码,右侧为可直接展示的中文;
    • 成功时 Message 一般为纯中文成功提示(无错误码前缀),直接展示即可。
text
成功:Status/Code == 1
失败:Status/Code == 0,并查看 Message
  └─ Message = "{码}:{中文}" → 解析码做分支;展示冒号后中文(或整串)

示例(伪代码):

cpp
// Message 例:"2001:未激活"
auto pos = message.find(':');
if (pos != npos && 全数字(message.substr(0, pos))) {
    int code = stoi(message.substr(0, pos));
    string tip = message.substr(pos + 1); // "未激活"
    // tip 可直接 UI 展示;code 用于业务分支
}

三、各接口与错误码对应关系

Login(2000 段)

Message 示例说明
2001:未激活需先激活或申请试用
2002:用户码无效用户码无效
2003:参数无效参数无效
2004:用户不存在用户不存在
2005:软件不可用或未开通软件不可用或未开通
2006:访问被拒绝黑白名单拒绝
2007:账号权限不足Plus/Ultra 权限不足
2008:授权无效授权已过期/已失效
2009:余额不足余额不足
2010:插件验证失败插件验证过程异常
2011:次卡功能已隐藏次卡功能已隐藏
2012:特性不被允许插件特性不在白名单
2018:权限不合法,请检查FeatureList参数FeatureList 不合法
2099:未知错误未知错误

Activate / Trial

业务失败时同样返回 错误码:中文描述(与 Login 一致)。协议层失败仍可能出现 1000 段 errorCode

Message 示例说明
2002:用户码无效UserCode 无效
2003:参数无效Salt / SoftCode / HardwareId 等校验失败
2004:用户不存在用户不存在
2005:软件不可用或未开通SoftCode 无效或未开通
2008:授权无效激活/试用后授权状态异常
2011:次卡功能已隐藏次卡类型不再对客户端开放
2014:永久卡无法续费仅 Activate:设备已有有效永久授权
2099:…激活失败 / 试用申请失败等(冒号后可能为下游具体原因)

UnBind

Message 示例说明
2003:参数无效参数无效
2004:用户不存在用户不存在
2005:软件不可用或未开通软件不可用或未开通
2015:未找到可解绑设备授权设备授权不存在
2016:试用授权不支持解绑试用授权禁止解绑
2017:激活码不属于当前用户设备激活码归属校验失败
2099:…解绑业务失败
2099:未知错误未知错误

ForceUnBind

Message 示例说明
2003:参数无效参数无效(如激活码为空)
2004:用户不存在用户不存在
2005:软件不可用或未开通软件不可用或未开通
2013:未开放客户端解绑软件未开放客户端解绑
2099:…解绑业务失败(冒号后可能为具体原因)
2099:未知错误未知错误

公告 / 软件更新类接口

适用于:GetUnreadAnnouncementsGetAnnouncementsByTypeGetSoftUpdateStatusGetSoftUpdateLogs

Message 示例说明
2003:参数无效参数无效
2004:用户不存在用户不存在
2005:软件不可用或未开通软件不可用或未开通

成功时 Message 常为 success


四、相关页面

页面说明
授权管理模块总览推荐流程与接口一览
登录 - Login建立会话,错误码最完整
激活 - Activate / 申请试用 - Trial写入授权,失败同样返回错误码
解绑 - UnBind / 强制解绑 - ForceUnBind解绑相关错误码(含 20132017