Code Monkey home page Code Monkey logo

qcloudsms_js's Introduction

腾讯云短信 Node.js SDK

腾讯短信服务

目前腾讯云短信为客户提供国内短信国内语音海外短信三大服务,腾讯云短信SDK支持以下操作:

国内短信

国内短信支持操作:

  • 单发短信
  • 指定模板单发短信
  • 群发短信
  • 指定模板群发短信
  • 拉取短信回执和短信回复状态

Note 短信拉取功能需要联系腾讯云短信技术支持(QQ:3012203387)开通权限,量大客户可以使用此功能批量拉取,其他客户不建议使用。

海外短信

海外短信支持操作:

  • 单发短信
  • 指定模板单发短信
  • 群发短信
  • 指定模板群发短信
  • 拉取短信回执和短信回复状态

Note 海外短信和国内短信使用同一接口,只需替换相应的国家码与手机号码,每次请求群发接口手机号码需全部为国内或者海外手机号码。

语音通知

语音通知支持操作:

  • 发送语音验证码
  • 发送语音通知

开发

准备

在开始开发云短信应用之前,需要准备如下信息:

  • 获取SDK AppID和AppKey

云短信应用SDK AppIDAppKey可在短信控制台的应用信息里获取,如您尚未添加应用,请到短信控制台中添加应用。

  • 申请签名

一个完整的短信由短信签名和短信正文内容两部分组成,短信签名须申请和审核,签名可在短信控制台的相应服务模块内容配置中进行申请。

  • 申请模板

同样短信或语音正文内容模板须申请和审核,模板可在短信控制台的相应服务模块内容配置中进行申请。

安装

npm

qcloudsms_js采用npm进行安装,要使用qcloudsms功能,只需要执行:

npm install qcloudsms_js

手动

  1. 手动下载或clone最新版本qcloudsms_js代码
  2. 把qcloudsms_js把代码放入项目目录
  3. 然后在项目里require qcloudsms_js, 如: var moduleName = require("path/to/qcloudsms_js")

用法

若您对接口存在疑问,可以查阅 API开发指南API文档错误码

  • 准备必要参数和实例化QcloudSms
var QcloudSms = require("qcloudsms_js");

// 短信应用SDK AppID
var appid = 1400009099;  // SDK AppID是1400开头

// 短信应用SDK AppKey
var appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d70ac37470aefc60f9bad";

// 需要发送短信的手机号码
var phoneNumbers = ["21212313123", "12345678902", "12345678903"];

// 短信模板ID,需要在短信应用中申请
var templateId = 7839;  // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请

// 签名
var smsSign = "腾讯云";  // NOTE: 这里的签名只是示例,请使用真实的已申请的签名, 签名参数使用的是`签名内容`,而不是`签名ID`

// 实例化QcloudSms
var qcloudsms = QcloudSms(appid, appkey);

// 设置请求回调处理, 这里只是演示,用户需要自定义相应处理回调
function callback(err, res, resData) {
    if (err)
        console.log("err: ", err);
    else
        console.log("response data: ", resData);
}
  • 单发短信
var smsType = 0; // Enum{0: 普通短信, 1: 营销短信}
var ssender = qcloudsms.SmsSingleSender();
ssender.send(smsType, 86, phoneNumbers[0],
  "【腾讯云】您的验证码是: 5678", "", "", callback);

Note 如需发送海外短信,同样可以使用此接口,只需将国家码"86"改写成对应国家码号。 Note 无论单发/群发短信还是指定模板ID单发/群发短信都需要从控制台中申请模板并且模板已经审核通过,才可能下发成功,否则返回失败。

  • 指定模板ID单发短信
var ssender = qcloudsms.SmsSingleSender();
var params = ["5678"];
ssender.sendWithParam(86, phoneNumbers[0], templateId,
  params, SmsSign, "", "", callback);  // 签名参数未提供或者为空时,会使用默认签名发送短信

Note 无论单发/群发短信还是指定模板ID单发/群发短信都需要从控制台中申请模板并且模板已经审核通过,才可能下发成功,否则返回失败。

  • 群发
var smsType = 0;  // Enum{0: 普通短信, 1: 营销短信}
var msender = qcloudsms.SmsMultiSender();
msender.send(smsType, "86", phoneNumbers,
  "【腾讯云】您的验证码是: 5678", "", "", callback);

Note 无论单发/群发短信还是指定模板ID单发/群发短信都需要从控制台中申请模板并且模板已经审核通过,才可能下发成功,否则返回失败。

  • 指定模板ID群发
var msender = qcloudsms.SmsMultiSender();
var params = ["5678"];
msender.sendWithParam("86", phoneNumbers, templateId,
  params, smsSign, "", "", callback);  // 签名参数未提供或者为空时,会使用默认签名发送短信

Note 群发一次请求最多支持200个号码,如有对号码数量有特殊需求请联系腾讯云短信技术支持(QQ:3012203387)。

  • 发送语音验证码
var vvcsender = qcloudsms.SmsVoiceVerifyCodeSender();
vvcsender.send("86", phoneNumbers[0], "1234", 2, "", callback);

Note 语音验证码发送只需提供验证码数字,例如当msg=“5678”时,您收到的语音通知为“您的语音验证码是5678”,如需自定义内容,可以使用语音通知。

  • 发送语音通知
var vpsender = qcloudsms.SmsVoicePromptSender();
vpsender.send("86", phoneNumbers[0], 2, "5678", 2, "", callback);
  • 拉取短信回执以及回复
var maxNum = 10;  // 单次拉取最大量
var spuller = qcloudsms.SmsStatusPuller();
// 拉取短信回执
spuller.pullCallback(maxNum, callback);
// 拉取回复
spuller.pullReply(maxNum, callback);

Note 短信拉取功能需要联系腾讯云短信技术支持(QQ:3012203387),量大客户可以使用此功能批量拉取,其他客户不建议使用。

  • 拉取单个手机短信状态
var beginTime = 1511125600;  // 开始时间(unix timestamp)
var endTime = 1511841600;    // 结束时间(unix timestamp)
var maxNum = 10;             // 单次拉取最大量
var mspuller = qcloudsms.SmsMobileStatusPuller();
// 拉取短信回执
mspuller.pullCallback("86", phoneNumbers[0], beginTime, endTime, maxNum, callback);
// 拉取回复
mspuller.pullReply("86", phoneNumbers[0], beginTime, endTime, maxNum, callback);

Note 短信拉取功能需要联系腾讯云短信技术支持(QQ:3012203387),量大客户可以使用此功能批量拉取,其他客户不建议使用。

  • 发送海外短信

海外短信与国内短信发送类似, 发送海外短信只需替换相应国家码。

qcloudsms_js's People

Contributors

balalals avatar qcloudsms avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.