2017-10-04 1 views
2

J'essaie d'apprendre le service sns aws pour envoyer des sms à partir de mon application web. Je travaille sur localhost.AWS SNS Numéro de téléphone du paramètre invalide

$params = array(
    'credentials' => array(
     'key' => 'iam_key', 
     'secret' => 'iam_secret', 
    ), 
    'region' => 'ap-south-1', // < your aws from SNS Topic region 
    'version' => 'latest', 
    'http' => ['verify'=>false] 
); 
$sns = \Aws\Sns\SnsClient::factory($params); 

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

$payload = array(
     'Message' => "HK test", 
     "PhoneNumber" => "1234567890", 
     'MessageAttributes' => $msgattributes 
    ); 

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

Je veux envoyer des sms directement sur le numéro. ce code donne cette erreur

Erreur fatale: Exception non interceptée 'Aws \ Sns \ Exception \ SnsException' avec le message 'Erreur d'exécution "Publier" sur "https://sns.ap-south-1.amazonaws.com"; Erreur HTTP AWS: Erreur client: POST https://sns.ap-south-1.amazonaws.com a entraîné une réponse 400 Bad Request: Sender InvalidPara (truncated...) InvalidParameter (client): Invalid parameter: PhoneNumber Reason: +1234567890 is not valid to publish to - Sender InvalidParameter Paramètre non valide: PhoneNumber Raison: +1234567890 n'est pas valide pour publier à 13e181c2-a20f-5e77-9c8e-d38c55c50266 'exception' GuzzleHttp \ Exception \ ClientException 'avec message « erreur du client: POST https://sns.ap-south-1.amazonaws.com a donné lieu à 400 Bad Request

je ne sais pas pourquoi ....

+0

Je suppose que le numéro de téléphone doit d'abord vous inscrire aux notifications SNS. – ceejayoz

+0

ne pouvons-nous envoyer des sms directement sur le numéro en utilisant aws service sns ?? –

Répondre

0

Je crois un numéro de téléphone pour AWS doit inclure le code du pays.

Par exemple, si mon numéro de téléphone est (999) 365-6721 il serait +19993656721 (US)

+0

j'ai essayé cela aussi, mais cela ne fonctionne pas –