### **單條發送**
#### **完整實例**
~~~
use \WJSsoft_sms\ali\sms;
/**
* accessKeyId 您阿里大于的 accessKeyId
* accessKeySecret 您阿里大于的 accessKeySecret
*/
$param = array(
'accessKeyId'=>'LTAI5ww0W6nI7qXO', 'accessKeySecret'=>'vVR2QMWbcnA7lZdCVj3eZJjZkPwrPX'
);
$smsObj = new sms($param);
/**
* phoneNumbers string 必填,設置短信接收號碼
* signName string 必填,設置簽名名稱,應嚴格按"簽名名稱"填寫,請參考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
* templateCode string // 必填,設置模板CODE,應嚴格按"模板CODE"填寫, 請參考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
* data array 可選,設置模板參數, 假如模板中存在變量需要替換則為必填項
* 如果模板為“您驗驗證碼為{$code}”,則傳入 array('code'=>'1234')
* outId string // 可選,設置流水號
* upExtendCode string // 選填,上行短信擴展碼(擴展碼字段控制在7位或以下,無特殊需求用戶請忽略此字段),該字段作用例如:通過查詢接口查看用戶回復的短信內容
*/
$info = array(
'phoneNumbers'=>'15283848215',
'signName'=>'環宇科技網站管理系統',
'templateCode'=>'SMS_119086466',
'data'=>array('code'=>mt_rand(1000, 9999)),
'outId'=>mt_rand(0, 99999),
'upExtendCode'=>mt_rand(0, 99999)
);
$res = $smsObj->send($info);
//$res是對象,判斷發送成功就if($res->Code == 'OK') {//成功發送的邏輯}
var_dump($res);
~~~
* * * * *
### **入參參數:**
| 參數名稱 | 參數類型 | 必填與否 | 樣例取值 | 參數說明 |
| --- | --- | --- | --- | --- |
| phoneNumbers | String | 必須 | 15000000000 | 短信接收號碼。 |
| signName | String | 必須 | 云通信 | 短信簽名 |
| templateCode | String | 必須 | SMS_0000 | 短信模板ID |
| data | array | 可選 | array('name'=>'xyz','code'=>'1234') | 阿里云官方是傳入json字符串,這里內部我做了封裝,傳入數組通過json_encode()函數已編碼為json字符串 |
| outId | String | 可選 | abcdefgh | 外部流水擴展字段 |
| upExtendCode | String | 可選 | qwertyuiop | 短信上行擴展碼(可通過這個調用接口獲取用戶回復短信的內容) |
* * * * *
### **返回參數:**
| 出參參數 | 出參類型 | 樣例取值 | 參數說明 |
| --- | --- | --- | --- |
| RequestId | String | 8906582E-6722 | 請求ID |
| Code | String | OK | 狀態碼-返回OK代表請求成功,其他錯誤碼詳見錯誤碼列表 |
| Message | String | 請求成功 | 狀態碼的描述 |
| BizId | String | 134523^4351232 | 發送回執ID,可根據該ID查詢具體的發送狀態 |
* * * * *
注:1、如傳遞中文出現亂碼,請檢查編碼格式,建議使用utf-8
2、查詢所有錯誤碼及解決辦法請點擊[短信接口錯誤碼](https://help.aliyun.com/knowledge_detail/57717.html)