小程序管理后台将业务管理的服务封装成 API

网友投稿 310 2024-06-28

OpenAPI

请注意 FinClip 将小程序管理后台相关业务管理的服务封装成了 API,供开发者在自有业务中进行调用。

#1. 功能介绍

开发者可以通过开放 API(OpenAPI)完成以下操作:

  • 上传小程序代码;

  • 提交小程序审核;

  • 通过小程序审核并发布;

  • 获取小程序线上版二维码;

  • 获取小程序体验版二维码链接;

  • 获取小程序版本列表;

  • 小程序登录鉴权;

#2. 使用流程

登录 FinClip 后台,进入小程序详情页面,点击基本信息右上角的「openAPISecret」开始配置信息 

首次使用时openAPISecret 的密钥默认为空,需要点击右侧的「生成」按钮获得对应的密钥内容 

随后勾选下方的相关权限(目前分别提供了小程序审核小程序发布小程序代码上传代码预览账户鉴权共 5 个权限分组),点击确定后即可生效。 

请注意 openAPISecret 将不会明文存储在开发平台中,请您妥善复制保存。如果遗失或需要更换,再次进入「openAPISecret」点击右侧「重置」按钮即可。

#3. 功能与环境对比

当前功能在不同环境中可能有所区别与限制,具体请见下表,如需要进一步了解不同版本间区别与介绍,可以点击这里 (opens new window)


社区版环境SaaS 环境企业版(年付费或一次性买断)
费用管理

#4. 接口文档

#上传文件到网盘

API

POST /api/v1/mop/customer-open-api/organ/netdisk/upload

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

参数

content-type: application/form-data

字段类型含义备注
appIdstring小程序id
uploadFilefile文件文件格式

示例

  1. appId、nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串salt如下: appId=6141bd122e0fd10001318982&nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000


将salt拼接上apiKey,得到salt是这样,appId=6141bd122e0fd10001318982&nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&apiKey=ABCDEFGHIJKLMNOPQ1234567890 3. 对salt,进行MD5签名,得到sign=CCA7AC5EDFC1541EBEBA8207A46EB699 4. 最后得到请求的例子如下:

POST /api/v1/mop/customer-open-api/organ/netdisk/upload?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Body application/form-data
{
    "appId": "6141bd122e0fd10001318982",
     "uploadFile":文件
}

Response
{
   "errcode": "OK",
   "error": "",
   "data": {
       "netdiskID": "6141bd122e0fd10001318982", //网盘id
    }
}
        已复制代码

#上传小程序代码

API

POST /api/v1/mop/customer-open-api/organ/upload/applet

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

参数

content-type: application/form-data

字段类型含义备注
appIdstring小程序id
versionstring小程序版本一般使用3位,例如:1.0.0
versionRemarkstring版本描述信息
filesFromNetdiskstring小程序代码包网盘信息json字符串,不加入签名生成
packagesstring小程序包文件信息json字符串,不加入签名生成

示例

  1. appId、version、versionRemark、nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串salt如下: appId=6141bd122e0fd10001318982&nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&version=1.0.0&versionRemark=版本调试

  2. 将 salt 拼接上 apiKey,得到 salt 是这样,appId=6141bd122e0fd10001318982&nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&version=1.0.0&versionRemark=版本调试 &apiKey=ABCDEFGHIJKLMNOPQ1234567890

  3. 对salt,进行MD5签名,得到sign=CCA7AC5EDFC1541EBEBA8207A46EB699

POST /api/v1/mop/customer-open-api/organ/upload/applet?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Body application/form-data
{
    "appId": "6141bd122e0fd10001318982",
    "version":"1.0.0",
    "versionRemark":"调试版本",
    "filesFromNetdisk":json字符串,
    "packages":json字符串
}

Response
{
    "errcode": "OK",
    "error": "",
    "data": {
        "appId": "6141bd122e0fd10001318982", //小程序id
        "buildLog": "", //上传调试信息
        "status": true, //上传是否成功
        "buildId": "6141bd122e0fd10001318983" //此次上传的id
    }
}
        已复制代码

#提交小程序审核

API

POST /api/v1/mop/customer-open-api/organ/publish/applet

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

参数

content-type: application/json

字段类型含义备注
appIdstring小程序id
buildIdstring编译id

json 的字段顺序必须是:appId、buildId

示例

  1. 将 body 转化为 string 字符串,得到param={"appId": "6141bd122e0fd10001318982","buildId":"6141bd122e0fd10001318983"}

  2. 和 nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串 salt 如下: nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": " 6141bd122e0fd10001318982","buildId":"6141bd122e0fd10001318983"} &timestamp=1631851443000

  3. 将 salt 拼接上 apiKey,得到 salt 是这样,nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": "6141bd122e0fd10001318982"," buildId":"6141bd122e0fd10001318983"} &timestamp=1631851443000&apiKey=ABCDEFGHIJKLMNOPQ1234567890

  4. 对 salt,进行 MD5 签名,得到 sign=CCA7AC5EDFC1541EBEBA8207A46EB699

