Structure description of successful return

  1. {
  2. success: true,
  3. content: Return content,{}/[]
  4. }

Structure description of failedreturn

{
    success: false,
    errorLevel:['info’, 'warn’, 'error’, 'fault’],
    errorCode:errorCode,
    errorMsg:error information description
}

Failed example of structure return:

{
    "Code":"MissingParameter",
    "HostId":"domain name",
    "Message":"",
    "_RequestId":"",
    "errorCode":100,
    "errorLevel":"error",
    "errorMsg":"",
    "success":false
}

accessToken Return structure description of verification failure

{
    "AccessToken":"",
    "IsAccess":false,
    "errorCode":1206,
    "errorLevel":"error",
    "errorMsg":"",
    "success":false
}

Field description of error code

Description of business error code:
Business domain-functional domain-priority-error type-specific code
image.png
1)Business domain
It is used to distinguish error codes from those of other systems. Generally, OPF refers to gateway errors, and the others are internal application errors.
2)Function domain
BXXX: business dimension; SXXX: system dimension; AXXX: security dimension
3)Priority
From high to low, internal 01-05, external 10-15
4)Error classification

10 RPC error 17 Message error
11 Cache error 18 State machine error
12 Network Error 19 Asynchronous JOB error
13 Database error 20 BPM error
14 File loading error 21 Alibaba Cloud POP error
15 Parameter error 22 Flow limit error
16 Business error 99 Other errors
Business error code error code error description Solutions
OPF-B001-05-11-0001 RequestTimeoutError Timeout Request 稍后重试
OPF-B001-05-12-0001 InternalError network exception 检查网络是否正常
OPF-B001-05-14-0026 DownloadError File download error
OPF-B001-05-15-0001 InvalidParameter Invalid parameter 检查下有没有传请求参数
OPF-B001-05-15-0002 MissingParameter Missing parameters 参考 api 文档的请求参数中必填列的说明
OPF-B001-05-15-0003 InvalidAPIKey access_key不合法 请使用网关发布的应用access_key
OPF-B001-05-15-0004 InvalidAPIKeyID.NotFound access_key不存在 确认使用的 access_key 与应用环境是否匹配,区分saas和专有云开发环境
OPF-B001-05-15-0005 ConfigError 后端服务参数有误 联系提供方检查应用服务参数是否正确填写
OPF-B001-05-16-0001 InvalidAPI.NotFound 访问的API服务不存在 确认访问的 API 服务名是否真实存在,一般服务名以/开头
OPF-B001-05-16-0002 Forbidden 应用未开通服务的访问权限 需先订阅开通服务的访问权限
OPF-B001-05-16-0003 JSAPI_FORBIDDEN 无权访问该JSAPI 需先订阅开通服务的访问权限
OPF-B001-05-16-0004 NoSuchVersion 服务版本不匹配 从服务详情确认服务提供的版本号,默认1.0
OPF-B001-05-16-0006 SignatureNonceUsed 相同请求短时间内重复拒绝 请确认客户端代码是否存在请求重复提交
OPF-B001-05-16-0007 ServiceUnavailable 服务暂时不可用 稍后重试
OPF-B001-05-16-0008 UnsupportedOperation 请求模式不匹配 从服务详情确认 API 服务接受的 HTTP 提交模式
OPF-B001-05-16-0009 SignatureDoesNotMatch 签名结果不符合网关服务标准 先确认签名的 secret_key 是否正确,然后按照文档服务消费->代码开发章节的加签说明
OPF-B001-05-16-0010 FlowCtrlBanned 服务触发限流后被禁用 等待禁用时间结束,服务会自动恢复
OPF-B001-05-16-0011 FlowCtrlHitMaxCount 服务触发限流 服务在限流规则范围内达到请求最大阈值
OPF-B001-05-16-0012 InvalidSPKeyID.NotFound 后端应用服务未提供或者服务未开启 联系提供方检查应用服务是否被删除或下线
OPF-B001-05-16-0013 SPParamMiss 后端服务参数缺失 必须参数未配置为必填
OPF-B001-05-16-0014 spInvokeErr 后端服务异常 网关往后端传递请求时失败
OPF-B001-05-16-0015 spProtoTypeErr 服务分组有误 联系提供方检查应用服务分组是否正确填写
OPF-B001-05-16-0016 SecurityValidate http请求方式不匹配 更换请求方式 POST/GET
OPF-B001-05-16-0017 IpWhiteListValidate 无访问权限 请确认客户端是否是合法范围内使用者
OPF-B001-05-16-0018 TranscriptExecuteError 参数解析错误 脚本参数解析错误,检查脚本是否正确
OPF-B001-05-16-0019 InvalidTimeStamp 客户端时间戳非法 网关服务端最大接受客户端时间误差在15分钟
OPF-B001-05-16-0020 TimeStampFormatError 时间戳格式化错误 检查timestamp参数格式
OPF-B001-05-16-0021 OauthInvokeError sso登录态验证失败 SSO 验证登录态服务异常
OPF-B001-05-16-0022 policyValidateError 网络访问校验错误 检查API的开放类型和网关域名是否匹配
OPF-B001-05-16-0023 InvalidAPP.NotFound 应用不存在 应用未找到或被禁用、删除
OPF-B001-05-16-0024 appTenantValidateError 应用租户校验有误 请检查租户和应用的开通关系,如果没有开通,请去墨子通讯录中心开通
OPF-B001-05-16-0025 AuthError.NoOrgAuth 应用没有访问通讯录组织权限
OPF-B001-05-99-9999 Default_error 系统异常

