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

# 前言

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

# 快速开始

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

# 授权范围

授权范围是OpenAPI权限集

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

授权组 授权范围 说明
成员管理 成员-查看 合作成员的查看
成员-编辑 邀请合作成员
角色-查看 查看系统中定义的角色及其权限
角色-编辑 编辑角色权限及分配角色给成员
小程序 小程序-查看 查看小程序的基本信息
小程序-编辑 编辑小程序的基本设置
小程序版本-查看 查看小程序的历史版本信息
小程序版本-编辑 发布或更新小程序版本
小程序统一认证 管理小程序的统一认证设置
小程序CI 用于小程序快速上传代码包 & 上架
应用 应用-查看 查看应用的基本信息
应用-编辑 编辑应用的设置
自定义API-查看 查看自定义 API 的定义和权限
自定义API-编辑 创建、编辑或删除自定义 API
自定义菜单-查看 查看自定义菜单的设置和配置
自定义菜单-编辑 创建、编辑或删除自定义菜单

# API

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

# 1. 通用接口

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

# 1.1 获取菜单权限树

请求URL

GET /api/v1/open/dev/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/dev/trial-user/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

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

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "createTime": 1723529917125, // 创建时间。毫秒级时间戳
            "updateTime": 1723529917125, // 更新时间。毫秒级时间戳
            "userId": "13000000000" // 体验成员的标识
        },
        "total": 1 // 总数
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 2.2 获取账号所属角色列表

请求URL

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

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

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

示例响应

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

# 2.3 获取组织成员列表

请求URL

GET /api/v1/open/dev/member/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

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

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "members": {
            "account": "", // 账户名
            "accountId": "", // 账户id
            "createTime": 1, // 创建时间
            "email": "", // 邮箱
            "isAdmin": 1, // 是否是组织管理员 0=否 1=是
            "memberId": "", // 当前账号在组织下的成员id
            "organId": "", // 组织id
            "phone": "", // 账户的手机号
            "platform": 1, // 哪段的用户。1=开发中心 2=数字中心,这个接口固定会返回1
            "roleList": { // 角色列表
                "builtinRoleKey": "",
                "name": "",
                "roleId": ""
            },
            "status": 1 // 状态 0:正常 1:冻结
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 3. 成员-编辑

# 3.1 移除组织成员

请求URL

POST /api/v1/open/dev/member/delete

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
memberIds string[] 需要移除的成员id

示例响应


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

# 4. 角色-查看

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

请求URL

GET /api/v1/open/dev/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"
}

# 4.2 获取角色列表

请求URL

GET /api/v1/open/dev/role/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

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

示例响应


