最新介绍在这个博文 阿里云视频点播接口 有介绍
今天项目需要用到阿里云的短信接口,看了文档,感觉文档说的不详细,demo也是有点乱,找了资料,发现说是今年新改版的,费了点劲,弄好了,阿里的这个短信接口调用比其他的短信接口麻烦点,但更安全点;
前面的申请签名和模板,添加一个秘钥就不说了;
首先,把下载的demo里面的api_sdk文件放入到Vendor文件夹改名为Aliyun,下面的Aliyun都是这个文件夹(tp框架,其他框架放在自己的引入外部类文件夹就行),里面,
然后可以写一个class类,把下面的函数放进去,也可以直接放入到common里面,记得要use;
useAliyun\Core\Config;
use
Aliyun\Core\Profile\DefaultProfile;
use
Aliyun\Core\DefaultAcsClient;
use
Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
/**
* 发送短信接口
* 文档地址
https://help.aliyun.com/document_detail/55491.html?spm=5176.doc55491.6.560.0KUKny
*
@param
$params 模板替换参数
*
@return
mixed code = OK 表示完成
*/
function
sendAliyunSms($signName,$smscode,$mobile,$params)
{
require_once
VENDOR_PATH .
'/aliyunsms/vendor/autoload.php'
;//VENDOR_PATH这个是tp框架的引用Vendor文件夹的方式,其他框架自己修改,就是引入autoload.php这个php文件就行
Config::load();
$sms_config = C(
"aliyun_SMS_CONFIG"
);//引入配置参数
$templateParam = $params;
$templateCode = $smscode;
$product =
"Dysmsapi"
;
$domain =
"dysmsapi.aliyuncs.com"
;
$region =
"cn-hangzhou"
;
$profile= DefaultProfile::getProfile($region, $sms_config[
'Access_Key'
], $sms_config[
'Secret'
]);
DefaultProfile::addEndpoint(
"cn-hangzhou"
,
"cn-hangzhou"
, $product, $domain);
$acsClient=
new
DefaultAcsClient($profile);
$request =
new
SendSmsRequest();
$request->setPhoneNumbers($mobile);
$request->setSignName($signName);
$request->setTemplateCode($templateCode);
if
($templateParam) {
$request->setTemplateParam(json_encode($templateParam));
}
$acsResponse = $acsClient->getAcsResponse($request);
$result = json_decode(json_encode($acsResponse),
true
);
return
$result;
}
最后就是调用:
$response =sendAliyunSms(
"xx网络"
,
// 短信签名
"SMS_89757"
,
// 短信模板编号
array
(
'customer'
=>
'89757'
)