POST /api/v1/mop/customer-open-api/organ/publish/applet?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Body application/json
{
  "appId": "6141bd122e0fd10001318982",
  "buildId":"6141bd122e0fd10001318983"
}

Response
{
  "data": {
        "appId": "629491cdf049b5000127e9ed",
        "sequence": 3
  },
  "errcode": "OK",
  "error": ""
}
        已复制代码

#通过小程序审核并发布

API

POST /api/v1/mop/customer-open-api/organ/audit/applet

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

参数

content-type: application/json

字段类型含义备注
appIdstring小程序id
sequenceint编译序列号,该字段在提交小程序上架审核后返回
operationstringApprove-同意 Reject-取消
reasonstring驳回原因

json 字段顺序必须是:appId、sequence、operation、reason

示例

  1. 将 body 转化为string字符串,得到param={"appId": "6141bd122e0fd10001318982","sequence":2,"operation": "Approve","reason": ""}

  2. 和 nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串 salt 如下: nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": " 6141bd122e0fd10001318982","sequence":2,"operation": "Approve","reason": ""} &timestamp=1631851443000

  3. 将 salt 拼接上 apiKey,得到 salt 是这样,nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": "6141bd122e0fd10001318982"," sequence":2,"operation": "Approve","reason": ""} &timestamp=1631851443000&apiKey=ABCDEFGHIJKLMNOPQ1234567890

  4. 对 salt,进行MD5签名,得到sign=CCA7AC5EDFC1541EBEBA8207A46EB699

POST /api/v1/mop/customer-open-api/organ/audit/applet?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Body application/json
{
   "appId": "629491cdf049b5000127e9ed",
   "sequence": 2,
   "operation": "Approve",
   "reason": ""
}

Response
{
   "data": {
      "appId": "629491cdf049b5000127e9ed",
      "qrcodeUrl": "${host}/api/v1/mop/runtime/applet/-f-YTA0ZWE0OTQ3MzRiYWRmNg--"
   },
   "errcode": "OK",
   "error": ""
}
        已复制代码

#获取小程序二维码信息

API

POST /api/v1/mop/customer-open-api/organ/release/applet/qrcode

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

参数

content-type: application/json

字段类型含义备注
appIdstring小程序id
apiServerstringapi服务地址

json 的字段顺序必须是:appId、apiServer

示例

  1. 将 body 转化为 string 字符串,得到 param={"appId": "6141bd122e0fd10001318982","apiServer": "https://www.finclip.com"}

  2. 和 nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串salt如下: nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": " 6141bd122e0fd10001318982","apiServer": "https://www.finclip.com"} &timestamp=1631851443000

  3. 将 salt 拼接上 apiKey,得到 salt 是这样,nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": "6141bd122e0fd10001318982"," apiServer": "https://www.finclip.com"} &timestamp=1631851443000&apiKey=ABCDEFGHIJKLMNOPQ1234567890

  4. 对 salt,进行 MD5 签名,得到 sign=CCA7AC5EDFC1541EBEBA8207A46EB699

POST /api/v1/mop/customer-open-api/organ/release/applet/qrcode?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Body json
{
     "appId": "6141bd122e0fd10001318982",
     "apiServer": "https://www.finclip.com"
}

Response
{
   "errcode": "OK",
   "error": "",
   "data": {
      "qrData": "https://www.finclip.com/mop/scattered-page/#/sdktip?type=scanOpen&info=+afT21jLmm4GIvIM2V3Pmad9mLqir+XwuoQVVBrj445XPPRI6eueFFUZcUGP895jz0cGjj0Ne4fcchBRCmJO+As0XFqMrOclsqrXaogsaUOfv+Co/r96qtXEmT529qqdI2JQccA8RSSp0BzLQUVkFfWR2CigS45XtIIGtqS4RCRDFelMrsfr9uUHe8nOXYWW6ompMwFMU6J6S4o2zmG/sHnCmZZRjXDh2MxRiWQF4CkAtCgkJCwwKefA5693YfAvAj8usV+0J93NXGXHtGmU3yrn20vjCfAR5u/tiP7jj+bC38HT2J1GhgK4JuYnhomB&codeType=release"
   }
}
        已复制代码

#获取体验版的二维码链接

API

POST /api/v1/mop/customer-open-api/organ/publish/trial/applet

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

参数

content-type: application/json

字段类型含义备注
appIdstring小程序id
buildIdstring编译id
apiServerstringapi服务地址

json 的字段顺序必须是:appId、buildId、apiServer

