新版 APIs 概述

最近更新时间:2025-12-11 15:24:12

我的收藏
已经升级改造成基于 openapi 格式的V2版本的 APIs 模板包括:腾讯会议、腾讯云API、腾讯云短信、腾讯云邮件、腾讯云文字识别、公众号开放服务、腾讯地图。另外,小程序开放能力、微信虚拟支付、视频号、微信小店等也在改造中,敬请期待!

背景说明

旧版 APIs,按非标准、非通用方式维护第三方服务的接口文档,需要平台耗费相当人力维护,对于用户来说,调用过程是个黑盒,不够透明;另外,当第三方业务的接口有改动时,平台维护的文档不一定能及时跟进更新,会导致接口调用出问题;此外,APIs 与密钥信息强关联,当前 APIs,当相同密钥创建多个 APIs 时,每创建一个 APIs 都需要重新输入一遍密钥信息,比较繁琐。基于以上原因,开发新版 APIs。
新版 APIs,基于通用 openapi 格式,本质上只关注授权、鉴权部分,不干预、不维护第三方服务的接口内容本身,接口的增删、接口入参传参的变动,用户自行关注即可,大大提升用户使用的灵活性、透明度,降低平台维护成本以及第三方服务接口变动附带的风险。此外,将密钥信息管理部分解耦,用户先创建需要的密钥连接信息,在创建需要的 APIs 类型时选择关联对应的密钥连接信息即可,密钥连接信息一次创建,可以在多个 APIs 重复关联使用,解耦提升了灵活性。

架构设计


新版 APIs
新版 APIs


详细说明

以微信小程序为例,获取微信小程序账号的类目接口的 openapi 文档如下:

{
"openapi": "3.0.0",
"info": {
"title": "微信小程序开放能力",
"description": "包含微信小程序接口文档",
"version": "1.0.0",
"contact": {
"name": "微信开放平台",
"url": "https://developers.weixin.qq.com"
}
},
"servers": [
{
"url": "https://api.weixin.qq.com",
"description": "微信API服务器"
}
],
"paths": {
"/wxaapi/newtmpl/getcategory": {
"get": {
"summary": "获取类目",
"description": "该接口用于获取小程序账号的类目",
"operationId": "getCategory",
"tags": [
"订阅消息"
],
"responses": {
"200": {
"description": "成功响应",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"errcode": {
"type": "integer",
"description": "错误码"
},
"errmsg": {
"type": "string",
"description": "错误信息"
},
"data": {
"type": "array",
"description": "类目列表",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "类目id,查询公共库模版时需要"
},
"name": {
"type": "string",
"description": "类目的中文名"
}
}
}
}
}
}
}
}
}
}
}
}
}
}

创建

1. 用户在腾讯云云开发的拓展功能 > 授权管理中,新建连接,选择对应类型的信息,填写相关信息,保存,创建密钥连接信息。

2. 用户选择想要创建的 APIs 类型,选择关联对应的密钥连接信息,填写其他比如描述等字段信息,单击创建,获取 userAPIsID。

3. 新版的 APIs,会有相应的V2标识,表明是新版本的底层基于 openapi 规范的 APIs。


调用

通过 APIs 详情页测试接口

用户可以在详情页进行调试接口。
详情页展示的方法列表里面,仅展示部分接口,用户选择了对应的方法后,点击测试方法,填写相关参数,即可发起请求。
没有在方法列表里面展示的方法,用户可以通过点击“其他方法测试”,填写方法的 Path(包含 query 参数),请求 method(GET、POST、PUT、DELETE 等),填写需要的 header 信息,以及 body 参数,然后发起请求。



通过微搭低代码编辑器的表达式方式调用接口

用户可以在微搭低代码编辑器中,“代码区”区域,单击“+”,选择“新建开放 APIs 查询”。

