联系我们

邮件:4000-960-717

邮件:service#3yit.com

使用Node.js调用短信接口发送验证码短信教程

NODE.JS对接验证码短信接口DEMO示例

圆点

使用Node.js调用短信接口发送验证码短信教程(图1)

在当今的数字世界中,短信验证码作为一种安全、快捷的验证方式,广泛应用于各种应用场景。本文将详细介绍如何使用Node.js语言调用短信接口,发送验证码短信。

准备工作

在开始之前,请确保您已经注册了短信服务提供商(如本例中使用的3yit.com),并在其开发者文档中查看了相关接口信息,包括sp_idpassword(或signature)、API地址等。

参数获取

登录智慧云信官网、点击对应的产品,比如【验证码】、在上方的选项卡中选择【开发者】-》【HTTP开发文档】。从文档中可以看到具体API方法名称,以及各个参数key及对应的值vavlue,通常包括sp_idmobilecontentpassword等参数。    

sp_id代表产品编号,具有唯一性,通常是由6位数字组成。

mobile代表手机号码。

content代表短信内容,包含签名与短信内容,比如“【智慧云信】您的验证码是456790,请妥善保管,其中【智慧云信】是签名,在签名报备中申请,“您的验证码是456790,请妥善保管“是短信模版,在模版报备中申请,审核通过即可发送。

password是通过SP_ID密码进行MD5加密算法后产生的接口密码(非登录密码),由32位随机字符串组成

安装依赖

Node.js环境下,我们将使用axios库来发送HTTP请求。您可以使用npm(Node.js包管理器)来安装它:

bash复制代码npm install axios

编写代码

首先,我们需要导入axios库,并编写一个发送短信的函数:

javascript复制代码

const axios = require('axios');



async function sendSms(spId, mobile, content, password, ext = '') {

try {

// 构造请求参数  

const formData = new URLSearchParams();

formData.append('sp_id', spId);

formData.append('mobile', mobile);

formData.append('content', content);

// 根据需要选择使用password或signature  

formData.append('password', password);

formData.append('ext', ext);



// 发送POST请求  

const response = await axios.post('https://api.3yit.com/api/send-sms-single', formData, {

headers: {

'Content-Type': 'application/x-www-form-urlencoded'  

}

});



// 处理响应数据  

const { data } = response.data;

if (data.code === 0) {

console.log('短信发送成功,msg_id:', data.msg_id);

return data.msg_id;

} else {

console.error('短信发送失败:', data.msg);

return null;

}

} catch (error) {

console.error('发送短信时发生错误:', error);

return null;

}

}



// 示例调用  

const spId = '5xxxxx'; // 替换为您的sp_id  

const mobile = '176xxxxxxxx'; // 替换为接收短信的手机号  

const content = '【签名】验证码123'; // 替换为短信内容  

const password = 'xxxxxxxxxxx'; // 替换为您的md5处理后的密码  



sendSms(spId, mobile, content, password)

.then(msgId => {

if (msgId) {

// 保存或处理msgId  

}

})

.catch(error => {

// 处理错误  

});

注意事项

  1. 安全性:在实际应用中,请确保您的sp_idpassword(或signature)的安全,不要将敏感信息硬编码在代码中。
  2. 错误处理:上述代码中,我们简单地打印了错误信息和响应数据。在实际应用中,您可能需要更复杂的错误处理逻辑。
  3. 签名算法:如果您选择使用signature而不是password,请确保您已经正确实现了签名算法,并按照文档中的要求生成签名。
  4. 扩展参数ext参数是一个可选参数,用于传递额外的信息。您可以根据需要设置该参数。
  5. 返回值处理:除了codemsg之外,响应数据中还可能包含其他有用的信息,如msg_id(用于获取状态报告)等。请根据您的需求处理这些返回值。
  6. 黑名单拦截:如果目标手机号在黑名单中,或者由于其他原因导致短信发送失败,短信服务提供商通常会实时返回错误信息。请确保您的代码能够正确处理这些错误情况。

总结

通过本文的教程,您应该已经掌握了如何使用Node.js调用短信接口发送验证码短信的基本方法。在实际应用中,您可能需要根据具体的需求和场景进行相应的调整和优化。希望本文能对您有所帮助!