thinkphp3.2 如何使用 阿里大鱼短信接口

1 在开发者控制平台里下载sdk
thinkphp3.2 如何使用 阿里大鱼短信接口_第1张图片

2 解压后放在ThinkPHP\Library\Org\Alidayu下(Alidayu名字是自定义的)
thinkphp3.2 如何使用 阿里大鱼短信接口_第2张图片

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 阿里大鱼提供了很好的测试功能 我们可以直接输入参数看效果
thinkphp3.2 如何使用 阿里大鱼短信接口_第3张图片

8 遇到问题怎么办呢 别忘了阿里的技术支持啊 一般可以得到自己想要的答案。

你可能感兴趣的:(ThinkPHP)