您的位置:首页 > Web前端 > Node.js

Node.js接入云片网短信-发送短信

2017-08-11 10:38 627 查看
之前开发的公司的一个物流司机送货的app,后来需要接入短信放功能。就是当司机开始送货的时候,就发送一个短信给客户,提示他,他的货物将在3小时内送达。为此当初在选择短信平台的时候,选择了一家武汉本地的平台–云片网。目前已经使用了3个月,还没发现上面异常。今天就把后台接入短信功能分享出来。

获取APPKEY

登录云片网

云片网。点击左上角的登录按钮,输入你的账号和密码即可。

获取APPKEY



这里我们就可以获取到APPKEY。

查看接口文档

由于云片网未提供Node.js的SDK,所以我使用的API接口对接的。

短信API接口文档

使用

添加模板

添加模板-文档

接口:https://sms.yunpian.com/v2/tpl/add.json

参数:



返回:

{
"tpl_id": 1,                 //模板id
"tpl_content": "【云片网】您的验证码是#code#", //模板内容
"check_status": "CHECKING",     //审核状态:CHECKING/SUCCESS/FAIL
"reason": null                  //审核未通过的原因
}


代码实例:

router.all('/api/add', function(req, res, next) {
var urlStr = 'https://sms.yunpian.com/v2/tpl/add.json';
request.post({
url: urlStr,
form: {
apikey: APIKEY,
tpl_content: '模板内容',
}},
function(error, response, body){
if (!error && response.statusCode == 200) {
var moban = {};
var jsBody = JSON.parse(body);
if (jsBody.check_status == 'CHECKING') {
res.end(JSON.stringify({
msg: '短信模板新建成功',
status: 100
}));
} else{
res.end(JSON.stringify({
msg: '短信模板新建失败',
status: 101
}));
}
}else{
res.end(JSON.stringify({
msg: '短信模板新建失败',
status: 102
}));
}
}
)
})


上面的需要注意
tpl_id
模板id这个。后面再发送短信的时候需要用到。

获取短息模板

取模板-文档

接口:https://sms.yunpian.com/v2/tpl/get.json

参数:



返回:

1)指定id时,调用成功的返回值示例:

{
"tpl_id": 1,
"tpl_content": "您的验证码是#code#",
"check_status": "FAIL",
"reason": "模板开头必须带签名,如【云片网络】" //审核未通过的原因
}


2)未指定id时,调用成功的返回值示例:

[{
"tpl_id": 1,
"tpl_content": "您的验证码是#code#",
"check_status": "FAIL",
"reason ": "模板开头必须带签名,如【云片网】"
},
{
"tpl_id": 2,
"tpl_content": "【云片网】您的验证码是#code#。如非本人操作,请忽略本短信",
"check_status": "SUCCESS",
"reason ": null
}]


代码实例:

router.all('/api/sendMessage', function(req, res, next) {
var param = req.query || req.params;
var tel = param.tel; // 获取用户手机号
if (tel == undefined || tel.length < 11) {
res.end(JSON.stringify({
msg: '请传入正确的参数',
status: 103
}));
return;
}
// 取模板接口  POST
var urlStr1 = 'https://sms.yunpian.com/v2/tpl/get.json';
// 国内单条  发送短信
var urlStr2 = 'https://sms.yunpian.com/v2/sms/single_send.json';
request.post({
url: urlStr1,
form: {
apikey: APIKEY
}},
function(error, response, body){
if (!error && response.statusCode == 200) {
var moban = {};
var jsBody = JSON.parse(body);
moban.status = 100;
moban.msg = '操作成功';
moban.list = jsBody
var duanxin = moban.list[1].tpl_content;
// 发送短信
sendSingleMessage(urlStr2,tel,duanxin,res);
}else{
res.end(JSON.stringify({
msg: '获取短信模板失败',
status: 102
}));
}
}
)
});


这里我的云片里面不知一个短信模板,所以我们传模板id,由于用户不需要知道后端的取模板操作,所以,我直接写在了发送里面。实际是在发送之前有个取模板的操作,前端只需要传递用户的手机号即可。

单条发送

接口:https://sms.yunpian.com/v2/sms/single_send.json

参数:



代码实例:

这个需要结合上线的获取模板操作一个看。

function sendSingleMessage(urlStr,mobile,duanxin,res){
// 发送短信
request.post({
url: urlStr,
form: {
apikey: APIKEY,
mobile: mobile,
text: duanxin
}},
function(error, response, body){
if (!error && response.statusCode == 200) {
var xuanxin = {};
var jsBody = JSON.parse(body);
xuanxin.status = 100;
xuanxin.msg = '操作成功';
xuanxin.data = jsBody
res.end(JSON.stringify(xuanxin));
}else{
res.end(JSON.stringify({
msg: '短信发送失败',
status: 102
}));
}
}
)
}


总结

总体上来说,云片网的API接口使用并不难。看稳文档即可。

但是还是request模块的使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: