### **上行短信查詢**
#### **完整實例**
~~~
/**
* accessKeyId 您阿里大于的 accessKeyId
* accessKeySecret 您阿里大于的 accessKeySecret
*/
$param = array(
'accessKeyId'=>'LTAIC6lV6wHtZxmF', 'accessKeySecret'=>'qrGwrLtwBhKZr5MZstjAg5J5ibPQxf'
);
$msgObj = new WJSsoft\smsSdk\alidayuMsg($param);
echo "消息接口查閱短信狀態報告返回結果:\n";
$msgObj->receiveMsg(
// 消息類型,SmsReport: 短信狀態報告
'SmsReport',
// 在云通信頁面開通相應業務消息后,就能在頁面上獲得對應的queueName
'Alicom-Queue-xxxxxxxx-SmsReport', function($message) {
print_r($message);
return false;
});
echo "消息接口查閱短信服務上行返回結果:\n";
$msgObj->receiveMsg(
// 消息類型,SmsUp: 短信服務上行
"SmsUp",
// 在云通信頁面開通相應業務消息后,就能在頁面上獲得對應的queueName
"Alicom-Queue-xxxxxxxx-SmsUp",
/**
* 回調
* @param stdClass $message 消息數據
* @return bool 返回true,則工具類自動刪除已拉取的消息。返回false,消息不刪除可以下次獲取
*/
function ($message) {
print_r($message);
return false;
}
);
~~~
建議直接在回調函數里面進行業務代碼,若不這樣選擇直接把回調函數的內容返回出來。eg:
~~~
$res = $msgObj->receiveMsg(
// 消息類型,SmsReport: 短信狀態報告
'SmsReport',
// 在云通信頁面開通相應業務消息后,就能在頁面上獲得對應的queueName
'Alicom-Queue-xxxxxxxx-SmsReport', function($message) {
return $message;
});
var_dump($res);
~~~
* * * * *
### **短信回執消息SmsReport消息體格式:**
| 名稱 | 類型 | 描述 | 示例 | 是否必須 |
| --- | --- | --- | --- | --- |
| phone_number | String | 短信接收號碼 | 13000000000 | 可選 |
| success | Boolean | 發送是否成功 | true | 必須 |
| biz_id | String | 發送回執ID | 1234^345 | 必須 |
| out_id | String | 調用發送短信接口時傳的outId | 123456 | 可選 |
| send_time | String | 轉發給運營商的時間 | 2017-06-01 10:00:00 | 必須 |
| report_time | String | 收到運營商回執的時間 | 2017-06-01 10:00:05 | 可選 |
| err_code | String | 錯誤碼 | UNKNOW | 可選 |
| err_msg | String | 錯誤信息 | 未知異常 | 可選 |
| sms_size | String | 140字節算一條短信,短信長度超過140字節時會拆分成多條短信發送 | 1,2,3 | 可選 |
* * * * *
### **上行短信消息SmsUp:**
| 名稱 | 類型 | 描述 | 示例 | 是否必須 |
| --- | --- | --- | --- | --- |
| phone_number | String | 短信接收號碼 | 13000000000 | 可選 |
| content | String | 短信內容 | true | 必須 |
| sign_name | String | 短信簽名 | 【阿里云】 | 必須 |
| send_time | String | 時間 | 20150101120000 | 必須 |
| dest_code | String | 擴展碼 | 123456必須 |
| sequence_id | String | 消息序列ID | 123456 | 必須 |