最好用的发短信(验证码、语音短信)接口

使用阿里大鱼短信接口

注册

  1. 进入大鱼页面,如果没有账号,则自行注册,再此不在过多详述。
  2. 注册完成或者有账号的则在首页中点击加入“加入阿里大鱼”,如下:
    这里写图片描述

创建引用

  1. 点击“管理中心”,然后再点击右上角的进入“开发者控制台”。
    这里写图片描述

  2. 点击右上角的“创建应用”。
    这里写图片描述

  3. 点击其他,选择“阿里大鱼”应用标签,创建应用。
    这里写图片描述

  4. 输入应用名称,创建应用即可获得App Key。
    这里写图片描述

  5. 创建应用后自动跳转至应用管理页,通过概览可以查看当前应用的APP证书,查看App Key,App Secret。
    这里写图片描述

申请订阅接口

  1. 进入需要订阅消息的应用。

2.进入“消息服务—订阅消息”,找到alibaba_aliqin_FcSmsDR订阅短信发送结果报告,找到alibaba_aliqin_FcCallCdr订阅语音呼叫结果报告。
这里写图片描述

应用开发

  1. 根据开发语言选择板本生成对应SDK,(控制台-SDK下载,请获取权限后再生成SDK)(大概需3分钟),支持JAVA、PHP、Python、 .NET、 Metadata、 nodejs,这里下载的是PHP的SDK。
    这里写图片描述

  2. 下载sdk,是压缩文件,解压即可,将得到以下文件:
    这里写图片描述

  3. 将代码导入到您的开发工程中

  4. 在top/request中以下标记为我们发送短信中需要使用到的接口文件。
    这里写图片描述

  5. 在API文档中查看调用示例与传参规则。
    这里写图片描述

测试

发送普通短信

<?php
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai'); 
error_reporting('ALL');
//发送普通短信
$c = new TopClient;
//当前短信应用中的App Key
$c->appkey = '11111';

//当前短信应用中的App Secret
$c->secretKey = 'aaaaaaaaaaaaaaaaaaaa';
$req = new AlibabaAliqinFcSmsNumSendRequest;

//短信类型,传入值请填写norma,这个参数的配置一定不能写错,也就是不能放在下面配置之后
$req->setSmsType("normal");

//短信签名,传入的短信签名必须是在阿里大鱼“管理中心-短信签名管理”中的可用签名。如“活动验证”已在短信签名管理中通过审核,则可传入”活动验证“(传参时去掉引号)作为短信签名。短信效果示例:【活动验证】验证码123,您正在进行登录身份验证,打死不要告诉别人哦!。
$req->setSmsFreeSignName("活动验证");

//短信模板变量,传参规则{"key":"value"},key的名字须和申请模板中的变量名一致,多个变量之间以逗号隔开。示例:针对模板“验证码${code},您正在进行${product}身份验证,打死不要告诉别人哦!”,传参时需传入{"code":"1234","product":"免费短信来了"}
$req->setSmsParam("{\"code\":\"1234\",\"product\":\"免费短信来了\"}");

//短信接收号码。支持单个或多个手机号码,传入号码为11位手机号码,不能加0或+86。群发短信需传入多个号码,以英文逗号分隔,一次调用最多传入200个号码。示例:18600000000,13911111111,13322222222
$req->setRecNum("13800000000");

//短信模板ID,传入的模板必须是在阿里大鱼“管理中心-短信模板管理”中的可用模板。示例:SMS_585014
$req->setSmsTemplateCode("SMS_585014");

$resp = $c->execute($req);
$resp = obj2Arr($resp);
var_dump($resp);
if ($resp['result']['success']) {
        echo "发送成功!";
} else {
        echo $resp['msg'];
}
//将返回的对象装换成数组
function obj2Arr ($obj) {
    $_arr = is_object($obj) ? get_object_vars($obj) : $obj; 
    foreach ($_arr AS $k => $v) {
            $val = (is_object($v) ? obj2Arr($v) : $v);
            $arr[$k] = $val;
    }
    return $arr;
}

测试成功,发送普通短信就到此结束

文本转语音通知

<?php
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai'); 
error_reporting('ALL');
$c = new TopClient;
$c->appkey = '1111';
$c->secretKey = 'aaaaaaaaaaaaaaaaaaaaaaaaa';
$req = new AlibabaAliqinFcTtsNumSinglecallRequest;

