### **上行短信查询**
#### **完整实例**
~~~
/**
* 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 | 必须 |