{
    "errcode": "",
    "error": "",
    "data": {
      "items": [
        {
          "name": "", // 角色名
          "role_id": "", // 角色id
          "isBuiltin": false, // 是否内置角色
          "accountCount": 1, // 角色下的成员数
          "createTime": 1723529917125,
          "update_time": 1723529917125
        }
      ],
      "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 5. 角色-编辑

# 5.1 删除角色

请求URL

POST /api/v1/open/dev/role/delete

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
roleId string 角色id

示例响应


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

# 5.2 账号绑定角色

备注

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

请求URL

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

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

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

示例响应


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

# 5.3 角色中移除账号

请求URL

POST /api/v1/open/dev/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/dev/role/account/binding

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

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

示例响应


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

# 5.5 更新角色

请求URL

POST /api/v1/open/dev/role/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
idePermissionTree Map<string, object> ide_权限树
permissionTree Map<string, object> 管理后台 权限树
roleId string 角色id

示例响应


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

# 5.6 创建角色

请求URL

POST /api/v1/open/dev/role/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
idePermissionTree Map<string, object> ide 权限树
permissionTree Map<string, object> 管理后台 权限树
roleName string 角色名称

示例响应

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

# 6. 小程序-查看

# 6.1 获取小程序列表

请求URL

GET /api/v1/open/dev/mini-apps/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
appStatus string 多选,逗号分隔。1=已上架 2=未上架 3=已下架 4=不可发布 5=不可用
keyword string 模糊搜索关键词。小程序名称
pageNo int 页码。从1开始
pageSize int 每页数量
projectType string 多选,逗号分隔。1=小程序 2=小游戏 3=h5 4=小组件 5=低功耗
sortType string 排序方式
1. created: 创建时间正序
2. -created: 创建时间倒序
3. updated: 更新时间正确
4. -updated: 更新时间倒序

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "appClass": "", // 小程序分类的i18n翻译
            "appClassKey": "", // 小程序分类的唯一key
            "createTime": 1, // 创建时间
            "desc": "", // 简述
            "displayLang": "zh",
            "displayStatus": 1,  // 1=已上架 2=未上架 3=已下架 4=不可发布 5=不可用
            "isForbidden": true, // 是否被禁用
            "logo": "", // logo 日志
            "miniAppId": "", // 小程序id
            "name": "", // 小程序名称
            "organId": "", // 小程序所属的组织id
            "organName": "", // 小程序所属的组织名称
            "projectType": 1, // 小程序子类型。1=小程序 2=小游戏 3=h5 4=小组件 5=低功耗
            "status": 1, // 小程序当前生命周期的状态。1=开发中,未上传代码包 2=上架审核中 3=上架审核已撤回 4=上架审核已通过 5=上架审核已拒绝 6=已上架 7=已下架(开发端主动) 8=已下架(被运营端管理员) 9=开发中,仅上传代码包 10=创建审核中 11=创建审核已撤回 12=创建审核已拒绝
            "updateTime": 1 // 更新时间
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 7. 小程序-编辑

# 7.1 创建小程序

请求URL

POST /api/v1/open/dev/mini-apps/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
detailDesc string 小程序详细描述
logo string 小程序logo
name string 小程序名称
projectType int 小程序子类型。1=小程序 2=小游戏 3=h5 4=小组件 5=低功耗
appClassKey string 小程序分类
desc string 小程序简介

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "appClass": "", // 小程序分类的i18n翻译
        "appClassKey": "", // 小程序分类的唯一key
        "createBy": "", // 创建人id
        "createTime": 1, // 创建时间
        "creatorAccount": "", // 创建人账户名
        "desc": "", // 小程序描述
        "detailDesc": "", // 小程序详细描述
        "isForbidden": true, // 是否被禁用
        "logo": "", // 小程序logo
        "miniAppId": "", // 小程序id
        "name": "", // 小程序名称
        "organId": "", // 小程序所属组织id
        "organName": "", // 小程序所属组织名称
        "privacySettingType": 1, // 小程序隐私设置情况。0=未设置 1=已设置自定义内容 2=已设置默认内容
        "projectType": 1, // 小程序子类型。1=小程序 2=小游戏 3=h5 4=小组件 5=低功耗
        "searchable": true, // 是否允许搜索
        "status": 1, // 小程序当前生命周期的状态。1=开发中,未上传代码包 2=上架审核中 3=上架审核已撤回 4=上架审核已通过 5=上架审核已拒绝 6=已上架 7=已下架(开发端主动) 8=已下架(被运营端管理员) 9=开发中,仅上传代码包 10=创建审核中 11=创建审核已撤回 12=创建审核已拒绝
        "updateTime": 1, // 更新时间
        "version": "" // 上架的版本号
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 7.2 更新小程序

请求URL

POST /api/v1/open/dev/mini-apps/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
name string 小程序名称
appClassKey string 小程序分类的唯一key
desc string 简述
detailDesc string 小程序详细描述
logo string logo
miniAppId string 小程序id

示例响应


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

# 7.3 禁用/启用小程序

请求URL

POST /api/v1/open/dev/mini-apps/forbid

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
isForbidden bool 是否禁用
miniAppId string 小程序id

示例响应


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

请求URL

POST /api/v1/open/dev/mini-apps/logo/upload

请求头部

Header
Authorization Bearer {PersonalAccessToken}
Content-Type multipart/form-data

请求参数 参数位置: body form-data

字段 类型 含义
file file 文件

示例响应


{
    "error": "",
    "errcode": "OK",
    "data": {
        "netdiskID": "2357371467212229", // 文件id,可以在创建或者更新的时候填写在logo字段
    },
    "traceid": "c3d1cf08389947dab3623125006eb39c"
}

# 7.5 更新小程序隐私设置

请求URL

POST /api/v1/open/dev/mini-apps/privacy-setting/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppId string 小程序id
commitType int 提交类型,默认选1。可选值:
1=本小程序开发者承诺并保证,未以任何方式处理用户的任何信息。如后续有处理用户信息,会及时更新《小程序隐私保护指引》
2=本小程序处理了用户信息,将如实填写并及时更新用户信息处理情况

示例响应


{
    "error": "",
    "errcode": "OK",
    "data": {
    },
    "traceid": "c3d1cf08389947dab3623125006eb39c"
}

# 8. 小程序版本-查看

# 8.1 获取小程序最新的版本信息

请求URL

GET /api/v1/open/dev/mini-apps/versions/latest

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
miniAppId string 小程序id

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "onlineVersion": { // 线上版信息
            "miniAppVersionId": "2329398106793477", // 小程序版本id
            "miniAppId": "fc2329386816071045", // 小程序id
            "name": "翻译测试", // 小程序版本快照名称
            "logo": "2329064445187589", // 小程序版本快照logo
            "version": "1.0.0", // 小程序版本号
            "desc": "中文简介", // 小程序版本快照描述
            "detailDesc": "中文描述", // 小程序版本快照详细描述
            "appClassKey": "zixun", // 小程序版本快照分类key
            "appClass": "资讯", // 小程序版本快照分类key 对应的i18n翻译
            "status": 6, // 小程序当前生命周期的状态。1=开发中,未上传代码包 2=上架审核中 3=上架审核已撤回 4=上架审核已通过 5=上架审核已拒绝 6=已上架 7=已下架(开发端主动) 8=已下架(被运营端管理员) 9=开发中,仅上传代码包 10=创建审核中 11=创建审核已撤回 12=创建审核已拒绝
            "autoPub": false, // 是否自动发布
            "inGrayRelease": false, // 是否在灰度发布中
            "miniAppCompiledPackageId": "2329397929420294", // 小程序版本对应的代码包id
            "isRollback": false, // 是否是回滚的版本
            "organId": "2309190519194821",
            "creatorAccount": "宝树", // 创建者的账户名
            "versionDescription": "e", // ide上传代码包的时候的说明
            "sequence": 1, // 当前版本是当前小程序第几个版本
            "createTime": 1724311579430, // 版本创建时间
            "updateTime": 1724311641102, // 版本更新时间
        },
        "reviewVersion": null, // 审核版信息。字段完全和 onlineVersion 相同
        "trailVersion": { // 体验版信息
            "miniAppCompiledPackageId": "2329600587148550",
            "compiledPackageType": 2,
            "versionEditionStatus": 3,
            "miniAppId": "fc2329386816071045",
            "organId": "2309190519194821",
            "userId": "2309190518932677",
            "createBy": "2309190518932677",
            "creatorAccount": "宝树",
            "sourceFiles": [
            ],
            "versionDescription": "",
            "createTime": 1724323937836,
            "version": "4.0.0",
            "startParams": {
                "pathAndQuery": ""
            },
            "trialVersionTime": 0,
            "frameworkInfo": null,
            "supportFtpkg": true,
            "versionAuditStatus": 0,
            "versionAuditStatusRelatedMiniAppVersionId": ""
        },
        "wechatQrcode": null,
        "uploadedCompiledPackages": true
    },
    "traceid": "1f0ad85c0da74adb9ed5f628ead39731"
}

