Skip to content

业务身份错误码(112*)

段位:112001 - 112016(112012 / 112015 已下线移除、112013 为历史保留段位当前不使用);共 13 个;全部 V1 暴露

通用约定(HTTP status / code=1 兜底 / 响应结构)见 README

112001 BUSINESS_USER_NOT_FOUND

  • HTTP status:200
  • 含义:业务用户不存在
  • 典型触发条件:请求引用了不存在的业务用户 ID(business user 是 atkonbase 内的最终用户实体,与 IdP / 集成方业务系统映射)
  • 处理建议:核对用户 ID;用户可能未同步、已删除、或 ID 拼写错误
  • 示例响应
json
{ "code": 112001, "msg": "业务用户不存在", "data": null }

112002 BUSINESS_ROLE_NOT_FOUND

  • HTTP status:200
  • 含义:业务角色不存在
  • 典型触发条件:请求引用了不存在的业务角色 ID
  • 处理建议:核对角色 ID;可在 Console「业务角色」管理页面查询当前租户内的角色清单
  • 示例响应
json
{ "code": 112002, "msg": "业务角色不存在", "data": null }

112003 CONSOLE_DEPARTMENT_NOT_FOUND

  • HTTP status:200
  • 含义:本地部门不存在
  • 典型触发条件:请求引用了不存在的本地部门 ID(本地部门指在 atkonbase Console 内手动创建的部门,与 IdP 同步来的外部部门区分)
  • 处理建议:核对部门 ID;本地部门由租户管理员在 Console 创建
  • 示例响应
json
{ "code": 112003, "msg": "本地部门不存在", "data": null }

112004 EXTERNAL_DEPARTMENT_NOT_FOUND

  • HTTP status:200
  • 含义:外部部门不存在
  • 典型触发条件:请求引用了不存在的外部部门 ID(外部部门来自 IdP 同步源)
  • 处理建议:确认对应 IdP 的同步链路正常;外部部门 ID 通常是 IdP 侧的稳定标识,不在 atkonbase 内可编辑
  • 示例响应
json
{ "code": 112004, "msg": "外部部门不存在", "data": null }

112005 SOURCE_IMMUTABLE

  • HTTP status:200
  • 含义:仅本地来源(CONSOLE / API)允许此操作(IDP 用户 / 角色只读)
  • 典型触发条件:试图修改 / 删除来自 IdP 同步的用户或角色(这些实体只能通过 IdP 侧修改后同步到 atkonbase)
  • 处理建议:在 IdP 侧修改后等待同步生效;本地操作仅适用于 source=CONSOLEsource=API 的实体
  • 示例响应
json
{ "code": 112005, "msg": "IDP 来源实体只读", "data": null }

112006 CREATOR_CLIENT_ID_REQUIRED

  • HTTP status:200
  • 含义:source=API 缺少 creatorClientId
  • 典型触发条件:通过 API 创建业务用户时未提供 creatorClientId 字段(API 来源的实体需要追溯创建者 Client)
  • 处理建议:补齐 creatorClientId 字段;通常应填当前调用的 API Client 自身的 clientId
  • 示例响应
json
{ "code": 112006, "msg": "source=API 缺少 creator_client_id", "data": null }

112007 CROSS_SOURCE_PRIMARY_DEPARTMENT

  • HTTP status:200
  • 含义:跨 source 主部门引用
  • 典型触发条件:用户的主部门(primaryDepartment)来源(CONSOLE / API / IDP)与用户自身 source 不一致
  • 处理建议:主部门必须与用户在同一 source 域内;若用户来自 IdP,主部门也应来自同一 IdP;若用户来自 CONSOLE / API,主部门也应是本地部门
  • 示例响应
json
{ "code": 112007, "msg": "跨 source 主部门引用", "data": null }

112008 CROSS_TENANT_PARENT_DEPARTMENT

  • HTTP status:200
  • 含义:本地部门父节点跨租户
  • 典型触发条件:创建 / 移动本地部门时父节点属于其它租户
  • 处理建议:父子部门必须在同一租户内;本地部门不可跨租户构建层级
  • 示例响应
json
{ "code": 112008, "msg": "本地部门父节点跨租户", "data": null }

112009 CONSOLE_DEPARTMENT_HAS_CHILDREN

  • HTTP status:200
  • 含义:本地部门存在子节点,无法删除
  • 典型触发条件:删除本地部门时该部门下仍有子部门
  • 处理建议:先删除或重新挂载子部门后再删除本部门;atkonbase 不支持级联删除部门
  • 示例响应
json
{ "code": 112009, "msg": "本地部门存在子节点,无法删除", "data": null }

112010 CONSOLE_DEPARTMENT_HAS_MEMBERS

  • HTTP status:200
  • 含义:本地部门存在成员归属,无法删除
  • 典型触发条件:删除本地部门时该部门下仍有用户归属(含主部门归属和辅部门归属)
  • 处理建议:先将该部门下成员转出后再删除本部门
  • 示例响应
json
{ "code": 112010, "msg": "本地部门存在成员归属,无法删除", "data": null }

112011 CREDENTIAL_IDP_USER_FORBIDDEN

  • HTTP status:200
  • 含义:凭据不能对 IDP 来源用户或系统用户设置
  • 典型触发条件:试图给 IdP 来源的用户或 atkonbase 系统用户设置密码 / 重置密码(IdP 用户的凭据由 IdP 管理,不在 atkonbase 内)
  • 处理建议:让用户走 IdP 侧密码重置流程;本地凭据管理仅对 source=CONSOLE / source=API 的用户有效
  • 示例响应
json
{ "code": 112011, "msg": "IDP 来源用户不可设置本地凭据", "data": null }

注:112012、112013 在错误码定义中无对应常量——112012 / 112013 为历史保留段位,当前版本不再使用,本文档不列。

112014 SOURCE_NOT_SUPPORTED

  • HTTP status:200
  • 含义:source 不支持该操作
  • 典型触发条件:实体的 source 类型在当前操作上下文不被支持
  • 处理建议:检查响应 msg 字段获取具体说明;不同 source 的操作能力矩阵详见身份模型文档
  • 示例响应
json
{ "code": 112014, "msg": "source 不支持该操作", "data": null }

112016 PRIMARY_DEPARTMENT_NOT_IN_LIST

  • HTTP status:200
  • 含义:primaryDepartmentId 必须出现在 departmentIds 集合中
  • 典型触发条件:设置用户部门归属时,主部门 ID 不在副部门集合内
  • 处理建议:主部门必须同时是用户的归属部门之一;调整时将 primaryDepartmentId 加入 departmentIds 列表
  • 示例响应
json
{ "code": 112016, "msg": "primaryDepartmentId 必须出现在 departmentIds 集合中", "data": null }