FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 前言

数字中心 OpenAPI 是 FinClip 服务端的开放出来的一些核心链路的接口。允许您以编程方式与 FinClip 服务端交互。用于自动执行任务、与其他工具集成并创建自定义工作流程等

# 快速开始

  1. 数字中心的个人中心中,选择创建 Personal Access Token
  2. 勾选当前 Token 需要具备的权限,并创建。注意:请妥善保存创建生成的 Access Token,后续无法找回,只能重置
  3. 选择下面任意的OpenAPI接口,在请求头嵌入Authorization 的 header,值为: Bearer {PersonalAccessToken}
    • 注意:这个header是所有 OpenAPI 接口都需要传的参数

# 授权范围

授权范围是OpenAPI权限集

以下是具体的授权范围的说明

授权组 授权范围 说明
用户 用户-查看 数字中心用户的查看
用户-编辑 邀请 & 移除数字中心用户
角色-查看 查看系统中定义的角色及其权限
角色-编辑 编辑角色权限及分配角色给成员
生态 生态-查看 查看开发中心的组织 & 账号相关信息
生态-编辑 管理开发中心的组织 & 账号相关信息
小程序 小程序-查看 查看小程序的基本信息

# API

以下的 OpenAPI 接口会以授权范围作为目录,只有拥有了该授权范围的 Personal Access Token 才可以访问具体的接口。

# 1. 通用接口

通用接口指不依赖任何授权范围的 OpenAPI,主要是一些用户账户相关的一些基础功能接口

# 1.1 获取菜单权限树

请求URL

GET /api/v1/open/oper/auth/tree

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "permissionTree": { // 权限树
            "childrenIds": [
                ""
            ],
            "desc": "",
            "exist": true,
            "hasPermission": true,
            "id": "",
            "itemType": 1,
            "name": "",
            "parentId": ""
        }
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 2. 用户-查看

# 2.1 获取账号角色列表

请求URL

GET /api/v1/open/oper/account/role/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
accountId string
pageNo int 页码。从1开始
pageSize int 每页数量

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "builtinRoleKey": "", // 内置角色的key,现有:admin,data_analyst,developer,super_admin 四种
            "name": "", // 角色名称
            "roleId": "" // 角色id
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 2.2 获取账号列表

请求URL

GET /api/v1/open/oper/account/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
pageNo int 页码。从1开始
pageSize int 每页数量
keyword string 账号模糊搜索关键字

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "accounts": {
            "account": "", // 账户名
            "accountId": "", // 账户id 
            "createTime": 1, // 创建时间
            "email": "", // 邮箱
            "phone": "", // 手机号
            "status": 1 // 状态 1=启用 2=禁用
        }
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 3. 用户-编辑

# 3.1 账号绑定角色

备注 每次请求进来的都是全量的角色列表,会将旧的关系删除

请求URL

POST /api/v1/open/oper/account/role/binding

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
accountId string 账户id
roleIds string[] 角色id列表

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 3.2 更新用户是否冻结状态

请求URL

POST /api/v1/open/oper/account/frozen/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
isFrozen int 是否冻结 1=否 2=是
operAccountId string 数字中心用户id

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 3.3 重置密码

请求URL

POST /api/v1/open/oper/account/password/reset

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
accountId string 账户id
password string 新密码

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 3.4 创建账号

请求URL

POST /api/v1/open/oper/account/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
phone string 手机号
roleIds string[] 绑定的角色id
account string 账号名
areaCode string 手机区号,示例 +86
email string 邮箱
password string 密码

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "accountId": ""
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 3.5 删除账号

请求URL

POST /api/v1/open/oper/account/delete

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
accountIds string[] 账户id

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 4. 角色-查看

# 4.1 获取角色列表

请求URL

GET /api/v1/open/oper/role/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
pageNo int 页码。从1开始
pageSize int 每页数量
keyword string 角色名称模糊搜索关键字

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 4.2 获取角色下的账号列表

请求URL

