1 在开发者控制平台里下载sdk
2 解压后放在ThinkPHP\Library\Org\Alidayu下(Alidayu名字是自定义的)
3 修改其中的4个文件.php 改为 .class.php
top/RequestCheckUtil.class.php
top/ResultSet.class.php
top/TopClient.class.php
top/request/AlibabaAliqinFcSmsNumSendRequest.class.php
4 在控制器中调用
public function send_phone(){
import('Org.Alidayu.top.TopClient');
import('Org.Alidayu.top.ResultSet');
import('Org.Alidayu.top.RequestCheckUtil');
import('Org.Alidayu.top.TopLogger');
import('Org.Alidayu.top.request.AlibabaAliqinFcSmsNumSendRequest');
$c = new \TopClient;
$c->appkey = '****';
$c->secretKey = '******';
$req = new \AlibabaAliqinFcSmsNumSendRequest;
$req ->setExtend( "123456" );
$req ->setSmsType( "normal" );
$req ->setSmsFreeSignName( "注册认证" );//来源于配置短信签名 下面列表中有签名名称
$code = '1234';
$product = '埃瑞迪';
$req ->setSmsParam( "{code:'{$code}',product:'{$product}'}" ); //变量来源于 配置短信模板 点击列表中的详情 模板内容的变量
$req ->setRecNum( "18700000000" ); //手机号
$req ->setSmsTemplateCode("****"); //配置短信模板 列表中有模板id
$resp = $c ->execute( $req );
var_dump($resp);
}
5 发送成功时返回值如下
object(SimpleXMLElement)#9 (2) { ["result"]=> object(SimpleXMLElement)#8 (3) { ["err_code"]=> string(1) "0" ["model"]=> string(26) "103266803479^1104145657130" ["success"]=> string(4) "true" } ["request_id"]=> string(12) "iv0nsr8rvn10" }
6 如何报错根据提示内容进行相应的修改
其中:
{ error_response: { code: 15, msg: ‘Remote service error’, sub_code: ‘isv.BUSINESS_LIMIT_CONTROL’, sub_msg: ‘触发业务流控’, request_id: ‘10cgudxsi0nsn’ } }
这个原因是:
短信验证码,使用同一个签名,对同一个手机号码发送短信验证码,允许每分钟1条,累计每小时7条。 短信通知,使用同一签名、同一模板,对同一手机号发送短信通知,允许每天50条(自然日)。
7 阿里大鱼提供了很好的测试功能 我们可以直接输入参数看效果
8 遇到问题怎么办呢 别忘了阿里的技术支持啊 一般可以得到自己想要的答案。