Skip to main content

Integration

The Integration service provides CRUD capabilities for integration templates and integration instances (UserKey). It wraps the cloud API (tcb 2018-06-08), and every request carries Business='integration'.

Access it via manager.integration, for example:

const { integration } = new CloudBase({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId' // Cloud Development environment ID, available in the Tencent Cloud Base console
})
Note

This service is a thin wrapper over the cloud API: it does not interpret template fields, does not encrypt/decrypt sensitive fields, and does not perform orchestration such as "binding resources". The template structure, encryption keys, and upper-layer interactions are handled by the caller (CLI / console); the caller assembles the final configuration into the Ext JSON string.

listTemplates

1. Description

Function: Get the list of integration templates (UserKey templates)

Declaration: listTemplates(params?: IListTemplatesParams): Promise<IGetUserKeyTemplateListResult>

2. Input Parameters

IListTemplatesParams

FieldRequiredTypeDescription
offsetNoNumberOffset, default 0
limitNoNumberLimit, default 100
authTypeCodeNoStringFilter by auth type code
authTypeNameNoStringFilter by auth type name
businessNoStringBusiness type; pass integration for the integration center

3. Response

IGetUserKeyTemplateListResult

FieldRequiredTypeDescription
RequestIdNoStringUnique request ID
TotalCountYesNumberTotal templates
KeyTemplateListYesArray<IUserKeyTemplate>Template list

IUserKeyTemplate

FieldRequiredTypeDescription
AuthTypeCodeYesStringAuth type code (template key)
AuthTypeNameYesStringAuth type name (template display name)
ExtYesStringTemplate dynamic info as JSON string, includes fields definitions
AuthURLNoStringAuth URL (for OAuth-type templates)
IconNoStringTemplate icon
StateNoStringStatus
RedirectURINoStringRedirect URI

4. Example

const res = await integration.listTemplates({
limit: 20,
business: 'integration'
})
console.log(res.KeyTemplateList)

listUserKeys

1. Description

Function: Get the list of integration instances (UserKey)

Declaration: listUserKeys(params?: IListUserKeysParams): Promise<IGetUserKeyListResult>

2. Input Parameters

IListUserKeysParams

FieldRequiredTypeDescription
nameNoStringFilter by name (fuzzy match)
authTypeCodeNoStringFilter by auth type code
offsetNoNumberOffset, default 0
limitNoNumberLimit, default 100
businessNoStringBusiness type; pass integration for the integration center

3. Response

IGetUserKeyListResult

FieldRequiredTypeDescription
RequestIdNoStringUnique request ID
TotalCountYesNumberTotal instances
UserKeyListYesArray<IUserKeyInfo>Instance list

IUserKeyInfo

FieldRequiredTypeDescription
NameYesStringIntegration instance name
KeyIDYesStringIntegration instance ID (unique)
AuthTypeCodeYesStringAuth type code
AuthTypeNameYesStringAuth type name
ExtYesStringConfig JSON string (contains encrypted sensitive values)
DescriptionNoStringDescription
StatusNoStringStatus
TicketIDNoStringOAuth-type auth ticket id
DemoCodeFunctionNameNoStringBound sample code cloud function name
BindServiceListNoObjectBound service list (grouped by Mcp / Apis / Other)
CreateAtNoStringCreation time (ISO 8601)
UpdateAtNoStringUpdate time (ISO 8601)

4. Example

const res = await integration.listUserKeys({
name: 'my-key',
business: 'integration'
})
console.log(res.UserKeyList)

getUserKey

1. Description

Function: Get a single integration instance

Declaration: getUserKey(params: IGetUserKeyParams): Promise<IGetOneUserKeyResult>

2. Input Parameters

IGetUserKeyParams

FieldRequiredTypeDescription
keyIdYesStringIntegration instance ID
needPwdNoBooleanWhen true, returns the encrypted value of sensitive fields; default false
businessNoStringBusiness type; pass integration for the integration center

3. Response

IGetOneUserKeyResult

FieldRequiredTypeDescription
RequestIdNoStringUnique request ID
UserKeyInfoYesIUserKeyInfoIntegration instance detail

See listUserKeys for the UserKeyInfo field definitions.

4. Example

const res = await integration.getUserKey({
keyId: 'my-key-id',
business: 'integration'
})
console.log(res.UserKeyInfo)

createUserKey

1. Description

Function: Create an integration instance

Declaration: createUserKey(params: ICreateUserKeyParams): Promise<ICreateUserKeyResult>

ext is the final JSON string written to the backend. The caller assembles it from template fields (including encrypted sensitive fields); the SDK does not parse or modify it and passes it to the cloud API as-is.

2. Input Parameters

ICreateUserKeyParams

FieldRequiredTypeDescription
nameYesStringIntegration instance name
authTypeCodeYesStringAuth type code
descriptionNoStringDescription
extNoStringConfig JSON string (contains encrypted sensitive values)
keyIdNoStringSpecify the instance ID (generated by backend if omitted)
ticketIdNoStringOAuth-type auth ticket id
demoCodeFunctionNameNoStringBound sample code cloud function name
runtimeConfigNoRecord<string, any>Agent cloud function config
businessNoStringBusiness type; pass integration for the integration center

3. Response

ICreateUserKeyResult

FieldRequiredTypeDescription
RequestIdNoStringUnique request ID
CreateResultYesNumberCreate result (0 means success)
DemoCodeFunctionNameNoStringSample code cloud function name

4. Example

const res = await integration.createUserKey({
name: 'my-payment',
authTypeCode: 'weixinpaydc',
ext: JSON.stringify({ appId: 'xxx', secret: 'encrypted-value' }),
business: 'integration'
})
console.log(res)

updateUserKey

1. Description

Function: Update an integration instance

Declaration: updateUserKey(params: IUpdateUserKeyParams): Promise<IUpdateUserKeyResult>

The caller is responsible for merging ext with the existing value before passing it. If ext is omitted, the backend keeps the existing Ext unchanged.

2. Input Parameters

IUpdateUserKeyParams

FieldRequiredTypeDescription
keyIdYesStringIntegration instance ID
nameNoStringIntegration instance name
authTypeCodeNoStringAuth type code
descriptionNoStringDescription
extNoStringConfig JSON string (contains encrypted sensitive values)
demoCodeFunctionNameNoStringBound sample code cloud function name (used by bind-resource)
runtimeConfigNoRecord<string, any>Agent cloud function config
businessNoStringBusiness type; pass integration for the integration center

3. Response

IUpdateUserKeyResult

FieldRequiredTypeDescription
RequestIdNoStringUnique request ID
UpdateResultYesNumberUpdate result (0 means success)

4. Example

const res = await integration.updateUserKey({
keyId: 'my-key-id',
description: 'updated description',
business: 'integration'
})
console.log(res)

deleteUserKey

1. Description

Function: Delete an integration instance

Declaration: deleteUserKey(params: IDeleteUserKeyParams): Promise<IDeleteUserKeyResult>

2. Input Parameters

IDeleteUserKeyParams

FieldRequiredTypeDescription
keyIdYesStringIntegration instance ID

3. Response

IDeleteUserKeyResult

FieldRequiredTypeDescription
RequestIdNoStringUnique request ID
DeleteResultYesNumberDelete result (0 means success)

4. Example

const res = await integration.deleteUserKey({
keyId: 'my-key-id'
})
console.log(res)