示例

  1. 将 body 转化为 string 字符串,得到 param={"appId": "6141bd122e0fd10001318982","buildId":"6141bd122e0fd10001318983"," apiServer": "https://www.finclip.com"}

  2. 和 nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串 salt 如下: nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": " 6141bd122e0fd10001318982","buildId":"6141bd122e0fd10001318983","apiServer": "https://www.finclip.com"} &timestamp=1631851443000

  3. 将 salt 拼接上 apiKey,得到 salt 是这样,nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": "6141bd122e0fd10001318982"," buildId":"6141bd122e0fd10001318983","apiServer": "https://www.finclip.com"} &timestamp=1631851443000&apiKey=ABCDEFGHIJKLMNOPQ1234567890

  4. 对 salt,进行 MD5 签名,得到 sign=CCA7AC5EDFC1541EBEBA8207A46EB699

POST /api/v1/mop/customer-open-api/organ/publish/trial/applet?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Body application/json
{
   "appId": "6141bd122e0fd10001318982",
   "buildId":"6141bd122e0fd10001318983",
   "apiServer": "https://www.finclip.com"
}

Response
{
   "errcode": "OK",
   "error": "",
   "data": {
      "qrData":"https://www.finclip.com/api/v1/mop/runtime/applet/-f-ZjExNmZhZDdmNGQ0NTU5MA--""
   }
}
        已复制代码

#获取小程序版本列表

API

GET /api/v1/mop/customer-open-api/organ/applet/ver-list/:appId

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

url param 参数

字段类型含义备注
appIdstring小程序id

示例

  1. 将请求参数转化为 string 字符串,和 nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串 salt 如下: appId=62997e8b9fbba10001d44847&nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000

  2. 将 salt 拼接上 apiKey,得到 salt 是这样,appId=62997e8b9fbba10001d44847&nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&apiKey=ABCDEFGHIJKLMNOPQ1234567890

  3. 对 salt,进行 MD5 签名,得到 sign=CCA7AC5EDFC1541EBEBA8207A46EB699

GET /api/v1/mop/customer-open-api/organ/applet/ver-list/62997e8b9fbba10001d44847?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Response
{
   "data": {
      "list": [
      {
         "createTime": 1662436084640, //上传时间
         "version":  "1.1.1", //版本号
         "verType": "pubVer", //版本类型:pubVer: 线上版,trialVer:体验版,devVer:开发版,多个版本类型以","分割
         "buildId": "6141bd122e0fd10001318983" //编译id
      }
      ...
      ]
      "total": 25 //总条数
   },
   "errcode": "OK",
   "error": ""
}
        已复制代码

#小程序登录鉴权

API

POST /api/v1/mop/customer-open-api/organ/applet/login/auth

query 参数

字段类型含义备注
noncestring随机字符串确保是唯一的,建议使用uuid
timestampstring时间戳,单位毫秒使用当前系统的时间戳
signstring签名字符串

参数

content-type: application/json

字段类型含义备注
appIdstring小程序id
encodeAuthstring加密的鉴权字符串

json 的字段顺序必须是:appId、encodeAuth

示例

  1. 将 body 转化为 string 字符串,得到 param={"appId": "6141bd122e0fd10001318982","encodeAuth":"6141bd122e0fd10001318983"}

  2. 和 nonce、timestamp 拼接一起,并且按照参数字母排序,得到签名之前的字符串 salt 如下: nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": " 6141bd122e0fd10001318982","encodeAuth":"6141bd122e0fd10001318983"} &timestamp=1631851443000

  3. 将 salt 拼接上 apiKey,得到 salt 是这样,nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&param={"appId": "6141bd122e0fd10001318982"," encodeAuth":"6141bd122e0fd10001318983"} &timestamp=1631851443000&apiKey=ABCDEFGHIJKLMNOPQ1234567890

  4. 对 salt,进行 MD5 签名,得到 sign=CCA7AC5EDFC1541EBEBA8207A46EB699

POST /api/v1/mop/customer-open-api/organ/applet/login/auth?nonce=b3fceb4f-6766-4a1a-9efb-c07ce85409aa&timestamp=1631851443000&sign=CCA7AC5EDFC1541EBEBA8207A46EB699

Body application/json
{
   "appId": "6141bd122e0fd10001318982",
   "encodeAuth":"qW5qtr4b5idqdi+UvM4bjd1XqpEU4/1+xYai6juNvfo="
}

Response
{
   "errcode": "OK",
   "error": "",
   "data": {
      "decodeAuth":"www.finclip.com"
   }
}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:企业微信关联小程序获取员工信息的详细解析
下一篇:FinClip 支持用户自行配置小程序语法标签头
相关文章

 发表评论

暂时没有评论,来抢沙发吧~