Node.js SDK

最近更新时间:2024-11-14 11:49:11

我的收藏
SDK 3.0是云 API 3.0平台的配套工具,您可以通过 SDK 使用所有 语音消息 API。新版 SDK 实现了统一化,具有各个语言版本的 SDK 使用方法相同,接口调用方式相同,错误码相同以及返回包格式相同等优点。
注意:
发送语音验证码 只需提供验证码数字,如需自定义内容,可以 发送语音通知。例如,当 msg=“5678” 时,您收到的语音通知为您的语音验证码是五六七八。
发送语音通知 数字默认按照个、十、百、千、万进行播报,可通过在数字前添加英文逗号(,)改变播报方式。例如,当 msg=您的语音验证码是5678。 时,您收到的语音通知为您的语音验证码是五千六百七十八。,当 msg=您的语音验证码是5,6,7,8。时,您收到的语音通知为您的语音验证码是五六七八。

前提条件

已开通语音消息服务,具体操作请参见 快速入门
已准备依赖环境:NODEJS 10.0.0 版本及以上。
已在访问管理控制台 > API密钥管理 页面获取 SecretID 和 SecretKey。
SecretID 用于标识 API 调用者的身份。
SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥,SecretKey 需妥善保管,避免泄露
语音消息的调用地址为vms.tencentcloudapi.com

相关资料

各个接口及其参数的详细介绍请参见 API 文档
下载 SDK 源码请访问 Node.js SDK 源码

安装 SDK

通过 npm 安装(推荐)

npm 是 Node.js 的包管理工具。
1. 执行以下安装命令。
npm install tencentcloud-sdk-nodejs --save
2. 在您的代码中引用对应模块代码,可参考 示例代码

通过源码包安装

1. 前往 GitHub 代码托管地址,下载源码压缩包。
2. 解压源码包到您项目合适的位置。
3. 在您的代码中引用对应模块代码,可参考 示例代码

示例代码

说明:
所有示例代码仅作参考,无法直接编译和运行,需根据实际情况进行修改,您也可以根据实际需求使用 API 3.0 Explorer 自动化生成 Demo 代码。
每个接口都有一个对应的 Request 结构和一个 Response 结构。示例代码如下所示。

发送语音验证码

const tencentcloud = require("tencentcloud-sdk-nodejs");

// 导入 VMS 模块的 client models
const vmsClient = tencentcloud.vms.v20200902.Client;

/* 实例化要请求 VMS 的 client 对象 */
const client = new vmsClient({
credential: {
/* 必填:腾讯云账户密钥对secretId,secretKey。
* 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
* 您也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
* 以免泄露密钥对危及您的财产安全。
* CAM密匙查询: https://console.cloud.tencent.com/cam/capi */
secretId: process.env.secretId,
secretKey: process.env.secretKey,
},
/* 必填:地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
region: "ap-guangzhou",
/* 非必填:
* 客户端配置对象,可以指定超时时间等配置 */
profile: {
/* SDK默认用TC3-HMAC-SHA256进行签名,非必要请不要修改这个字段 */
signMethod: "TC3-HMAC-SHA256",
httpProfile: {
/* SDK默认使用POST方法。
* 如果您一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
reqMethod: "POST",
/* SDK有默认的超时时间,非必要请不要进行调整
* 如有需要请在代码中查阅以获取最新的默认值 */
reqTimeout: 30,
/**
* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果您访问的是金融区的服务
* 则必须手动指定域名,例如vms的上海金融区域名: vms.ap-shanghai-fsi.tencentcloudapi.com
*/
endpoint: "vms.tencentcloudapi.com"
},
},
});