errorCode错误码字段说明

错误码 错误描述
100 网关内部发生错误,详情参考 Code 字段说明
1006 当前用户没有访问该应用的权限
1016 您的密码已过期,请重置密码后使用新密码登录
1019 无效的参数(比如不允许为空的参数空了)
1020 请求已过期
1021 签名验证失败
1200 AppCode 非法
1205 请求 ValidateAccessToken 时参数为空
1206 AccessToken 无效
1207 AccessToken 过期
1208 根据 AccessToken 取不到 UserProfile 信息
1209 获取 AccessToken 的授权方式未在受保护的 API 中进行授权
1210 获取 AccessToken 的授权方式低于 API 保护的授权
1211 无效的客户端类型
1220 刷新 accessToken 失败, accessToken 已经被更新
1222 应用信息不准确, accessToken 不是当前应用生成
1230 appCode 和 token 关联的不相同

应用服务返回结果不符合规范的修改建议与示例

对于调用 API 无需关注,此规定是规范 API 提供方。

  • 服务返回结果没有包装类,建议单独定义 API,返回结果按格式规约进行包装。
  • 服务返回结果已经包装,但是字段没有全部匹配,可以在网关控制台应用服务配置页面进行自行补充格式。举例说明
    如果应用服务返回的数据格式如下
{
"success":true,
      "data":{
      "success":true,
      "content":{},
      "errorLevel":"",
      "errorCode":"",
      "bizErrorCode":"",
      "errorMsg":""
      },
}

控制台上配置方法如下
规范字段名 服务字段名
success data.success
content data.content
errorLevel data.errorLevel
errorCode data.errorCode
bizErrorCode data.bizErrorCode
errorMsg data.errorMsg

如果应用服务返回的数据格式如下
{
    "isSuccess":true,
    "content":{},
    "code":"",
    "bizErrorCode":"",
    "message":""
}

控制台上配置方法如下
规范字段名 服务字段名
success isSuccess
content content
errorLevel errorLevel
errorCode code
errorMsg message

业务 API 错误码:

