$accessKey = 'XZA...';
$accessSecret = 'YKW...';
$credentials = new Aws\Credentials\Credentials($accessKey, $accessSecret);
$sharedConfig = [
'region' => 'us-east-1',
'version' => 'latest',
'credentials' => $credentials
];
$sdk = new Aws\Sdk($sharedConfig);
$sns = new SnsClient($sharedConfig);
$payload = [
'PhoneNumber' => '+999999999', // E.164 format
'Message' => md5(time()),
'MessageAttributes' => [
'DefaultSenderID' => ['DataType'=>'String','StringValue'=>'MyBrandName'],
'DefaultSMSType' => ['DataType'=>'String','StringValue'=>'Transactional']
]
];
try {
$data = $sns->publish($payload);
$MessageId = $data->get('MessageId');
} catch (Exception $e) { }
Я использую AWS SDK для PHP - Версия 3.
Код выше работает хорошо, когда я буду отправки одного SMS-сообщение, за исключением атрибута DefaultSenderID Wich не работает, когда я отправляю SMS на мобильное устройство.Amazon SNS - AWS-СДК-PHP
Документация Amazon гласит, что DefaultSenderID - Строка, такая как ваш бизнес-бренд, который отображается как отправитель на принимающем устройстве. Поддержка идентификаторов отправителей зависит от страны. Идентификатор отправителя может быть 1 - 11 буквенно-цифровых символов, и он должен содержать хотя бы одну букву.
Кто-нибудь испытал эту проблему, используя Amazon SNS?
Вы можете добавить свой полный файл PHP, есть ли другие функции/методы в сценарии или же в настоящее время требует сценарий любого из AWS SDK файлов? Это поможет, если можно добавить полный файл php, иначе, если он разрешен, вы можете сообщить другим, что он был разрешен и как вы решили проблему. – Birdy
Единственное, чего не хватает в коде выше, это require_once 'autoload..php'. Полный скрипт - это код выше. И проблема остается ... –