# 8.2 获取小程序代码包列表

请求URL

GET /api/v1/open/dev/mini-apps/compiled-package/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
miniAppId string 小程序id
pageNo int 页码。从1开始
pageSize int 每页数量

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "compiledPackageType": 1, // 状态: 1:未被设置为体验版, 2:被设置为体验版
            "createBy": "",
            "createTime": 1,
            "creatorAccount": "",
            "frameworkInfo": 1,
            "miniAppCompiledPackageId": "", // 代码包id
            "miniAppId": "", // 小程序id
            "organId": "", // 租户id
            "sourceFiles": {
                "encryptPackages": {
                    "fileMd5": "",
                    "fileUrl": "",
                    "filename": "",
                    "ftpkgSha256": "",
                    "ftpkgUrl": "",
                    "independent": true,
                    "name": "",
                    "pages": [
                        ""
                    ],
                    "root": ""
                },
                "encryptedFileMd5": "",
                "encryptedFileSha256": "",
                "encryptedUrl": "",
                "fileMd5": "",
                "ftpkgSha256": "",
                "ftpkgUrl": "",
                "name": "",
                "packageConfig": {
                    "fields": {
                        "kind": ""
                    }
                },
                "packages": {
                    "fileMd5": "",
                    "fileUrl": "",
                    "filename": "",
                    "ftpkgSha256": "",
                    "ftpkgUrl": "",
                    "independent": true,
                    "name": "",
                    "pages": [
                        ""
                    ],
                    "root": ""
                },
                "sourceFileUrl": "",
                "uploadDate": 1,
                "url": ""
            },
            "startParams": {
                "pathAndQuery": "" // 启动参数
            },
            "trialVersionTime": 1, // 被设置为体验版的时间
            "version": "v1.0.0", // 版本号
            "versionDescription": "desc" // 版本描述
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 9. 小程序版本-编辑

