智慧云信

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

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

圆点

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

短信验证码是应用里常见的安全验证方式,注册、登录、找回密码都能用。这篇文章讲怎么用 Node.js 调用短信接口,发送验证码短信。

准备工作

开始之前,先确认已经注册短信服务商(本例用的是 3yit.com),并在开发者文档里查看相关接口信息,包括 sp_idpassword(或 signature)、API 地址等。

获取接口参数

登录智慧云信官网,选择对应的产品(如【验证码】),在上方选项卡中点击【开发者】→【HTTP开发文档】,就能看到具体的 API 方法名称,以及各参数的 key 和对应值,通常包括 sp_idmobilecontentpassword 等。各参数含义如下:

  • sp_id:产品编号,全局唯一,一般由 6 位数字组成。
  • mobile:接收短信的手机号码。
  • content:短信内容,包含签名和正文。例如“【智慧云信】您的验证码是456790,请妥善保管”,其中【智慧云信】是签名,需在签名报备中申请;后面的提示语是短信模板,需在模板报备中申请,审核通过后才能发送。
  • password:用 SP_ID 密码经 MD5 加密后生成的接口密码(非登录密码),由 32 位随机字符串组成。

安装依赖

Node.js 环境下用 axios 库发送 HTTP 请求,用 npm 安装:

npm install axios

编写代码

导入 axios,写一个发送短信的函数:

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 => {
// 处理错误
});

注意事项

  • sp_idpassword(或 signature)属于敏感信息,不要硬编码在代码里,建议放到配置或环境变量中。
  • 示例里只是简单打印了错误信息,正式项目建议补更完整的错误处理逻辑。
  • 如果选用 signature 而非 password,要按文档要求正确实现签名算法。
  • ext 是可选的扩展参数,按需传值。
  • 返回结果里除了 codemsg,还有 msg_id(可用于获取状态报告),按需处理。
  • 目标手机号在黑名单里,或其它原因导致发送失败时,服务商会实时返回错误信息,代码里要处理这些情况。

总结

到这里,用 Node.js 调短信接口发验证码的基本流程就走通了:装好 axios,按文档拼好参数发 POST 请求,再处理返回结果。具体项目里按场景调整即可。

其他语言教程:PHP · Java · ASP · ASP.NET(C#) · JSP · Delphi · Go · Python · Ruby · Shell · VB · C++ · C。更多信息见短信API接入指南

代码里的 API 地址、账号和密码替换成你自己的就能跑通。如果还没有账号,去智慧云信官网注册一个,注册就能免费测试,验证码、通知、营销短信都支持。

内容可信度说明

作者:智慧云信通信技术团队

技术审核:国际短信与号码检测产品组

最后更新:2026-08-13

适用范围:国际短信、国际验证码短信、国际语音筛单、空号检测、号码实时检测等出海通信与号码检测场景。

本文结合智慧云信平台产品能力、客户接入问题和通道运营经验整理。不同国家/地区的 Sender ID、模板审核、计费方式和合规要求可能变化,实际发送前建议以当前通道审核与项目沟通结果为准。