集成中心
集成中心(Integration)提供集成模板与集成实例(密钥对,UserKey)的增删改查能力,封装自云 API(
tcb2018-06-08),所有请求统一携带Business='integration'。通过
manager.integration访问,例如:const { integration } = new CloudBase({secretId: 'Your SecretId',secretKey: 'Your SecretKey',envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取})说明SDK 提供两种使用模式:
- 透传模式:直接传入
extJSON 字符串(自行加密敏感字段),原样传递给云 API- 自动加解密模式:传入
envVariables明文键值对,SDK 自动识别模板中的 password 字段、拉取七彩石密钥完成 AES-256-CBC 加密后拼装ext
listTemplates
1. 接口描述
接口功能:获取集成模板(密钥对模版)列表
接口声明:listTemplates(params?: IListTemplatesParams): Promise<IGetUserKeyTemplateListResult>
2. 输入参数
IListTemplatesParams
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| offset | 否 | Number | 偏移量,默认 0 |
| limit | 否 | Number | 返回数量,默认 100 |
| authTypeCode | 否 | String | 按授权类型码筛选 |
| authTypeName | 否 | String | 按授权类型名称筛选 |
| business | 否 | String | 业务类型,集成中心传入 integration |
3. 返回结果
IGetUserKeyTemplateListResult
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 否 | String | 请求唯一标识 |
| TotalCount | 是 | Number | 模板总数 |
| KeyTemplateList | 是 | Array<IUserKeyTemplate> | 模板列表 |
IUserKeyTemplate
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| AuthTypeCode | 是 | String | 授权类型码(模板 Key) |
| AuthTypeName | 是 | String | 授权类型名称(模板中文名) |
| Ext | 是 | String | 模板动态信息 JSON 字符串,含 fields 定义 |
| AuthURL | 否 | String | 授权 URL(OAuth 类模板) |
| Icon | 否 | String | 模板图标 |
| State | 否 | String | 状态 |
| RedirectURI | 否 | String | 回调地址 |
4. 示例代码
const res = await integration.listTemplates({
limit: 20,
business: 'integration'
})
console.log(res.KeyTemplateList)
listUserKeys
1. 接口描述
接口功能:获取集成实例(密钥对)列表
接口声明:listUserKeys(params?: IListUserKeysParams): Promise<IGetUserKeyListResult>
2. 输入参数
IListUserKeysParams
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| name | 否 | String | 按名称筛选(模糊匹配) |
| authTypeCode | 否 | String | 按授权类型码筛选 |
| offset | 否 | Number | 偏移量,默认 0 |
| limit | 否 | Number | 返回数量,默认 100 |
| business | 否 | String | 业务类型,集成中心传入 integration |
3. 返回结果
IGetUserKeyListResult
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 否 | String | 请求唯一标识 |
| TotalCount | 是 | Number | 实例总数 |
| UserKeyList | 是 | Array<IUserKeyInfo> | 实例列表 |
IUserKeyInfo
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Name | 是 | String | 集成实例名称 |
| KeyID | 是 | String | 集成实例标识(唯一) |
| AuthTypeCode | 是 | String | 授权类型码 |
| AuthTypeName | 是 | String | 授权类型名称 |
| Ext | 是 | String | 配置信息 JSON 字符串(含加密后的敏感字段值) |
| Description | 否 | String | 描述 |
| Status | 否 | String | 状态 |
| TicketID | 否 | String | OAuth 类授权 ticket id |
| DemoCodeFunctionName | 否 | String | 绑定的示例代码云函数名称 |
| BindServiceList | 否 | Object | 已绑定服务列表(Mcp / Apis / Other 等分组) |
| CreateAt | 否 | String | 创建时间(ISO 8601) |
| UpdateAt | 否 | String | 更新时间(ISO 8601) |
4. 示例代码
const res = await integration.listUserKeys({
name: 'my-key',
business: 'integration'
})
console.log(res.UserKeyList)
getUserKey
1. 接口描述
接口功能:获取单个集成实例详情
接口声明:getUserKey(params: IGetUserKeyParams): Promise<IGetOneUserKeyResult>
2. 输入参数
IGetUserKeyParams
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| keyId | 是 | String | 集成实例标识 |
| needPwd | 否 | Boolean | 为 true 时返回加密字段的密文值,默认 false |
| decryptPwd | 否 | Boolean | 为 true 时 SDK 自动解密 password 字段返回明文(需同时传 needPwd=true) |
| business | 否 | String | 业务类型,集成中心传入 integration |
3. 返回结果
IGetOneUserKeyResult
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 否 | String | 请求唯一标识 |
| UserKeyInfo | 是 | IUserKeyInfo | 集成实例详情 |
UserKeyInfo字段定义见 listUserKeys。
4. 示例代码
// 获取实例详情(不返回敏感字段值)
const res = await integration.getUserKey({
keyId: 'my-key-id',
business: 'integration'
})
console.log(res.UserKeyInfo)
// 获取实例详情并自动解密敏感字段
const resWithPwd = await integration.getUserKey({
keyId: 'my-key-id',
needPwd: true,
decryptPwd: true,
business: 'integration'
})
console.log(resWithPwd.UserKeyInfo)
createUserKey
1. 接口描述
接口功能:创建集成实例
接口声明:createUserKey(params: ICreateUserKeyParams): Promise<ICreateUserKeyResult>
支持两种传参方式:
- 透传模式:传入
ext(已加密的 JSON 字符串),SDK 原样传递给云 API(向后兼容)- 自动加密模式:传入
envVariables(明文键值对),SDK 自动识别模板中的 password 字段、拉取七彩石密钥完成 AES-256-CBC 加密后拼装ext- 两者都传时以
ext优先
2. 输入参数
ICreateUserKeyParams
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| name | 是 | String | 集成实例名称 |
| authTypeCode | 是 | String | 授权类型码 |
| description | 否 | String | 描述 |
| ext | 否 | String | 配置信息 JSON 字符串(透传模式,含敏感字段密文) |
| envVariables | 否 | Record<string, string> | 环境变量明文键值对(自动加密模式,SDK 自动加密 password 字段) |
| keyId | 否 | String | 指定实例标识(不指定则由后端生成) |
| ticketId | 否 | String | OAuth 类授权 ticket id |
| demoCodeFunctionName | 否 | String | 绑定的示例代码云函数名称 |
| runtimeConfig | 否 | Record<string, any> | Agent 云函数配置 |
| business | 否 | String | 业务类型,集成中心传入 integration |
3. 返回结果
ICreateUserKeyResult
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 否 | String | 请求唯一标识 |
| CreateResult | 是 | Number | 创建结果(0 表示成功) |
| DemoCodeFunctionName | 否 | String | 示例代码云函数名称 |
4. 示例代码
// 自动加密模式:传明文 envVariables,SDK 自动加密 password 字段
const res = await integration.createUserKey({
name: 'my-wechat',
authTypeCode: 'weixinoffiaccount',
envVariables: {
appId: 'wx1234567890',
appsecret: 'your-plaintext-secret' // 明文传入,SDK 自动加密
},
business: 'integration'
})
console.log(res)
// 透传模式:传入已加密的 ext JSON 字符串(向后兼容)
const res2 = await integration.createUserKey({
name: 'my-payment',
authTypeCode: 'weixinpaydc',
ext: JSON.stringify({ appId: 'xxx', secret: 'encrypted-value' }),
business: 'integration'
})
console.log(res2)
updateUserKey
1. 接口描述
接口功能:更新集成实例
接口声明:updateUserKey(params: IUpdateUserKeyParams): Promise<IUpdateUserKeyResult>
支持两种传参方式:
- 透传模式:传入
ext(已合并的 JSON 字符串),SDK 原样传递给云 API- 自动加密模式:传入
envVariables(明文键值对),SDK 自动与现有 Ext 合并并加密 password 字段- 两者都传时以
ext优先;都未传时后端保留原有 Ext 不变
2. 输入参数
IUpdateUserKeyParams
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| keyId | 是 | String | 集成实例标识 |
| name | 否 | String | 集成实例名称 |
| authTypeCode | 否 | String | 授权类型码 |
| description | 否 | String | 描述 |
| ext | 否 | String | 配置信息 JSON 字符串(透传模式,含敏感字段密文) |
| envVariables | 否 | Record<string, string> | 环境变量明文键值对(自动加密模式,SDK 自动与现有 Ext 合并并加密 password 字段) |
| demoCodeFunctionName | 否 | String | 绑定的示例代码云函数名称(bind-resource 使用) |
| runtimeConfig | 否 | Record<string, any> | Agent 云函数配置 |
| business | 否 | String | 业务类型,集成中心传入 integration |
3. 返回结果
IUpdateUserKeyResult
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 否 | String | 请求唯一标识 |
| UpdateResult | 是 | Number | 更新结果(0 表示成功) |
4. 示例代码
// 自动加密模式:传明文 envVariables,SDK 自动与现有 Ext 合并并加密
const res = await integration.updateUserKey({
keyId: 'my-key-id',
description: '更新描述',
envVariables: {
appId: 'wx1234567890',
appsecret: 'new-plaintext-secret' // 明文传入,SDK 自动合并并加密
},
business: 'integration'
})
console.log(res)
// 透传模式:传入已合并的 ext JSON 字符串(向后兼容)
const res2 = await integration.updateUserKey({
keyId: 'my-key-id',
description: '更新描述',
ext: JSON.stringify({ appId: 'xxx', secret: 'encrypted-value' }),
business: 'integration'
})
console.log(res2)
deleteUserKey
1. 接口描述
接口功能:删除集成实例
接口声明:deleteUserKey(params: IDeleteUserKeyParams): Promise<IDeleteUserKeyResult>
2. 输入参数
IDeleteUserKeyParams
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| keyId | 是 | String | 集成实例标识 |
3. 返回结果
IDeleteUserKeyResult
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| RequestId | 否 | String | 请求唯一标识 |
| DeleteResult | 是 | Number | 删除结果(0 表示成功) |
4. 示例代码
const res = await integration.deleteUserKey({
keyId: 'my-key-id'
})
console.log(res)