# 9.1 更新代码包的页面路径

请求URL

POST /api/v1/open/dev/mini-apps/compiled-package/path-and-query/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppCompiledPackageId string 代码包id
pathAndQuery string 体验版 启动路径

示例响应


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

# 9.2 回滚小程序版本

请求URL

POST /api/v1/open/dev/mini-apps/versions/rollback

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppVersionId string 小程序版本id

示例响应


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

# 9.3 取消代码包的体验版

请求URL

POST /api/v1/open/dev/mini-apps/compiled-package/trial/cancel

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppCompiledPackageId string 小程序代码包id

示例响应


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

# 9.4 设置代码包为体验版

请求URL

POST /api/v1/open/dev/mini-apps/compiled-package/trial/set

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppCompiledPackageId string 小程序代码包id

示例响应


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

# 9.5 下架小程序线上版

请求URL

POST /api/v1/open/dev/mini-apps/versions/unpublish

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppVersionId string 小程序版本id
statusReason string 下架原因

示例响应


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

# 9.6 撤回审核版申请

请求URL

POST /api/v1/open/dev/mini-apps/versions/review/withdraw

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppVersionId string 小程序版本id

示例响应


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

# 9.7 提交审核版

请求URL

POST /api/v1/open/dev/mini-apps/versions/review/submit

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
operAdminAudit bool 是否指定数字端admin审核
testInfo object 测试信息
autoPub bool 审核通过后是否自动发布
miniAppCompiledPackageId string 代码包id

示例响应

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

# 9.8 上架审核版

请求URL

POST /api/v1/open/dev/mini-apps/versions/publish

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
miniAppVersionId string 小程序版本id

示例响应


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

# 10. 小程序统一认证

# 10.1 开发端-小程序统一登录-获取手机号

请求URL

POST /api/v1/open/dev/mini-apps/unified-auth/phone/get

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
appId string 小程序id
code string

示例响应

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

# 10.2 开发端-小程序统一登录

请求URL

POST /api/v1/open/dev/mini-apps/unified-auth/login

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
code string
appId string 小程序id

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "accessToken": "",
        "channel": "", // 渠道
        "openId": "",
        "unionId": ""
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 10.3 开发端-小程序统一登录-获取用户信息

