• 4001-021-502
您的位置:短信宝 > 技术分享 > 云EC电商系统新增短信宝短信接口
云EC电商系统新增短信宝短信接口
发表日期:2018-09-16    文章编辑:短信宝小编    浏览次数:

最近小编知道云EC商城更新了,之前的短信接口插件也不能用。今天小编为大家讲解一下云EC商城1.2.1版本的短信接口开发,我们使用的短信接口是我们短信宝短信群发平台的接口,我们短信宝短信平台非常稳定,发送速度快,注册就送测试短信,推荐大家使用。

首先我们新建\inc\plugin\sms\smsbao\文件夹,创建文件名为:smsbao.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
 if (!defined('in_mx')) {exit('Access Denied');}
    date_default_timezone_set('Asia/Shanghai'); 
 
 $sms_mod array();
 $sms_mod['code']    = "smsbao"//代码
 $sms_mod['name']    = '短信宝';//名称
 $sms_mod['config']  =  json_encode(array('appkey'=>'','secretKey'=>'','reg'=>'','login'=>'','updatepwd'=>'','setpaypwd'=>'','changemobile'=>''));//配置信息
 $sms_param=array(
  array('name'=>'smsconfig_appkey','value'=>'appkey','type'=>'text','desc'=>"短信宝用户名,还没有短信宝账户?点击马上<a href='http://www.smsbao.com' target='_blank'>免费注册</a>"),
  array('name'=>'smsconfig_secretKey','value'=>'secretKey','type'=>'text','desc'=>'短信宝密码'),
  array('name'=>'smsconfig_reg','value'=>'注册模板','type'=>'text','desc'=>''),
  array('name'=>'smsconfig_login','value'=>'登录模板','type'=>'text','desc'=>''),
  array('name'=>'smsconfig_updatepwd','value'=>'修改密码模板','type'=>'text','desc'=>''),
  array('name'=>'smsconfig_setpaypwd','value'=>'设置支付密码模板','type'=>'text','desc'=>''),
  array('name'=>'smsconfig_changemobile','value'=>'更改手机号码模板','type'=>'text','desc'=>''),
  array('name'=>'smsconfig_order','value'=>'订单提醒模板','type'=>'text','desc'=>'有新订单时,短信提醒'),
   ); 
 
 
 
/**
*/
class smsbao
{
 
 function sendsms($recNum$appkey,$secretKey,$signName='',$param='',$tplcode='',$extend='',$sms_type='code')
 {
  $pa['u'] = $appkey;
        $pa['p'] = md5($secretKey);
        $pa['m'] = $recNum;
  $tpl=$tplcode;
  $param=json_decode($param);
  foreach($param as $key=>$val){
   if(strpos($tpl,$key)){
    $tpl=str_replace('${'.$key.'}',$val,$tpl);
   }
  }
        $pa['c'] = "【".$signName."】".$tpl;
        $ret $this->http("http://api.smsbao.com/sms"$pa);
  $data=array('err'=>'');
  if($ret!='0'){
   return $data['err']=getResult($ret);
  }
        
 }
    
 
 
 
  /**
     * 发送http请求
     * @access protected
     * @param string $url  请求地址
     * @param string $param  get方式请求内容,数组形式,post方式时无效
     * * @param string $data  post请求方式时的内容,get方式时无效
     * @param string $method  请求方式,默认get
     */
   function http($url$param$data ''$method 'GET'){
        $opts array(
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
        );
    
        /* 根据请求类型设置特定参数 */
        $opts[CURLOPT_URL] = $url '?' . http_build_query($param);
    
        if(strtoupper($method) == 'POST'){
            $opts[CURLOPT_POST] = 1;
            $opts[CURLOPT_POSTFIELDS] = $data;
    
            if(is_string($data)){ //发送JSON数据
                $opts[CURLOPT_HTTPHEADER] = array(
                    'Content-Type: application/json; charset=utf-8',
                    'Content-Length: ' strlen($data),
                );
            }
        }
    
        /* 初始化并执行curl请求 */
        $ch = curl_init();
        curl_setopt_array($ch$opts);
        $data  = curl_exec($ch);
        $error = curl_error($ch);
        curl_close($ch);
    
        //发生错误,抛出异常
        if($errorthrow new \Exception('请求发生错误:' $error);
    
        return  $data;
    }
    function getResult($key){
        $rst['30'] = '密码错误';
        $rst['40'] = '账号不存在';
        $rst['41'] = '余额不足';
        $rst['42'] = '帐号过期';
        $rst['43'] = 'IP地址限制';
        $rst['50'] = '内容含有敏感词';
        $rst['51'] = '手机号码不正确';
        return $rst[$key];
    }
    
}
 
 
 
?>

接着我们打开项目\inc\lib\sms.php文件,替换此文件中__construct函数代码:

?
1
2
3
4
5
6
7
8
 public function __construct($sms_sp='') {
  global $ym_sms_sp;
  $sms_sp $sms_sp=='''smsbao' $sms_sp;
  $this->sms_sp = $sms_sp;
  $ym_val=get_cache('sms', cache_static,$sms_sp);
  $this->sms_config = $ym_val;
  require plugin.'sms/'.$sms_sp.'/'.$sms_sp.'.php';
 }

最后我们在项目\inc\module\下新建smsbao_install.php文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if (!defined('in_mx')) {exit('Access Denied');}
 
$db = dbc(); 
global $db;
$res=$db->insert('sms_config',array('code'=>'smsbao''name'=>'短信宝','signname'=>'云EC','config'=>'{"appkey":"","secretKey":"","reg":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","login":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","updatepwd":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","setpaypwd":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","changemobile":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","order":"\u606d\u559c\u4f60\u4e0b\u5355\u6210\u529f\uff0c\u8ba2\u5355\u53f7\u4e3a\uff1a${order_sn},\u795d\u4f60\u8d2d\u7269\u6109\u5feb\uff01"}','status'=>0));
if($res){
 echo '短信宝插件安装成功,请删除inc/module/smsbao_install.php文件';
}else{
 echo '安装失败,请咨询短信宝客服';
}
exit();
?>

经过上面的替换,短信宝的短信平台已经替换成功了,可以正常使用了。进行测试发送:

报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。

另外:我们已经开发好完整的云EC商城系统短信宝插件,点击此链接 下载及查看安装流程。

短信宝-做更好用的短信验证码短信营销短信群发服务平台。超过9,000个网站始终信任短信宝。通过稳定快捷的短信,短信宝帮助他们缩短了90%的人工服务处理时间,同时降低了81%由于通讯故障导致的废单率,一切变得轻松可控!

Copyright © 2010-2014 smsbao.com All Rights Reserved
上海子橙电子科技有限公司 沪ICP备14008182号-2 上海市松江区广富林路658弄215号

展开