阿里大魚的短息一條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則發送成功,否則則失敗。