//文本转语音(TTS)模板变量,传参规则{"key":"value"},key的名字须和TTS模板中的变量名一致,多个变量之间以逗号隔开,示例:{"name":"xiaoming","code":"1234"}
$req->setTtsParam("{\"AckNum\":\"123456\"}");

//被叫号码,支持国内手机号与固话号码,格式如下057188773344,13911112222,4001112222,95500
$req->setCalledNum("13700000000");

//被叫号显,传入的显示号码必须是阿里大鱼“管理中心-号码管理”中申请或购买的号码
$req->setCalledShowNum("4001112222");

//TTS模板ID,传入的模板必须是在阿里大鱼“管理中心-语音TTS模板管理”中的可用模板
$req->setTtsCode("TTS_10001");
$resp = $c->execute($req);

语音通知

<?php
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai'); 
error_reporting('ALL');
$c = new TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$req = new AlibabaAliqinFcVoiceNumSinglecallRequest;

//被叫号码,支持国内手机号与固话号码,格式如下057188773344,13911112222,4001112222,95500
$req->setCalledNum("13700000000");

//被叫号显,传入的显示号码必须是阿里大鱼“管理中心-号码管理”中申请通过的号码
$req->setCalledShowNum("4001112222");

//语音文件ID,传入的语音文件必须是在阿里大鱼“管理中心-语音文件管理”中的可用语音文件
$req->setVoiceCode("c2e99ebc-2d4c-4e78-8d2a-afbb06cf6216.wav");
$resp = $c->execute($req);

多方通话

<?php
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai'); 
error_reporting('ALL');
$c = new TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$req = new AlibabaAliqinFcVoiceNumDoublecallRequest;

//通话超时时长,如接通后到达120秒时,通话会因为超时自动挂断。若无需设置超时时长,可不传。
$req->setSessionTimeOut("120");

//主叫号码,支持国内手机号与固话号码,格式如下057188773344,13911112222,4001112222,95500
$req->setCallerNum("13700000000");

//主叫号码侧的号码显示,传入的显示号码必须是阿里大鱼“管理中心-号码管理”中申请通过的号码。显示号码格式如下057188773344,4001112222,95500
$req->setCallerShowNum("057188773344");

//被叫号码,支持国内手机号与固话号码,格式如下057188773344,13911112222,4001112222,95500
$req->setCalledNum("13800000000");

//被叫号码侧的号码显示,传入的显示号码可以是阿里大鱼“管理中心-号码管理”中申请通过的号码。显示号码格式如下057188773344,4001112222,95500。显示号码也可以为主叫号码。
$req->setCalledShowNum("057188773344");
$resp = $c->execute($req);

短信接口就到处结束

  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
在进行web端手机号验证接口测试时,我们可以考虑以下几个步骤和方法: 1. 确定测试环境和配置:首先,我们需要确保测试环境具备验证码的功能,并且能够接收和验证验证码。这可以通过模拟验证送的接口来实现,或者使用第三方服务提供商的测试环境。 2. 确定测试用例:根据引用[2]提到的需求明确和细化的步骤,我们可以明确测试用例,包括验证验证接口的功能、测试点等。我们可以测试以下方面: - 测试验证码的有效性:验证接收到的验证码是否与预期一致。 - 测试验证码的过期性:验证验证码是否在一定时间内过期。 - 测试验证码的正确性:验证验证码是否只能被正确的手机号接收并验证。 - 测试验证码的安全性:验证是否存在轰炸漏洞,即重放验证接口导致送大量恶意。这可以参考引用中提到的轰炸漏洞。 3. 编写测试脚本:根据确定的测试用例,我们可以编写测试脚本来模拟用户输入手机号并触验证送的操作。然后,我们可以接收并验证返回的验证码是否符合预期。在测试验证码安全性时,我们可以编写脚本来模拟恶意送大量请求,检查系统是否能够及时识别并阻止这些请求。 4. 进行测试:在测试过程中,我们可以使用自动化测试工具来执行测试脚本,并检查测试结果是否符合预期。我们可以使用一些开源工具如Selenium或Appium来模拟用户行为并自动化测试。 总结起来,对于web端手机号验证接口测试,我们需要确定测试环境和配置,明确测试用例,并编写相应的测试脚本来模拟用户行为和验证验证码的功能、有效性、过期性和安全性。通过自动化测试工具执行测试脚本,并检查测试结果是否符合预期,以保证接口的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值