请求URL

POST /api/v1/open/dev/mini-apps/unified-auth/userinfo

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
accessToken string
appId string 小程序id
channel string 渠道

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "account": "",
        "email": "",
        "phone": ""
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 11. 小程序代码包

# 11.1 小程序代码包上传

请求URL

POST /api/v1/open/dev/mini-apps/compiled-package/upload

请求头部

Header
Authorization Bearer {PersonalAccessToken}
Content-Type multipart/form-data

请求参数 参数位置: body, formdata格式

字段 类型 含义
file file 上传的代码包文件

示例响应

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

# 11.2 新增小程序代码包对象

请求URL

POST /api/v1/open/dev/mini-apps/compiled-package/build

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

{
    "miniAppId": "fc11111111111",  // 小程序id
    "version": "1.0.4",  // 小程序版本
    "versionRemark": "1.0.4",  // 版本说明
    "username": "pjf01",  // 上传人用户名
    "basicPackVer": "",  // 保留为空
    "packages": [  // 复制ide导出代码包目录的分包目录下的packageConfig.json的内容
        {
            "root": ".",
            "name": "__APP__",
            "pages": [
                "pages/component/index/index",
                "pages/API/index/index",
                "pages/component/view/view",
                "pages/component/scroll-view/scroll-view"
            ],
            "independent": false,
            "filename": "__APP__.zip"
        },
        {
            "root": "packageAPI",
            "name": "34f98750f03c6a2bed1f2f4de2bbb7b9",
            "pages": [
                "packageAPI/pages/get-network-type/get-network-type",
                "packageAPI/pages/on-network-status-change/on-network-status-change",
                "packageAPI/pages/get-system-info/get-system-info",
                "packageAPI/pages/make-phone-call/make-phone-call"
            ],
            "independent": false,
            "filename": "34f98750f03c6a2bed1f2f4de2bbb7b9.zip"
        }
    ],
    "packageConfig": {  // 复制ide导出代码包目录的分包目录下的packageExtConfig.json的内容
        "isLazyLoading": false,
        "entryPagePath": "pages/component/index/index"
    },
    "filesFromNetdisk": [
        {
            "name": "app.zip",  // 整包文件名
            "netdiskID": "2340709818004869"   // 步骤2上传的整包返回的网盘id
        },
        {
            "name": "__APP__.zip",  // 分包1文件名
            "netdiskID": "2340709821396357"  // 步骤2上传的分包1的网盘id
        },
        {
            "name": "34f98750f03c6a2bed1f2f4de2bbb7b9.zip",  // 分包2文件名
            "netdiskID": "2340709822559621"  // 步骤2上传的分包2的网盘id
        }
    ]
}

示例响应

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

# 12. 应用-查看

# 12.1 获取宿主应用列表

请求URL

GET /api/v1/open/dev/host-apps/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

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

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "bundleIdPublic": true, // bundleId是否对其他团队可见
            "createTime": 1, // 创建时间
            "desc": "", // 描述
            "hostAppId": "", // 宿主应用id
            "hostAppPublic": true, // 宿主应用是否对其他团队可见
            "logo": "", // 宿主应用logo
            "name": "", // 名称
            "organId": "", // 租户id
            "organName": "", // 租户名称
            "owner": "", // 应用所属者
            "platform": 1, // 应用平台 1=开发中心 2=数字中心
            "source": 1, // 来源 1=开发端当前组织自有应用 2=开发端其他组织创建的应用 3=数字中心
            "status": 1, // 状态 1=启用 2=停用
            "updateTime": 1 // 更新时间
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 12.2 开发端-获取宿主应用配置

请求URL

GET /api/v1/open/dev/host-apps/config

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "activeBundleIdLimitPerHostApp": 1, // 每个宿主应用可以拥有的bundle数量(状态可用)
        "bundleIdLimitPerHostApp": 1, // 每个宿主应用可以拥有的bundle数量(状态不限)
        "canConfiguredHostAppPublic": true, // 是否可以配置宿主应用是否对其他团队可见
        "remainCreateHostAppCount": 1 // 还可以创建的应用数量
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 13. 应用-编辑

