tencent cloud

Short Message Service

Release Notes and Announcements
Announcements
Product Introduction
Glossary
Product Overview
Review Standards
Notes
Signature Review Standards
Body Template Review Standards
Sample Body Templates
Reasons for Rejection
Global SMS
Global SMS Intro
Global SMS Pricing
Getting Started
Console Guide
Console Overview
Global SMS
Marketing Management
Business Statistics
Application Management
General Management
Access Management
Practical Tutorial
How to Send Bulk Best Wishes Messages
How to Send SMS Verification Codes
API Documentation
History
Introduction
API Category
Making API Requests
Status Pull APIs
SMS Statistics APIs
SMS Signature APIs
SMS Delivery APIs
SMS Mobile Number APIs
SMS Conversion Rate APIs
SMS Template APIs
Data Types
Error Codes
SMS Callback APIs
SDK Documentation
SDK Download
SDK for Java
SDK for PHP
SDK for Python
SDK for Node.js
SDK for C#
SDK for Go
SDK for C++
FAQ
Billing
Security
Signature
Template
Message Content
Others
Service Agreement
Tencent Cloud SMS Data Processing and Security Agreement
Tencent Cloud SMS Privacy Policy
Service Level Agreement
Tencent Cloud SMS Services Terms of Service
Contact Us

SDK for Node.js

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-06-27 15:48:00
SDK 3.0 is a companion tool for the TencentCloud API 3.0 platform. You can use all SMS APIs through the SDK. The new SDK version is unified and features the same SDK usage, API call methods, error codes, and returned packet formats for different programming languages.
Note:
API version required for connecting to Tencent Cloud International:
SMS API v2021-01-11 is required. For details, see the sample code.
SMS sending APIs:
One message can be sent to up to 200 numbers at a time.
Signature and body template APIs:
Individual users have no permission to use signature and body template APIs and can manage SMS signatures and SMS body templates only in the SMS console. To use the APIs, change "Individual Identity" to "Organizational Identity".

Prerequisites

You have learned about the concept of region and selected a region as needed.
You have activated SMS. For detailed directions, please see Getting Started.
You have obtained the SecretID and SecretKey on the API Key Management page in the CAM console.
SecretID is used to identify the API caller.
SecretKey is used to encrypt the string to sign that can be verified on the server. You should keep it private and avoid disclosure.
The endpoint of the SMS service is sms.tencentcloudapi.com.

Relevant Documents

For more information on the APIs and their parameters, please see API Documentation.
You can download the SDK source code from Github Repository.

Installing SDK

Installing via npm

See Github Repository: Installing via npm

Installing via source package

See Github Repository: Installing via source package

Sample Code

Note:
All samples are for reference only and cannot be directly compiled and executed. You need to modify them based on your actual needs. You can also use API 3.0 Explorer to automatically generate the demo code as needed.
Each API has a corresponding request structure and a response structure. This document only lists the sample code of several common features as shown below:

Sending SMS message

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

// Import the client models of the corresponding product module
const smsClient = tencentcloud.sms.v20210111.Client

/* Instantiate the client object of the requested product (with SMS as an example) */
const client = new smsClient({
credential: {
/* To protect key security, it is suggested to set keys in environment variables or configuration files.
* Hardcoding keys into the code might lead to exposure through leaked code, posing a security vulnerability, and is not recommended.
* Query the CAM Key: https://console.tencentcloud.com/cam/capi */
secretId: process.env.TENCENTCLOUD_SECRET_ID,
secretKey: process.env.TENCENTCLOUD_SECRET_KEY,
},
/* Required: region information. The parameter is the information on the region you select in Tencent Cloud International. If you select Singapore, you should enter the string `ap-singapore`. Click https://www.tencentcloud.com/document/api/382/40466?lang=en#region-list to view the region list. */
region: "ap-singapore",
/* Optional:
* Client configuration object. You can specify the timeout period and other configuration items */
profile: {
/* The SDK uses `TC3-HMAC-SHA256` to sign by default. Do not modify this field unless absolutely necessary */
signMethod: "HmacSHA256",
httpProfile: {
reqMethod: "POST", // Request Method
reqTimeout: 10, // Request timeout time, in seconds (the default value is 60 seconds)
endpoint: "sms.tencentcloudapi.com"
},
},
})

