2016-11-28 2 views
-1

Я пытаюсь отправить sms на определенное число с помощью aws sns, используя следующий код, но для этого требуется целевой/тема arn, которая не применима для меня, поскольку я хочу отправить смс числа, которые я задал в параметрах.Отправьте sms на индийские цифры, используя aws sns

$client = SnsClient::factory([ 
     'credentials' => [ 
      'key' => "my key", 
      'secret' => "my secret" 
     ], 
     'region' => "us-east-1", 
     'version' => "latest" 
    ]); 

    $sent = $client->publish(
     [ 

      'Message' => 'This is the message', 
      'PhoneNumber' => '+91887******7' 
     ] 
    ); 

Я не могу найти точные параметры для объекта публикации.

ответ

3

Мне пришлось обновить aws php sdk (1). Тогда следующий код работает нормально -

$sns = SnsClient::factory(array(
     'credentials' => array(
      'key' => 's3_key', 
      'secret' => 's3_secret' 
     ), 
     'region' => Constants::$s3Region, 
     'version' => 'latest' 
    )); 

$msgattributes = [ 
     'AWS.SNS.SMS.SenderID' => [ 
      'DataType' => 'String', 
      'StringValue' => 'Klassroom', 
     ], 
     'AWS.SNS.SMS.SMSType' => [ 
      'DataType' => 'String', 
      'StringValue' => 'Transactional', 
     ] 
    ]; 

    $payload = array(
     'Message' => $message, 
     'PhoneNumber' => $number, 
     'MessageAttributes' => $msgattributes 
    ); 

    $result=$sns->publish($payload); 
2

От Amazon SNS Publish() documentation for PHP:

  • TargetArn: Если не указать значение для параметра TargetArn, необходимо указать значение для PhoneNumber или TopicArn параметров.
  • TopicArn: Если не указать значение для параметра TopicArn, необходимо указать значение для PhoneNumber или TargetArn параметров.
  • PhoneNumber: Если не указать значение для параметра PhoneNumber, необходимо указать значение для TargetArn или TopicArn параметров.

Поэтому предоставьте PhoneNumber вместо цели/темы.

Смежные вопросы