/* 请求参数,根据调用的接口和实际情况,可以进一步设置请求参数
* 属性可能是基本类型,也可能引用了另一个数据结构
* 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明
* 帮助链接:
* 语音消息控制台:https://console.cloud.tencent.com/vms
* vms helper:https://cloud.tencent.com/document/product/1128/37720
*/
const params = {
/* 验证码,仅支持填写数字,实际播报语音时,会自动在数字前补充语音文本"您的验证码是" */
CodeMessage: "1234",
/* 被叫手机号码,采用 e.164 标准,格式为+[国家或地区码][用户号码]
* 例如:+8613711112222,其中前面有一个+号,86为国家码,13711112222为手机号
*/
CalledNumber: "+8613711112222",
/* 在语音控制台添加应用后生成的实际SdkAppid,示例如1400006666 */
VoiceSdkAppid: "1400006666",
/* 播放次数,可选,最多3次,默认2次 */
PlayTimes: 2,
/* 用户的 session 内容,腾讯 server 回包中会原样返回 */
SessionContext: "xxxx",
};
// 通过client对象调用想要访问的接口,需要传入请求对象以及响应回调函数
client.SendCodeVoice(params, function (err, response) {
// 请求异常返回,打印异常信息
if (err) {
console.log(err);
return;
}
// 请求正常返回,打印response对象
console.log(response);
})

指定模板发送语音通知

const tencentcloud = require("tencentcloud-sdk-nodejs");

// 导入 VMS 模块的 client models
const vmsClient = tencentcloud.vms.v20200902.Client;

/* 实例化要请求 VMS 的 client 对象 */
const client = new vmsClient({
credential: {
/* 必填:腾讯云账户密钥对secretId,secretKey。
* 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
* 您也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
* 以免泄露密钥对危及您的财产安全。
* CAM密匙查询: https://console.cloud.tencent.com/cam/capi */
secretId: process.env.secretId,
secretKey: process.env.secretKey,
},
/* 必填:地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
region: "ap-guangzhou",
/* 非必填:
* 客户端配置对象,可以指定超时时间等配置 */
profile: {
/* SDK默认用TC3-HMAC-SHA256进行签名,非必要请不要修改这个字段 */
signMethod: "TC3-HMAC-SHA256",
httpProfile: {
/* SDK默认使用POST方法。
* 如果您一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
reqMethod: "POST",
/* SDK有默认的超时时间,非必要请不要进行调整
* 如有需要请在代码中查阅以获取最新的默认值 */
reqTimeout: 30,
/**
* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果您访问的是金融区的服务
* 则必须手动指定域名,例如vms的上海金融区域名: vms.ap-shanghai-fsi.tencentcloudapi.com
*/
endpoint: "vms.tencentcloudapi.com"
},
},
});

/* 请求参数,根据调用的接口和实际情况,可以进一步设置请求参数
* 属性可能是基本类型,也可能引用了另一个数据结构
* 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明
* 帮助链接:
* 语音消息控制台:https://console.cloud.tencent.com/vms
* vms helper:https://cloud.tencent.com/document/product/1128/37720
*/
const params = {
// 模板 ID,必须填写在控制台审核通过的模板 ID,可登录 [语音消息控制台] 查看模板 ID
TemplateId: "4356",
TemplateParamSet: ["7652"],
/* 被叫手机号码,采用 e.164 标准,格式为+[国家或地区码][用户号码]
* 例如:+8613711112222,其中前面有一个+号,86为国家码,13711112222为手机号
*/
CalledNumber: "+8613711112222",
/* 在语音控制台添加应用后生成的实际SdkAppid,示例如1400006666 */
VoiceSdkAppid: "1400006666",
/* 播放次数,可选,最多3次,默认2次 */
PlayTimes: 2,
/* 用户的 session 内容,腾讯 server 回包中会原样返回 */
SessionContext: "xxxx",
};
// 通过client对象调用想要访问的接口,需要传入请求对象以及响应回调函数
client.SendTtsVoice(params, function (err, response) {
// 请求异常返回,打印异常信息
if (err) {
console.log(err);
return;
}
// 请求正常返回,打印response对象
console.log(response);
})