nodejs DEMO

功能说明:该接口要求提前在云片后台添加模板,提交短信时,系统会自动匹配审核通过的模板,匹配成功任意一个模板即可发送。系统已提供的默认模板添加签名后可以直接使用。

  1. // 修改为您的apikey.可在官网(https://www.yunpian.com)登录后获取
  2. var https = require('https');
  3. var qs = require('querystring');
  4. var apikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
  5. // 修改为您要发送的手机号码,多个号码用逗号隔开
  6. var mobile = 'xxxxxxxxxxx';
  7. // 修改为您要发送的短信内容
  8. var text = '【云片网】您的验证码是1234';
  9. // 指定发送的模板编号
  10. var tpl_id = 1;
  11. // 指定发送模板的内容
  12. var tpl_value = {'#code#':'1234','#company#':'yunpian'};
  13. // 语音短信的内容
  14. var code = '1234';
  15. // 查询账户信息https地址
  16. var get_user_info_uri = '/v2/user/get.json';
  17. // 智能匹配模板发送https地址
  18. var sms_host = 'sms.yunpian.com';
  19. var voice_host = 'voice.yunpian.com';
  20. send_sms_uri = '/v2/sms/single_send.json';
  21. // 指定模板发送接口https地址
  22. send_tpl_sms_uri = '/v2/sms/tpl_single_send.json';
  23. // 发送语音验证码接口https地址
  24. send_voice_uri = '/v2/voice/send.json';
  25. query_user_info(get_user_info_uri,apikey);
  26. send_sms(send_sms_uri,apikey,mobile,text);
  27. send_tpl_sms(send_tpl_sms_uri,apikey,mobile,tpl_id,tpl_value);
  28. send_voice_sms(send_voice_uri,apikey,mobile,code);
  29. function query_user_info(uri,apikey){
  30. var post_data = {
  31. 'apikey': apikey,
  32. };//这是需要提交的数据
  33. var content = qs.stringify(post_data);
  34. post(uri,content,sms_host);
  35. }
  36. function send_sms(uri,apikey,mobile,text){
  37. var post_data = {
  38. 'apikey': apikey,
  39. 'mobile':mobile,
  40. 'text':text,
  41. };//这是需要提交的数据
  42. var content = qs.stringify(post_data);
  43. post(uri,content,sms_host);
  44. }
  45. function send_tpl_sms(uri,apikey,mobile,tpl_id,tpl_value){
  46. var post_data = {
  47. 'apikey': apikey,
  48. 'mobile':mobile,
  49. 'tpl_id':tpl_id,
  50. 'tpl_value':qs.stringify(tpl_value),
  51. };//这是需要提交的数据
  52. var content = qs.stringify(post_data);
  53. post(uri,content,sms_host);
  54. }
  55. function send_voice_sms(uri,apikey,mobile,code){
  56. var post_data = {
  57. 'apikey': apikey,
  58. 'mobile':mobile,
  59. 'code':code,
  60. };//这是需要提交的数据
  61. var content = qs.stringify(post_data);
  62. console.log(content);
  63. post(uri,content,voice_host);
  64. }
  65. function post(uri,content,host){
  66. var options = {
  67. hostname: host,
  68. port: 443,
  69. path: uri,
  70. method: 'POST',
  71. headers: {
  72. 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
  73. }
  74. };
  75. var req = https.request(options, function (res) {
  76. // console.log('STATUS: ' + res.statusCode);
  77. // console.log('HEADERS: ' + JSON.stringify(res.headers));
  78. res.setEncoding('utf8');
  79. res.on('data', function (chunk) {
  80. console.log('BODY: ' + chunk);
  81. });
  82. });
  83. //console.log(content);
  84. req.write(content);
  85. req.end();
  86. }