Ucpaas.class.php
4.8 KB
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?php
/**
* Created by Notepad++
* User: UCPAAS NickLuo
* Date: 2017/11/09
* Time: 08:28
* Dec : ucpass php sdk
*/
class Ucpaas
{
//API请求地址
const BaseUrl = "https://open.ucpaas.com/ol/sms/";
//开发者账号ID。由32个英文字母和阿拉伯数字组成的开发者账号唯一标识符。
private $accountSid;
//开发者账号TOKEN
private $token;
public function __construct($options)
{
if (is_array($options) && !empty($options)) {
$this->accountSid = isset($options['accountsid']) ? $options['accountsid'] : '';
$this->token = isset($options['token']) ? $options['token'] : '';
} else {
throw new Exception("非法参数");
}
}
private function getResult($url, $body = null, $method)
{
$data = $this->connection($url,$body,$method);
if (isset($data) && !empty($data)) {
$result = $data;
} else {
$result = '没有返回数据';
}
return $result;
}
/**
* @param $url 请求链接
* @param $body post数据
* @param $method post或get
* @return mixed|string
*/
private function connection($url, $body,$method)
{
if (function_exists("curl_init")) {
$header = array(
'Accept:application/json',
'Content-Type:application/json;charset=utf-8',
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
if($method == 'post'){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$body);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close($ch);
} else {
$opts = array();
$opts['http'] = array();
$headers = array(
"method" => strtoupper($method),
);
$headers[]= 'Accept:application/json';
$headers['header'] = array();
$headers['header'][]= 'Content-Type:application/json;charset=utf-8';
if(!empty($body)) {
$headers['header'][]= 'Content-Length:'.strlen($body);
$headers['content']= $body;
}
$opts['http'] = $headers;
$result = file_get_contents($url, false, stream_context_create($opts));
}
return $result;
}
/**
单条发送短信的function,适用于注册/找回密码/认证/操作提醒等单个用户单条短信的发送场景
* @param $appid 应用ID
* @param $mobile 接收短信的手机号码
* @param $templateid 短信模板,可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID
* @param null $param 变量参数,多个参数使用英文逗号隔开(如:param=“a,b,c”)
* @param $uid 用于贵司标识短信的参数,按需选填。
* @return mixed|string
* @throws Exception
*/
public function SendSms($appid,$templateid,$param=null,$mobile,$uid){
$url = self::BaseUrl . 'sendsms';
$body_json = array(
'sid'=>$this->accountSid,
'token'=>$this->token,
'appid'=>$appid,
'templateid'=>$templateid,
'param'=>$param,
'mobile'=>$mobile,
'uid'=>$uid,
);
$body = json_encode($body_json);
$data = $this->getResult($url, $body,'post');
return $data;
}
/**
群发送短信的function,适用于运营/告警/批量通知等多用户的发送场景
* @param $appid 应用ID
* @param $mobileList 接收短信的手机号码,多个号码将用英文逗号隔开,如“18088888888,15055555555,13100000000”
* @param $templateid 短信模板,可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID
* @param null $param 变量参数,多个参数使用英文逗号隔开(如:param=“a,b,c”)
* @param $uid 用于贵司标识短信的参数,按需选填。
* @return mixed|string
* @throws Exception
*/
public function SendSms_Batch($appid,$templateid,$param=null,$mobileList,$uid){
$url = self::BaseUrl . 'sendsms_batch';
$body_json = array(
'sid'=>$this->accountSid,
'token'=>$this->token,
'appid'=>$appid,
'templateid'=>$templateid,
'param'=>$param,
'mobile'=>$mobileList,
'uid'=>$uid,
);
$body = json_encode($body_json);
$data = $this->getResult($url, $body,'post');
return $data;
}
}