跳到主要内容

集成中心

集成中心(Integration)提供集成模板与集成实例(密钥对,UserKey)的增删改查能力,封装自云 API(tcb 2018-06-08),所有请求统一携带 Business='integration'。

通过 manager.integration 访问,例如:

const { integration } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // 云开发环境ID,可在腾讯云云开发控制台获取
})
说明

SDK 提供两种使用模式:

  • 透传模式:直接传入 ext JSON 字符串(自行加密敏感字段),原样传递给云 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否StringOAuth 类授权 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否StringOAuth 类授权 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)