阿里大鱼的短息一条4分5,比起市场上7分5的短信,便宜多了,而且大平台,相信之后选择用它的人也会越来越多。
--------以上为2016-04-16写这篇博客时的题记,今天是2017-07-18,时间过去了一年多,“阿里大鱼”也改成了“阿里大于”,而且由独立平台,集成到了阿里云旗下的控制中心,所以之前写的方法有些不太适用了,今天就重新整理一下,API开发不深入的讲,我只写最基础的集成,帮助各位看官快速的把阿里大于集成到你的网站,实现短信发送。
(如果使用的是老账号,管理方式继续在阿里大于后台的,请移步到最下面,看老方法,依然有效。)
1、登录阿里云平台(www.aliyun.com),在“产品与服务”中找到“短信服务”,进入并开通,如图
2、开通后,新手一般送的有10元的短信券,供测试使用,有四个菜单,如下图
3、首先,我们先配置下要发送的短信的签名、短信的内容格式、以及申请下AK(这里我们先做下这些准备工作,一共三步,然后再集成代码,当然你也可以先跳到下面去看集成代码,回头再来准备这三个东东)
我们要发送的短信,举个栗子:【宕样】尊敬的买家,您在宕样平台购买的神器已经上路了,请您保持电话畅通,如有问题,请联系我们,电话:13822223333
a、签名,本例子的签名就是【宕样】
点击上图左侧的“短信签名”,然后添加签名,添加的时候不用加中括号
b、短信内容格式,本例子内容就是“尊敬的买家,您在宕样平台购买的神器已经上路了,请您保持电话畅通,如有问题,请联系我们,电话:13822223333”
点击上图左侧的“短信模板”,编辑如下:尊敬的买家,您在${webname}购买的${goodsname}已经上路了,请您保持电话畅通,如有问题,请联系我们,电话:${ourmobile}
(可以看见有几个自定义的地方,没错,这就是自定义的,在集成代码的时候我们会进行替换它)
c、AccessKeyId 与 AccessKeySecret是在哪里?
可以通过阿里云控制台的秘钥管理界面进行创建、管理所有的访问秘钥对。右上角选中您的昵称——accesskeys创建即可
4、以上三个东西准备好了,我们下面来集成代码
在上图的最下面可以看到“接口调用”,随便点击一个,然后进入到帮助页面,找到“SDK及DEMO下载”,我用的是PHP
文件清单:
|
知道了这四个包都是干嘛的,我们本次的目的只是发送短信,所以,只取api_demo和api_sdk
5、将上说的这俩包,进行一下整合,注意,我们只要aliyun-php-sdk-core这一个包,而且名字不能改,然后把smsDemo.php,以及Request整个目录,拿到aliyun-php-sdk-core这个包的根目录里
如下图大概说明:
最终目录结构如图:
把这个文件夹(aliyun-php-sdk-core)放到网站的任意位置,方便你的引用即可
6、改配置
需要配置的文件只有一个,那就是smsDemo.php,这里我对原函数sendSms()稍微做了下更改,使可以接受参数,针对上面的例子来说,此时函数是这样的:
function sendSms($mobile, $webname,$goodsname,$ourmobile){
//$mobile:接收短信的手机号
...
}
函数里面需要配置的如图所示:
注意:上面的函数,最后一步是打印,可以注释掉,还有smsDemo.php最下面有个测试的函数调用,记得干掉:
7、引用
在需要用到发送短信的页面引用,比如我的文件包放在根目录下的data文件夹下,则引用为:
require_once(dirname(__FILE__).'/data/aliyun-php-sdk-core/smsDemo.php');
调用时,只需要:
sendSms($mobile, $webname,$goodsname,$ourmobile);//这些参数这里可是要先赋值的
注意事项:
1、因为SDK使用了空间命名,所以PHP版本需要大于等于5.3,否则不支持就会报错
2、暂未想到
------------------------------------------------------时间分割线,下面是之前的参考方法,适用于账号的管理平台是阿里大于的后台--------------------------------------------------------------------
下面记述一下集成方法,有需要的可以看看。
1、申请大鱼,用淘宝账号登陆,最好是认证过的淘宝号,网址http://www.alidayu.com/
2、在大鱼管理中心的右上角头像旁边点击进入“开发者控制台”
3、创建应用(阿里有更详细的说明:https://doc.alidayu.com/doc2/detail.htm?spm=0.0.0.0.4Ozcne&treeId=135&articleId=104431&docType=1)
4、应用开发:https://doc.alidayu.com/doc2/detail.htm?spm=a3142.7629140.4.6.eIl0a8&treeId=135&articleId=104433&docType=1
(以上步骤阿里大鱼帮助文档说明更详细)
5、整合(这是重点),我用的PHP
------------------------------------------------------
1、将下载的包解压后,重新命名,随意命名,放到网站的目录里,目录自己看着放,不用挑出来什么什么文件,整体就行,懒得搞,比如我的文件夹名称为alidayu
2、某文件里写调用方法:
function sendSMS ($mobile, $content) { include "alidayu/TopSdk.php"; date_default_timezone_set('Asia/Shanghai'); $c = new TopClient; $c->appkey = "填写具体值"; $c->secretKey = "填写具体值,在控制台查看"; $req = new AlibabaAliqinFcSmsNumSendRequest; $req->setSmsType("normal"); $req->setSmsFreeSignName("注册验证"); $req->setSmsParam("{\"code\":\"".$content."\",\"product\":\"网站名字\"}"); $req->setRecNum($mobile); $req->setSmsTemplateCode("SMS_7785825"); $resp = $c->execute($req); //var_dump($resp); if($resp->result->success) { return true; } else { return false; } }
说明:
$content是要发送的验证码
网站名字根据需要来
这里只是一个发送注册验证码的案例,其中的参数是对应注册的,其他的请参考API文档
下载的文件没有需要配置的,只需要调用入口文件就行,注意文件的位子
3、返回是true则发送成功,否则则失败。