Envio de SMS com a AWS


(Ismael Costa) #1

Pessoal, bom dia!

Estou tentando resolver um problema desde sexta e até agora não consegui nada relevante.
Se alguém aqui conhecer o SNS da Amazon e poder me dar uma mao, agradeço.

Estou fazendo o envio de SMS de um sistema e quero utilizar o SNS da Amazon, já providenciei o usuário com esse acesso através do IAM e estou utilizando este código:

<?php
require './vendor/autoload.php';
error_reporting(E_ALL);
ini_set("display_errors", 1);

$params = array(
    'credentials' => array(
        'key' => 'KEY',
        'secret' => 'SECRET',
),
'region' => 'us-east-1',
'version' => 'latest'
);

$sns = new \Aws\Sns\SnsClient($params);

$args = array(
    "SenderID" => "sender",
    "SMSType" => "Transational",
   "Message" => "SMS Teste",
   "PhoneNumber" => "NUMERO"

);

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

var_dump($result);

Estou recebendo como resposta esse erro:

Fatal error: Uncaught exception 'Aws\Sns\Exception\SnsException' with message 'Error executing "Publish" on "https://sns.us-east-1.amazonaws.com"; AWS HTTP error: Client error: POST https://sns.us-east-1.amazonaws.com resulted in a 403 Forbidden response: Sender SignatureDo (truncated...) SignatureDoesNotMatch (client): The request signature we calculated does not match the signature you provided.

Pelo erro parece se algo relacionado a assinatura que estou enviando, só para desencargo já gerei várias vezes uma nova key e um secret mas também não resolveu.
Encontrei em alguns lugares também que poderia ser algo relacionado ao meu timezone, alterei o timezone para se equivalente ao da região us-east-1 mas também não resolveu.

Por fim, não estou encontrando uma saída para esse problema. Se alguém já utilizou esse serviço e souber o que estou fazendo de errado, agradeço.

Obrigado!