业务模块 错误码 说明
通讯录 MFH-B003-02-16-0019 虚拟组织存在嵌套虚拟组织
通讯录 MFH-B003-02-16-0018 内设机构存在嵌套机构
通讯录 MFH-B003-02-16-0017 组织类型不正确
通讯录 MFH-B003-02-16-0016 子组织类型不能包含单位类型
通讯录 MFH-B005-02-16-0000 成功
通讯录 MFH-B002-02-16-0022 内设机构和内设部门只能关联内设机构、内设部门和虚拟组织
通讯录 MFH-B002-02-16-0023 无效的条线通讯录类型
通讯录 MFH-B002-02-16-0024 无效的区划通讯录类型
通讯录 MFH-B002-02-16-0025 无效的区划通讯录code或者节点code
通讯录 MFH-B002-02-16-0020 行政区划虚节点和条线虚节点下不能关联区划节点
通讯录 MFH-B002-02-16-0021 单位只能关联单位和临时组织
通讯录 MFH-B002-02-16-0019 条线通讯录关联节点包含子节点
通讯录 MFH-B002-02-10-0014 远程hsf服务异常
通讯录 MFH-B001-02-16-9002 查询人员失败
通讯录 MFH-B002-02-16-0015 条线通讯录节点code被锁定
通讯录 MFH-B001-02-16-9003 搜索人员失败
通讯录 MFH-B002-02-16-0016 条线通讯录父节点类型异常
通讯录 MFH-B002-02-16-0017 条线通讯录关联节点类型异常
通讯录 MFH-B002-02-16-0018 条线通讯录关联节点状态异常
通讯录 MFH-B001-02-16-9001 查询人员&联系人失败
通讯录 MFH-B001-02-16-9006 查询人员信息明文失败
通讯录 MFH-B003-02-16-0022 创建的第一个任职必须是主职
通讯录 MFH-B001-02-16-9007 查询任职信息失败
通讯录 MFH-B003-02-16-0021 只有主职的【任职类型】属性才能是1
通讯录 MFH-B003-02-16-0020 同级子组织数量超过最大值%s
通讯录
查询人员信息失败
通讯录 MFH-B001-02-16-9005 查询人员信息失败
通讯录 MFH-B003-02-16-0026 控制写权限
通讯录 MFH-B003-02-16-0025 影子结点不允许移动,也不允许换父组织
通讯录 MFH-B003-02-16-0024 影子结点不能增加子组织
通讯录 MFH-B001-02-16-9008 查询任职信息明文失败
通讯录 MFH-B001-02-16-9009 修改人员信息失败
通讯录 MFH-B003-02-16-0023 不能将人员唯一的一个任职改为兼职
通讯录 MFH-B003-02-16-0008 根结点不能修改
通讯录 MFH-B007-02-16-0005 手机号已占用
通讯录 MFH-B003-02-16-0007 组织不存在
通讯录 MFH-B007-02-16-0006 手机号信息获取失败
通讯录 MFH-B007-02-16-0007 手机号信息获取为空
通讯录 MFH-B003-02-16-0006 组织名称重复
通讯录 MFH-B003-02-16-0008 查询组织可见性结果为空
通讯录 MFH-B003-02-16-0005 该组织类型不能增加人员、任职
通讯录 MFH-B007-02-16-0001 检查账号是否可用失败
通讯录 MFH-B007-02-16-0002 权限检查失败
通讯录 MFH-B007-02-16-0003 单位被删除,或信息获取
通讯录 MFH-B007-02-16-0004 手机区号明文信息获取失
通讯录 MFH-B003-02-16-0009 组织类型不正确
通讯录 MFH-B004-02-16-0001 标签code不存在
通讯录 MFH-B004-02-16-0003 没有查询标签权限
通讯录 MFH-B004-02-16-0002 标签组code不存在
通讯录 MFH-B004-02-16-0005 操作失败
通讯录 MFH-B004-02-16-0004 标签被引用,不能删除
通讯录 MFH-B001-02-16-9010 查询组织失败
通讯录 MFH-B001-02-16-9013 查询组织员工失败
通讯录 MFH-B001-02-16-9014 查询汇报线失败
通讯录 MFH-B001-02-16-9011 员工账号查询失败
通讯录 MFH-B001-02-16-9012 员工任职查询失败
通讯录 MFH-B001-02-16-9017 无权限访问
通讯录 MFH-B003-02-16-0011 上下级不符合组织类型规则
通讯录 MFH-B003-02-16-0010 格式校验失败
通讯录 MFH-B001-02-16-9018 公务员编制
通讯录 MFH-B006-02-26-0103 账号名不存在
通讯录 MFH-B001-02-16-9015 加密服务异常
通讯录 MFH-B001-02-16-9016 记录失败
通讯录 MFH-B003-02-16-0015 组织类型必须是单位类型
通讯录 MFH-B003-02-16-0014 人员Code重复
通讯录 MFH-B003-02-16-0013 组织Code重复
通讯录 MFH-B001-02-16-9019 参照公务员管理编制
通讯录 MFH-B003-02-16-0012 人员不存在或未激活
通讯录 MFH-B006-02-15-0009 参照公务员管理编制
通讯录 MFH-B003-02-16-0039 标签code不存在
通讯录 MFH-B003-02-16-0038 没有人员的操作权限
通讯录 MFH-B001-02-16-9020 账号已存在
通讯录 MFH-B001-02-16-9021 已有任务在批量执行,请稍后再试
通讯录 MFH-B001-02-16-9024 人员状态不符合恢复条件
通讯录 MFH-B003-02-16-0040 标签名已存在
通讯录 MFH-B001-02-16-9025 手机号明文信息获取失败
通讯录 MFH-B001-02-16-9022 人员code无效
通讯录 MFH-B001-02-16-9023 任职参数转换
通讯录 MFH-B003-02-16-0044 非主职的【任职属性】枚举值为2、3、4
通讯录 MFH-B001-02-16-9028 信息发送失败