GET /api/v1/open/oper/role/account/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
roleId string 角色id
pageNo int 页码。从1开始
pageSize int 每页数量

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "accounts": {
            "account": "", // 账户名
            "accountId": "", // 账户id
            "createTime": 1, // 账户创建时间
            "email": "", // 邮箱
            "phone": "" // 手机号
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 5. 角色-编辑

# 5.1 更新角色

请求URL

POST /api/v1/open/oper/role/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
idePermissionTree map<string, object> ide_权限树
permissionTree map<string, object> 权限树
roleId string

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 5.2 删除角色

请求URL

POST /api/v1/open/oper/role/delete

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
roleId string 角色id

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 5.3 角色中移除账号

请求URL

POST /api/v1/open/oper/role/account/delete

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
accountIds string[] 成员id列表
roleId string 角色id

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 5.4 创建角色

请求URL

POST /api/v1/open/oper/role/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
idePermissionTree object ide 权限树
permissionTree object 权限树
roleName string 角色名称

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "roleId": ""
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 5.5 绑定账号到角色

备注 每次请求进来的都是增量的成员列表,不会将旧的关系删除

请求URL

POST /api/v1/open/oper/role/account/binding

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
accountIds string[] 成员id列表
roleId string 角色id

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 6. 生态-查看

# 6.1 获取开发端账号加入的组织列表

请求URL

GET /api/v1/open/oper/dev-account/ecology/organ/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
devAccountId string 账号id
pageNo int 页码。从1开始
pageSize int 每页数量

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "organId": "",
            "organName": "",
            "reviewStatus": 1,
            "role": ""
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 6.2 获取开发端账号列表

请求URL

GET /api/v1/open/oper/dev-account/ecology/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
organId string 组织id的过滤
organName string 组织name的过滤
pageNo int 页码。从1开始
pageSize int 每页数量
search string 账户模糊搜索关键字

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "account": "",
            "createTime": 1,
            "devAccountId": "",
            "email": "",
            "organCount": 1,
            "phone": ""
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 6.3 获取开发端组织详情

请求URL

GET /api/v1/open/oper/organ/ecology/info

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
devOrganId string 组织id

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "access": true,
        "applyTime": 1,
        "devOrganAuditRecordId": "",
        "enterpriseInfo": "",
        "enterpriseName": "",
        "enterpriseType": "",
        "operReviewResult": 1,
        "rejectReason": "",
        "reviewerId": "",
        "workflowNodeInstanceId": ""
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 6.4 获取开发端组织列表

请求URL

GET /api/v1/open/oper/organ/ecology/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
enterpriseType string 已认证组织的子类型过滤
organName string 组织名称过滤
organReviewStatus string
pageNo int 页码。从1开始
pageSize int 每页数量
type int 组织类型。1=未认证组织 2=已认证组织

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "applyPassTime": 1,
            "createTime": 1,
            "devOrganId": "",
            "enterpriseType": "",
            "name": "",
            "reviewStatus": 1,
            "type": 1
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 7. 生态-编辑

# 7.1 -重置开发端账号密码

请求URL

POST /api/v1/open/oper/dev-account/ecology/reset/password

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
devAccountId string 账号id
password string 密码

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 7.2 更新企业冻结状态

请求URL

POST /api/v1/open/oper/organ/ecology/frozen-status/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
devOrganId string 组织id
isFrozen int 是否冻结 1=未冻结 2=已冻结

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 7.3 更新企业审核状态

请求URL

POST /api/v1/open/oper/organ/ecology/review-status/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
devOrganId string 组织id
operReviewResult int
rejectReason string 拒绝原因
workflowNodeInstanceId string 节点实例id

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 7.4 添加开发中心成员账号

请求URL

POST /api/v1/open/oper/dev-account/ecology/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
account string 账户名
areaCode string 手机区号
email string 邮箱
password string 密码
phone string 手机号

示例响应


{
    "errcode": "",
    "error": "",
    "data": {},
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 通用错误码

以下定义了一些接口之间通用的错误码字典,用于接口返回值判断和错误排查

errcode 错误码 描述
OK 成功
ECODE_PARAM_ERR 参数错误。请求的入参不合法,检查请求入参
ECODE_UNAUTHORIZED 未认证。无法识别到用户,检查当前的 PersonalAccessToken 是否正确
ECODE_FORBIDDEN 未授权。当前的 PersonalAccessToken 的对应的权限,不足以访问当前正在访问的接口
ECODE_SERVER_ERR 服务器内部错误。预期外的错误,请携带返回中的traceid向系统管理员反馈
ECODE_LICENSE_NOT_SUPPORT_OPEN_API_ERROR 当前license不支持open-api功能,无法使用
OPEN_API_ACCESS_TOKEN_NOT_FOUND_ERR 当前的 PersonalAccessToken 不存在
ECODE_PERSONAL_ACCESS_TOKEN_CROSS_PLATFORM_ERROR 使用开发中心或者数字中心的 PersonalAccessToken ,访问另一端的接口。
ECODE_PERSONAL_ACCESS_TOKEN_OUT_OF_SCOPE 无法识别到用户,检查当前的 PersonalAccessToken 是否正确
ECODE_PERSONAL_ACCESS_TOKEN_OUT_OF_SCOPE 当前的 PersonalAccessToken 的对应的权限,不足以访问当前正在访问的接口
© FinClip with ❤ , Since 2017