A-A+

容联云通讯Sms短信发送开发实例

2016年08月15日 PHP开源系统 暂无评论 阅读 11 views 次

从网上查了一下,单位里用的应该是容联云通讯的短信开发平台,一看官网神马的,真的很高大上,短信接口的开发要比移动支付接口的开发神马的整合起来简单多了,档案系统用的是 thinkphp 系统,整合起来短信接口就更不在话下了,直接把类库放置到 thinkphp 目录系统下 /lib/thinkphp/extend/vendor/sms/ccprestSDK.php,这只是一个类库的核心文件,基本上不用去管的,在使用的时候直接实例化里面的 function 就OK了。

好了,在 thinkphp 里面整合还是比较简单的,看如下的整合代码,因为我这里只需要简单的发送一个短信,所以使用代码量还是比较少的,如下所示:

  1. //发送验证码    
  2. Vendor('Sms.CCPRestSDK');    
  3. //主帐号    
  4. $accountSid= '11';    
  5. //主帐号Token    
  6. $accountToken= '22';    
  7. //应用Id    
  8. $appId='33';    
  9. //请求地址,格式如下,不需要写https://    
  10. $serverIP='app.cloopen.com';    
  11. //请求端口    
  12. $serverPort='8883';    
  13. //REST版本号    
  14. $softVersion='2013-12-26';    
  15.     
  16. $arr=array();    
  17. $arr['0']='smiling'; //先生    
  18. $arr['1']='夏日工作室 '; //投资平台名称    
  19. $arr['2']="https://www.xiariboke.com/?id=5"; //保单链接    
  20.     
  21. $mobile = 13000000000;    
  22.     
  23. if($mobile){    
  24.     
  25.     $rest = new REST($serverIP,$serverPort,$softVersion);    
  26.     $rest->setAccount($accountSid,$accountToken);    
  27.     $rest->setAppId($appId);    
  28.         
  29.     $result = $rest->sendTemplateSMS($mobile,$arr,"106439");    
  30.     if($result == NULL ) {    
  31.         echo "result error!";    
  32.         break;    
  33.     }    
  34.     if($result->statusCode!=0) {    
  35.         echo $result->statusMsg . "  错误代码:".$result->statusCode;    
  36.         //TODO 添加错误处理逻辑    
  37.     }else{    
  38.         return 1;    
  39.     }    
  40.     
  41. }    
  42. //结束发送    

看代码很简单吧,使用短信首先把短信类库引进进来,Vendor('Sms.CCPRestSDK');,然后定义模板ID,以及新建数组内容,数组 $arr 支持多个,看自己的需求了,当然这个数组是可以直接赋值或者调用 post 的值再或者调用数据库里面的值,下面把我整合单位通讯的发送代码再分享一下,如下所示:

  1. //发送短信开始  
  2. //企业名称  
  3. $listc = M("company")->where("id=".$_SESSION[C('COMPANY_AUTH_KEY')])->find();  
  4. //$listc[nickname]; //企业名称  
  5.   
  6. //保单ID  
  7. $list_p2pid = M("p2p")->order('id desc')->find();  
  8. $list_p2pid[id] = $list_p2pid[id]+1;  
  9.   
  10. //发送短信实例化  
  11. Vendor('Sms.CCPRestSDK');  
  12. //主帐号  
  13. $accountSid= '111111';  
  14. //主帐号Token  
  15. $accountToken= '222222';  
  16. //应用Id  
  17. $appId='aabbcc';  
  18. //请求地址,格式如下,不需要写https://  
  19. $serverIP='app.cloopen.com';  
  20. //请求端口  
  21. $serverPort='8883';  
  22. //REST版本号  
  23. $softVersion='2013-12-26';  
  24.   
  25.             $arr=array();  
  26.             $arr['0']=$data['realname']; //姓名  
  27.             $arr['1']=$listc[nickname]; //投资平台名称  
  28.             $arr['2']="http://xiariboke.com/?m=p&i=".$list_p2pid[id]; //保单链接  
  29.   
  30.             $mobile = $data['phone'];  
  31. if($mobile){  
  32.       
  33.     $rest = new REST($serverIP,$serverPort,$softVersion);  
  34.     $rest->setAccount($accountSid,$accountToken);  
  35.     $rest->setAppId($appId);  
  36.   
  37.     $result = $rest->sendTemplateSMS($mobile,$arr,"106439");  
  38.       
  39.     if($result == NULL ) {  
  40.         echo "result error!";  
  41.         break;  
  42.     }  
  43.     if($result->statusCode!=0) {  
  44.         echo $result->statusMsg . "  错误代码:".$result->statusCode;  
  45.         //TODO 添加错误处理逻辑  
  46.     }else{  
  47.         //return 1;  
  48.     }  
  49.        
  50. }  
  51. //发送结束发送  

看代码很简单吧,短信内容的值是提先定义好的,然后在数组里面调用赋值,好了,再详细的内容就不再讲了,网上铺天盖地的各种短信厂商,在其官网上面都提供了详尽的短信接口实例,以及 DEMO 的下载,多测试一下就会贯通的。

三个短信文件:

(1)、/index/Dangan/Lib/Action/PublicAction.class 方法:sendsms

(2)、/common/common.php 方法:sendsms

(3)、类库文件:/lib/thinkphp/extend/vendor/sms/ccprestSDK.php 模板方法:sendTemplateSMS

标签:

给我留言