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

来源:互联网 发布:知乎怎么取消屏蔽 编辑:程序博客网 时间:2024/05/01 13:21

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 遇到问题怎么办呢 别忘了阿里的技术支持啊 一般可以得到自己想要的答案。

1 0