按照指导,填写 userAPIsID,按需填写 path、method、header 信息、body 参数等,进行运行调试,如下图,其中 userAPIsID 就是创建新版的 APIs 成功后,在详情页显示的 userAPIsID。


调用过程以及腾讯云云开发网关层处理说明

不论是通过 APIs 详情页测试接口,还是通过微搭低代码编辑器的表达式方式,发起调用,平台底层会拼接出类似这样的调用 URL。
其中,{env} 是用户的环境 id,{$userAPIsID} 用户创建 APIs 后获取的 apisID,{$path} 是用户请求的具体的 path(比如获取微信小程序账号的类目的 path 是/wxaapi/newtmpl/getcategory)。

网关层处理

拼接 targetURL
用户请求打到网关层后,网关层通过 userAPIsID,获取 APIs 对应的 openapi 的 schema,解析出目标服务的 serverURL(比如微信小程序的 serverURL 是https://api.weixin.qq.com),将 serverURL 和 path 进行拼接获取到最终请求的 targetURL(比如https://api.weixin.qq.com/wxaapi/newtmpl/getcategory),同时获取关联的密钥授权信息,将密钥授权信息拼接到请求的指定位置(query、header、body等),所有信息准备好后,网关层转发请求到目标服务,获取响应,返回响应给用户。
拼接密钥授权信息
拼接密钥授权信息这一步,每种 APIs 可能不一样。
1. 比如微信类的小程序、公众号、微信虚拟支付、视频号、微信小店等,网关层会自动根据密钥信息,到微信服务器请求 access_token,请求到 access_token 后拼接到 targetURL 上,因此微信类的 APIs,用户请求接口时,入参中不需要传 access_token。
2. 比如腾讯地图、腾讯云 API,网关层会自动将 apiKey 直接拼接到指定位置,用户请求接口时不用传 apiKey 参数。
3. 比如腾讯会议,网关层会自行处理 header 参数、operator_id、operator_id_type、userid 等参数。
网关层自动处理的信息(用户不用传或者处理,网关层自动处理)
下面简单说明每个 APIs 类型,网关层自动处理的信息,具体示例,在每个 APIs 类型下详细说明。
APIs 类型
网关层自行处理的字段,用户不用处理相关字段
其他特殊字段或逻辑说明
小程序、公众号、视频号、微信小店
query参数:access_token(网关层会自行根据关联的密钥对,到微信服务器获取access_token,拼接到用户请求的url参数上)
-
微信虚拟支付
query参数:access_token(网关层会自行根据选择的密钥对,到微信服务器获取access_token,拼接到用户请求的url参数上)
其他比如签名和加密等,如果创建 APIs 时选择了开启加密,则网关层会自行进行相关加解密和添加签名、验签等
-
企业微信
query参数:access_token(网关层会自行根据关联的密钥对,到企业微信服务器获取access_token,拼接到用户请求的url参数上,无论用户创建的密钥对选择的是自定义配置填写密钥对,还是选择企业微信集成配置信息,网关层都会自行获取access_token,拼接到用户的URL参数上)
-
腾讯地图
query参数:网关层会自行根据关联的密钥对,将apiKey拼接到url上
-
腾讯云API
网关层会自行处理公参如header参数:
X-TC-TraceId、
X-Cloudbase-Request-Id、
X-Request-Id
ProductName:不是官方接口需要的字段,是 APIs 能力需要的必传字段,是因为各个云产品的接口host不一样,为了识别接口具体对应的哪个host,比如文字识别,取值ocr,取值腾讯云API的产品英文简称,比如cvm、ocr、sms、ses等,详见映射的产品列表
Action:见各个接口文档说明
Version:每个接口的version取值见各个接口文档说明
Region:有的接口文档需要,有的接口不需要,具体见各个接口文档说明支持的 Region 列表
其他参数:具体见各个接口文档说明
腾讯云短信
网关层会自行处理公参比如header参数:
X-TC-TraceId、
X-Cloudbase-Request-Id、
X-Request-Id
ProductName:不是官方接口需要的字段,是 APIs 能力需要的必传字段,是因为各个云产品的接口host不一样,为了识别接口具体对应的哪个host,腾讯云短信本字段传固定值sms
Action:见接口文档说明
Version:version取值见接口文档说明
Region:有的接口文档需要,有的接口不需要,具体见各个接口文档说明支持的 Region 列表
其他参数:具体见接口文档说明
腾讯云邮件
网关层会自行处理公参比如header参数:
X-TC-TraceId、
X-Cloudbase-Request-Id、
X-Request-Id
ProductName:不是官方接口需要的字段,是 APIs 能力需要的必传字段,是因为各个云产品的接口host不一样,为了识别接口具体对应的哪个host,腾讯云邮件本字段传固定值ses
Action:见接口文档说明
Version:version取值见接口文档说明
Region:有的接口文档需要,有的接口不需要,具体见各个接口文档说明支持的 Region 列表
其他参数:具体见接口文档说明
腾讯云文字识别
网关层会自行处理公参比如header参数:
X-TC-TraceId、
X-Cloudbase-Request-Id、
X-Request-Id
ProductName:不是官方接口需要的字段,是 APIs 能力需要的必传字段,是因为各个云产品的接口host不一样,为了识别接口具体对应的哪个host,腾讯云文字识别本字段传固定值ocr
Action:见接口文档说明
Version:version取值见接口文档说明
Region:有的接口文档需要,有的接口不需要,具体见各个接口文档说明支持的 Region 列表
其他参数:具体见接口文档说明
腾讯会议
POST、PUT请求的body参数和GET、DELETE请求的query参数:operator_id、operator_id_type、userid等
header参数:
X-TC-Timestamp、
X-TC-Nonce、
X-TC-Registered、
Openid、
Accesstoken
instanceid建议都传1

APIs 详情页

权限设置

权限设置,引导用户到云后台的权限管理进行设置,这个权限设置,实际是在请求打到网关层时进行校验是否有权限。

基本信息

展示、编辑基本信息,变更关联的密钥对,是否启用mcp等。

是否启用 mcp

1. openapi 类型的 APIs,在创建时,可以选择启用 mcp(个人版不支持 mcp,因此个人版不支持同步启用 mcp),创建完 APIs 后,在 AI+ 的 mcp 中同步创建出来一个 APIs 类型的 mcp:
1.1 APIs 类型的 mcp 跟 AI+ 中正常的 mcp 的区别:正常 mcp 创建出来需要依托云托管环境运行,APIs 类型的 mcp 不依托云托管环境运行,APIs 类型的 mcp,一个接口就是一个 tools,调用一个 tools 底层实质上是调用一个接口;
1.2 创建 APIs 启用的 mcp,因为 mcp 需要完整的入参出参描述,某个类型的 APIs 的 openapi 的 schema 描述文档可能仅有部分接口的描述,因此对应 mcp 就仅有这部分的接口对应的 tools 可以使用,若有客户有诉求需要调用其他未描述的接口的 tools,后续可以持续完善该类型的 openapi 的 schema 描述文档。
2. APIs 在创建时选择启用 mcp,或者在具体某个 APIs 的详情页中进行编辑,选择启用 mcp,都会在 AI+ 的 mcp 中同步创建出来一个 APIs 类型的 mcp。
3. 用户删除某个 APIs,或者在具体某个 APIs 的详情页中进行编辑,本来是启用 mcp,改成不启用 mcp,都会同步删除之前创建的 APIs 类型的 mcp。

用户已经创建的 APIs 列表页

1. 基于 openapi 的新版 APIs(有V2图标)和非 openapi 的 APIs 在一个列表中,按更新时间进行倒排,更新时间最近的在最前面。
2. 基于 openapi 的 APIs,不支持:列表中拖拽、改变顺序、加入分组。