前期准备
根据运营商的要求,目前此接口只对实名认证的企业用户开放使用,所以在使用之前请确保您是实名认证的企业用户
申请接口,你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key
接口申请开通入口:https://www.juhe.cn/docs/api/id/54
购买数据的请求次数(免费和有赠送次数的接口可以先行调试)
您必须在聚合官网的个人中心里面提前申请短信模板,待客服审核通过后才能调用接口
特别说明
请仔细阅读官网的接口文档,这是聚合数据与开发者的约定,它将有助于您对接口业务的理解,从而顺利地开展开发工作
本示例的侧重点,是帮助开发者顺利获取到接口的响应数据,对于开发者的数据处理等业务逻辑,本文不会展开讨论
本示例旨在最大程度简化开发者的调用步骤,没有将功能模块封装为独立的工具类,方便开发者一键复制后直接运行调试
由于水平能力所限,示例中难免存在错误和疏漏,如有发现还请大家批评指正
接口备注
运营商限制同1个号码同1个签名的内容1分钟内只能接收1条,10分钟3条,1小时内4条,一天20条,否则可能会被运营商屏蔽
短信api接口本身不限制发送频率,具体发送频率需要用户自行设置,只限国内手机号
请务必添加图片验证码等防恶意攻击的机制,以防短信轰炸,营销内容最后加回T退订,营销短信发送时间为:8:30至21:30。营销内容有防钓鱼机制,请勿单条发送,移动20条起(循环调用),联通电信不限制
短信内容(包含签名)小于等于70个字符为计费1条。超过70个字符为长短信,按每67个字计费
参数说明
参数名 必填 说明
mobile true 手机号
tpl_id true 模板id
key true 申请的请求key
tpl_value false 模板变量,根据模板中变量决定,可为空
node.js发起请求代码
//node request模块安装命令:npm install request
var request = require('request');
var querystring = require('querystring');
var queryData = querystring.stringify({
"mobile": "180xxxxxxxx", // 接收短信的用户手机号码
"tpl_id": "xxx", // 您申请的短信模板ID,根据实际情况修改
"tpl_value": "#code#=1235231", // 您设置的模板变量,根据实际情况修改;无变量则为空
"key": "您申请的ApiKey", // 应用APPKEY(应用详细页查询)
});
var queryUrl = 'Http://v.juhe.cn/sms/send';
request.post({url:queryUrl, fORM:queryData},function (error, response, body) {
if (!error && response.statusCode == 200) {
var JSONObj = jsON.parse(body); // 解析接口返回的JSON内容
if (jsonObj) {
var errorCode = jsonObj.error_code;
var reason = jsonObj.reason;
if (errorCode == 0) {
// 请求发送成功,可根据实际逻辑修改
var sid = jsonObj.result.sid;
console.log("发送成功:短信ID:"+sid);
} else {
// 请求失败
console.log('请求失败:'+errorCode+' '+reason);
}
} else{
// 可能网络异常等问题请求失败,可根据实际逻辑修改
console.log('解析JSON异常');
}
} else {
// 可能网络异常等问题请求失败,可根据实际逻辑修改
console.log('请求异常'+error+response.statusCode);
}
})