# 13.1 创建应用

请求URL

POST /api/v1/open/dev/host-apps/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
desc string 描述
hostAppPublic bool 宿主应用是否对其他团队可见
logo string logo
name string 名称
owner string 所属企业
bundleIdPublic bool bundleId是否对其他团队可见

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "hostAppId": "" // 应用id
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 13.2 更新应用

请求URL

POST /api/v1/open/dev/host-apps/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
logo string logo
name string 名称
owner string 所属企业
bundleIdPublic bool bundleId是否对其他团队可见
desc string 描述
hostAppId string 宿主应用id
hostAppPublic bool 宿主应用是否对其他团队可见

示例响应


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

# 13.3 关联应用和小程序

请求URL

POST /api/v1/open/dev/host-apps/mini-apps/associate

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
hostAppId string 宿主应用id
miniAppIds string[] 小程序id列表

示例响应


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

# 13.4 更新应用状态

请求URL

POST /api/v1/open/dev/host-apps/change-status

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
status int 状态 0-全部 1=启用 2=停用
hostAppId string 应用id

示例响应


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

# 13.5 取消关联应用和小程序

请求URL

POST /api/v1/open/dev/host-apps/mini-apps/disassociate

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
hostAppId string 宿主应用id
miniAppIds string[] 小程序id

示例响应


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

请求URL

POST /api/v1/open/dev/host-apps/logo/upload

请求头部

Header
Authorization Bearer {PersonalAccessToken}
Content-Type multipart/form-data

请求参数 参数位置: body form-data

字段 类型 含义
file file 文件

示例响应


{
    "error": "",
    "errcode": "OK",
    "data": {
        "netdiskID": "2357371467212229", // 文件id,可以在创建或者更新的时候填写在logo字段
    },
    "traceid": "c3d1cf08389947dab3623125006eb39c"
}

# 14. 自定义API-查看

# 14.1 获取应用API列表

请求URL

GET /api/v1/open/dev/host-apps/apis/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
apiCategory string 自定义api分类。可选参数,用于过滤
hostAppId string 应用id
apiScope int api范围 1--公有 2--私有
state int api状态 0=全部 1=已禁用 2=已启用
searchText string 模糊搜索文本
pageNo int 页码。从1开始
pageSize int 每页数量

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "apiCategory": [ // 分类
                ""
            ],
            "apiDescription": "", // 描述
            "apiManageId": "", // api id
            "apiName": "", // api 名称
            "apiScope": 1, // api范围 1--公有 2--私有
            "createTime": 1, // 创建时间
            "hostAppId": "", // 所属的应用id
            "state": 1, // api状态 0=全部 1=已禁用 2=已启用
            "updateTime": 1 // 更新时间
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 15. 自定义API-编辑

# 15.1 开发端-更新宿主应用API

请求URL

POST /api/v1/open/dev/host-apps/apis/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
apiCategory string array api类型
apiDescription string api 描述
apiManageId string api唯一id
apiName string api名称
apiScope object api范围 1--公有 2--私有

示例响应


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

# 15.2 开发端-启用/禁用 自定义API

请求URL

POST /api/v1/open/dev/host-apps/apis/change-status

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
apiManageIds string[] api id列表
state int 可用状态 1--已停用 2--正常

示例响应


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

# 15.3 开发端-创建宿主应用API

请求URL

POST /api/v1/open/dev/host-apps/apis/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
hostAppId string 应用id
apiCategory string[] api类别
apiDescription string api 描述
apiName string api名称
apiScope int api范围 1--公有 2--私有

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "apiCategory": [
            ""
        ],
        "apiDescription": "",
        "apiManageId": "",
        "apiName": "",
        "apiScope": 1,
        "createTime": 1,
        "hostAppId": "",
        "state": 1,
        "updateTime": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 16. 自定义菜单-查看