/* Request parameter. You can further set the request parameters according to the API called and actual conditions
* An attribute may be of a basic type or import another data structure
* We recommend you use the IDE for development where you can easily redirect to and view the documentation of each API and data structure */
const params = {
/* SMS application ID, which is the `SdkAppId` generated after an application is added in the [SMS console], such as 2400006666 */
SmsSdkAppId: "2400006666",
/* SMS signature content, which should be encoded in UTF-8. You must enter an approved signature, which can be viewed in the [SMS console] */
SignName: "xxx",
/* SMS code number extension, which is not activated by default. If you need to activate it, please contact [SMS Helper] */
ExtendCode: "",
/* `senderid` for Global SMS, which is not activated by default. If you need to activate it, please contact [SMS Helper] for assistance. This parameter should be left empty for Mainland China SMS */
SenderId: "",
/* User session content, which can carry context information such as user-side ID and will be returned as-is by the server */
SessionContext: "",
/* Target mobile number in the e.164 standard (+[country/region code][mobile number])
* Example: +60198890000, which has a + sign followed by 60 (country/region code) and then by 198890000 (mobile number). Up to 200 mobile numbers are supported */
PhoneNumberSet: ["+60198890000"],
/* Template ID. You must enter the ID of an approved template, which can be viewed in the [SMS console] */
TemplateId: "449739",
/* Template parameters. If there are no template parameters, leave it empty */
TemplateParamSet: ["666"],
}
// Call the API you want to access through the client object; you need to pass in the request object and the response callback function
client.SendSms(params, function (err, response) {
// The request returns an exception and the exception information is printed
if (err) {
console.log(err)
return
}
// The request is returned normally, and the `response` object is printed
console.log(response)
})

Pulling receipt status

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

// Import the client models of the corresponding product module
const smsClient = tencentcloud.sms.v20210111.Client

/* Instantiate the client object of the requested product (with SMS as an example) */
const client = new smsClient({
credential: {
/* To protect key security, it is suggested to set keys in environment variables or configuration files.
* Hardcoding keys into the code might lead to exposure through leaked code, posing a security vulnerability, and is not recommended.
* Query the CAM Key: https://console.tencentcloud.com/cam/capi */
secretId: process.env.TENCENTCLOUD_SECRET_ID,
secretKey: process.env.TENCENTCLOUD_SECRET_KEY,
},
/* Required: region information. The parameter is the information on the region you select in Tencent Cloud International. If you select Singapore, you should enter the string `ap-singapore`. Click https://www.tencentcloud.com/document/api/382/40466?lang=en#region-list to view the region list. */
region: "ap-singapore",
/* Optional:
* Client configuration object. You can specify the timeout period and other configuration items */
profile: {
/* The SDK uses `TC3-HMAC-SHA256` to sign by default. Do not modify this field unless absolutely necessary */
signMethod: "HmacSHA256",
httpProfile: {
reqMethod: "POST", // Request Method
reqTimeout: 30, // Request timeout time, in seconds (the default value is 60 seconds)
endpoint: "sms.tencentcloudapi.com"
},
},
})

/* Request parameter. You can further set the request parameters according to the API called and actual conditions
* An attribute may be of a basic type or import another data structure
* We recommend you use the IDE for development where you can easily redirect to and view the documentation of each API and data structure */
const params = {
// SMS application ID, which is the `SdkAppId` generated after an application is added in the [SMS console], such as 2400006666
SmsSdkAppId: "2400006666",
// Maximum number of pulled entries. Maximum value: 100
Limit: 10,
}
// Call the API you want to access through the client object; you need to pass in the request object and the response callback function
client.PullSmsSendStatus(params, function (err, response) {
// The request returns an exception and the exception information is printed
if (err) {
console.log(err)
return
}
// The request is returned normally, and the `response` object is printed
console.log(response)
})

Collecting SMS message sending data

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

// Import the client models of the corresponding product module
const smsClient = tencentcloud.sms.v20210111.Client

