[英]How to check whether SMS has been successfully sent from Amazon AWS SNS service using Laravel 5.6 and PHP?
I am using the Amazon Web Server SNS to send sms to mobile numbers.我正在使用 Amazon Web Server SNS 向手机号码发送短信。 Here is my code:-
这是我的代码:-
$params = array(
'credentials' => array(
'key' => self::$smsKey,
'secret' => self::$smsSecret
),
'region' => 'ap-northeast-1', // < your aws from SNS Topic region
'version' => 'latest'
);
$sns = new \Aws\Sns\SnsClient($params);
$args = array(
"SenderID" => self::$senderID,
"SMSType" => self::$smsType,
"Message" => $message,
"PhoneNumber" => $phonenumber
);
$result = $sns->publish($args);
echo "<pre>";
var_dump($result);
echo "</pre>";
When I var_dump the $result, I get the following data:-当我 var_dump $result 时,我得到以下数据:-
object(Aws\Result)#352 (1) {
["data":"Aws\Result":private]=>
array(2) {
["MessageId"]=>
string(36) "xxxxxxxxxx-xxxxxa-xxxx-xxxx7-xxxxxxxxxx"
["@metadata"]=>
array(4) {
["statusCode"]=>
int(200)
["effectiveUri"]=>
string(40) "https://xxxxxxxxxxxxxxxxxxxx.amazonaws.com"
["headers"]=>
array(4) {
["x-amzn-requestid"]=>
string(36) "yyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyy"
["content-type"]=>
string(8) "text/xml"
["content-length"]=>
string(3) "294"
["date"]=>
string(29) "Tue, 05 Jun 2018 10:46:11 GMT"
}
["transferStats"]=>
array(1) {
["http"]=>
array(1) {
[0]=>
array(0) {
}
}
}
}
}
}
How can I check if the sms has been successfully sent?如何检查短信是否已成功发送? There is a status code.
有状态码。 But I can't traverse the object properly to retrieve its value.
但我无法正确遍历对象以检索其值。
You can get the data like following.您可以获得如下数据。
$meta = $response_object->get('@metadata');
if($meta['statusCode'] === 200){
echo "Message Sent";
}
if ($result['@metadata']['statusCode'] === 200) {
echo "Message sent";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.