Node.js接入云片网短信-发送短信
2017-08-11 10:38
627 查看
之前开发的公司的一个物流司机送货的app,后来需要接入短信放功能。就是当司机开始送货的时候,就发送一个短信给客户,提示他,他的货物将在3小时内送达。为此当初在选择短信平台的时候,选择了一家武汉本地的平台–云片网。目前已经使用了3个月,还没发现上面异常。今天就把后台接入短信功能分享出来。
这里我们就可以获取到APPKEY。
短信API接口文档。
接口:https://sms.yunpian.com/v2/tpl/add.json
参数:
返回:
代码实例:
上面的需要注意
接口:https://sms.yunpian.com/v2/tpl/get.json
参数:
返回:
1)指定id时,调用成功的返回值示例:
2)未指定id时,调用成功的返回值示例:
代码实例:
这里我的云片里面不知一个短信模板,所以我们传模板id,由于用户不需要知道后端的取模板操作,所以,我直接写在了发送里面。实际是在发送之前有个取模板的操作,前端只需要传递用户的手机号即可。
参数:
代码实例:
这个需要结合上线的获取模板操作一个看。
但是还是request模块的使用。
获取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模块的使用。
相关文章推荐
- 使用Node.js调用阿里云短信的发送以及接收
- node.js中使用http模块发送请求时的一个小错误
- 【js与jquery】订单提交页发送短信功能
- 用Node.js发送邮件
- Node.js使用qq邮箱实现邮件发送
- js实现短信发送倒计时功能(正则验证)
- node.js通过QQ发送邮件
- Node.js 使用nodemailer发送邮件
- 云片网短信的接入
- node封装短信发送
- 转:Node.js邮件发送组件- Nodemailer 1.0发布
- node.js发送邮件email
- JSONP 在前端的发送和后台node.js的处理
- node.JS实现短信即时提醒
- Node发送短信验证码
- Java接入阿里大于短信平台在项目中发送短信
- 在基于Node.js的IoT框架Zetta中实现可变间隔发送数据
- node.js发送邮件email
- Node.js实现发送邮件功能
- JS基础——模拟短信发送对话