/* Instantiate the client object of the requested product (with SMS as an example) */
const client = new smsClient({
credential: {
/* To protect key security, it is suggested to set keys in environment variables or configuration files.
* Hardcoding keys into the code might lead to exposure through leaked code, posing a security vulnerability, and is not recommended.
* Query the CAM Key: https://console.tencentcloud.com/cam/capi */
secretId: process.env.TENCENTCLOUD_SECRET_ID,
secretKey: process.env.TENCENTCLOUD_SECRET_KEY,
},
/* Required: region information. The parameter is the information on the region you select in Tencent Cloud International. If you select Singapore, you should enter the string `ap-singapore`. Click https://www.tencentcloud.com/document/api/382/40466?lang=en#region-list to view the region list. */
region: "ap-singapore",
/* Optional:
* Client configuration object. You can specify the timeout period and other configuration items */
profile: {
/* The SDK uses `TC3-HMAC-SHA256` to sign by default. Do not modify this field unless absolutely necessary */
signMethod: "HmacSHA256",
httpProfile: {
reqMethod: "POST", // Request Method
reqTimeout: 30, // Request timeout time, in seconds (the default value is 60 seconds)
endpoint: "sms.tencentcloudapi.com"
},
},
})

/* Request parameter. You can further set the request parameters according to the API called and actual conditions
* An attribute may be of a basic type or import another data structure
* We recommend you use the IDE for development where you can easily redirect to and view the documentation of each API and data structure */
const params = {
// SMS application ID, which is the `SdkAppId` generated after an application is added in the [SMS console], such as 1400006666
SmsSdkAppId: "2400006666",
// Maximum number of pulled entries. Maximum value: 100
Limit: 10,
// Offset. Note: this parameter is currently fixed at 0
Offset: 0,
// Start time of pull in the format of `yyyymmddhh` accurate to the hour
BeginTime: "2019122400",
// End time of pull in the format of `yyyymmddhh` accurate to the hour
// Note: `EndTime` must be after `BeginTime`
EndTime: "2019122523",
}
// Call the API you want to access through the client object; you need to pass in the request object and the response callback function
client.SendStatusStatistics(params, function (err, response) {
// The request returns an exception and the exception information is printed
if (err) {
console.log(err)
return
}
// The request is returned normally, and the `response` object is printed
console.log(response)
})

Applying for SMS template

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

// Import the client models of the corresponding product module
const smsClient = tencentcloud.sms.v20210111.Client

/* Instantiate the client object of the requested product (with SMS as an example) */
const client = new smsClient({
credential: {
/* To protect key security, it is suggested to set keys in environment variables or configuration files.
* Hardcoding keys into the code might lead to exposure through leaked code, posing a security vulnerability, and is not recommended.
* Query the CAM Key: https://console.tencentcloud.com/cam/capi */
secretId: process.env.TENCENTCLOUD_SECRET_ID,
secretKey: process.env.TENCENTCLOUD_SECRET_KEY,
},
/* Required: region information. The parameter is the information on the region you select in Tencent Cloud International. If you select Singapore, you should enter the string `ap-singapore`. Click https://www.tencentcloud.com/document/api/382/40466?lang=en#region-list to view the region list. */
region: "ap-singapore",
/* Optional:
* Client configuration object. You can specify the timeout period and other configuration items */
profile: {
/* The SDK uses `TC3-HMAC-SHA256` to sign by default. Do not modify this field unless absolutely necessary */
signMethod: "HmacSHA256",
httpProfile: {
reqMethod: "POST", // Request Method
reqTimeout: 30, // Request timeout, default is 60s
endpoint: "sms.tencentcloudapi.com"
},
},
})

/* Request parameter. You can further set the request parameters according to the API called and actual conditions
* An attribute may be of a basic type or import another data structure
* We recommend you use the IDE for development where you can easily redirect to and view the documentation of each API and data structure */
const params = {
/* Template name */
TemplateName: "Tencent Cloud",
/* Template content */
TemplateContent: "Your login verification code is {1}. Please enter it within {2} minutes. If the login was not initiated by you, please ignore this message.",
/* SMS type. 1: Marketing SMS, 2: Notification SMS, 3: OTP SMS */
SmsType: 3,
/* Whether it is Global SMS. 0: Mainland China SMS; 1: Global SMS */
International: 0,
/* Template remarks, such as reason for application and use case */
Remark: "xxx",
}
// Call the API you want to access through the client object; you need to pass in the request object and the response callback function
client.AddSmsTemplate(params, function (err, response) {
// The request returns an exception and the exception information is printed
if (err) {
console.log(err)
return
}
// The request is returned normally, and the `response` object is printed
console.log(response)
})

FAQs



도움말 및 지원

문제 해결에 도움이 되었나요?

피드백