# 16.1 开发中心-获取自定义菜单分类列表

请求URL

GET /api/v1/open/dev/host-apps/custom-menus/categories

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": [
            ""
        ]
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 16.2 开发端-获取宿主应用自定义菜单列表

请求URL

GET /api/v1/open/dev/host-apps/custom-menus/list

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: query

字段 类型 含义
hostAppId string 应用id

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "items": {
            "category": [ // 菜单分类
                ""
            ],
            "createTime": 1, // 创建时间
            "customMenuId": "", // 菜单id
            "darkImageUrl": "", // 菜单暗黑模式logo
            "hostAppId": "", // 所属应用id
            "imageUrl": "", // 菜单logo
            "infoId": "", // 菜单info id
            "isSdkBuiltin": 1, // 是否是内置菜单 1=否 2=是
            "name": "", // 菜单名称
            "scope": 1, // 范围  1--公有  2--私有
            "sortNum": 1, // 菜单排序
            "state": 1, // 状态  1--已禁用  2--已启用
            "updateTime": 1 // 更新时间
        },
        "total": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 17. 自定义菜单-编辑

# 17.1 开发端-禁用/启用自定义菜单

请求URL

POST /api/v1/open/dev/host-apps/custom-menus/change-status

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
customMenuIds string[] 自定义菜单唯一id列表
state int 状态 1--已禁用 2--已启用

示例响应


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

# 17.2 开发端-更新宿主应用自定义菜单

请求URL

POST /api/v1/open/dev/host-apps/custom-menus/update

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
state Int 状态 1--已禁用 2--已启用
category string[] 图标分类
customMenuId string 菜单id
darkImageUrl string 暗黑模式图片
imageUrl string 图片
infoId string 唯一id
name string 名称
scope object 范围 1=公有 2=私有

示例响应


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

# 17.3 开发端-创建宿主应用自定义菜单

请求URL

POST /api/v1/open/dev/host-apps/custom-menus/create

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
scope int 范围 1=公有 2=私有
category string[] 图标分类
darkImageUrl string 暗黑图片网盘id
hostAppId string
imageUrl string 图片网盘id
infoId string
name string

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "category": [
            ""
        ],
        "createTime": 1,
        "customMenuId": "",
        "darkImageUrl": "",
        "displayLang": "",
        "hostAppId": "",
        "imageUrl": "",
        "infoId": "",
        "isSdkBuiltin": 1,
        "name": "",
        "scope": 1,
        "sortNum": 1,
        "state": 1,
        "updateTime": 1
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

# 17.4 开发端-排序宿主应用自定义菜单

请求URL

POST /api/v1/open/dev/host-apps/custom-menus/sort

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
customMenuId string 菜单id

示例响应


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

# 17.5 开发端-检查宿主应用自定义菜单是否存在

请求URL

POST /api/v1/open/dev/host-apps/custom-menus/check-exist

请求头部

Header
Authorization Bearer {PersonalAccessToken}

请求参数 参数位置: body

字段 类型 含义
checkType int 检查类型 1=name 2=infoId
customMenuId string
hostAppId string
text string 检查的文本。根据checkType来决定

示例响应

{
    "error": "",
    "errcode": "OK",
    "data": {
        "exist": true
    },
    "traceid": "a17b2855affb46c08485937aca8243ef"
}

请求URL

POST /api/v1/open/dev/host-apps/custom-menus/logo/upload

请求头部

Header
Authorization Bearer {PersonalAccessToken}
Content-Type multipart/form-data

请求参数 参数位置: body form-data

字段 类型 含义
file file 文件

示例响应


{
    "error": "",
    "errcode": "OK",
    "data": {
        "netdiskID": "2357371467212229", // 文件id,可以在创建或者更新的时候填写在logo字段
    },
    "traceid": "c3d1cf08389947dab3623125006eb39c"
}

# 通用错误码

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

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