Pular para o conteúdo principal

Configuração de envio de SMS - Amplia

Se os usuários forem emitir certificados (pelo procedimento de emissão web ou mobile), é exigida uma confirmação por SMS para verificar a identidade do usuário durante a emissão do certificado.

A seção SMS do arquivo de configuração configura o envio de SMS. As mensagens SMS podem ser enviadas usando diferentes provedores. A configuração Type define qual provedor deve ser usado, e as demais configurações dependem do provedor escolhido:

  • Amazon SNS
    • Type: AmazonSNS
    • Region: o código da região da AWS, por exemplo sa-east-1 ou us-east-1 (veja os códigos de região da AWS)
    • AccessKeyId: o ID da chave de acesso
    • SecretAccessKey: a chave de acesso secreta
  • Comtele
    • Type: Comtele
    • AuthToken (obrigatório): token de autenticação da API
    • Sender (opcional): campo Sender (veja a documentação do serviço para mais detalhes)
    • Endpoint (padrão: https://sms.comtele.com.br/api/): preencha para usar um endpoint de API personalizado (observe que o sufixo v2/send é adicionado automaticamente depois do endpoint).
  • Eyou
    • Type: Eyou
    • ApiKey (obrigatório): chave de API obtida no dashboard do serviço
    • Username (obrigatório): campo username obtido no dashboard do serviço
    • Password (obrigatório): campo password obtido no dashboard do serviço
    • UserAgent (opcional): valor do header user agent a ser enviado à API. Por padrão, é enviada uma string com o nome e a versão da aplicação.
    • CostCenter (opcional): campo CostCenter a ser enviado à API
    • Endpoint (padrão: https://sendsms.eyou.com.br/api/sendSms): preencha para usar um endpoint de API personalizado.
  • Genérico
    • Type: Generic
    • Endpoint: o endpoint para o qual as informações do SMS serão enviadas.
    • AuthType (padrão: NoAuth): define o tipo de autorização enviada na requisição. As opções disponíveis são NoAuth, Basic, Bearer e ApiKey.
    • Username: o nome de usuário, se o AuthType for Basic.
    • Password: a senha, se o AuthType for Basic.
    • BearerToken: o token de portador (bearer token), se o AuthType for Bearer.
    • ApiKey: a chave de API, se o AuthType for ApiKey.
  • Pontaltech
    • Type: para envio de OTP/token, use FastPontaltech; para outras finalidades (ex.: marketing ou notificações gerais), use Pontaltech
    • User (obrigatório): campo user obtido no dashboard do serviço
    • Password (obrigatório): campo password obtido no dashboard do serviço
    • Endpoint (padrão: sms-api-pointer.pontaltech.com.br): nome do host usado nas chamadas à API (a rota em si não é configurável).
  • SMS Empresa
    • Type: SmsEmpresa
    • ChaveKey: a Chave Key fornecida em Configuração > Minha Conta
  • SMS Token
    • Type: SmsToken
    • Key (obrigatório): chave de API obtida no dashboard do serviço
    • Endpoint (padrão: https://api.smstoken.com.br/): preencha para usar um endpoint de API personalizado (a rota em si não é configurável).
  • Total Voice
    • Type: TotalVoice
    • AccessToken: o token de acesso, fornecido pela TotalVoice (ex.: 0123456789abcdef0123456789abcdef)
  • Twilio
    • Type: Twilio
    • MessageFrom: o número de telefone do remetente fornecido pela Twilio (ex.: +12125550000)
    • AccountSid: o SID da conta, fornecido pela Twilio
    • AuthToken: o token de autenticação, fornecido pela Twilio
  • Zenvia
    • Type: Zenvia
    • Account: o nome da sua conta (ex.: patorum.sms)
    • Password: a senha da API
    • Endpoint (opcional): URL base alternativa da API (deixe em branco se não souber)
  • Dump de e-mail (apenas para fins de depuração): este provedor simula o envio de mensagens SMS enviando-as como mensagens de e-mail. O número de destino é usado como caixa de correio (sem o + inicial) e o domínio padrão é mailinator.com. Por exemplo, uma mensagem SMS para o número +1 212 555-0001 seria enviada, em vez disso, como uma mensagem de e-mail para 12125550001@mailinator.com.
    • Type: EmailDump
    • Domain: o domínio a ser usado. O domínio padrão é mailinator.com, mas outros domínios de e-mail descartável podem ser usados (ex.: grr.la)
    • EmailSender: o remetente de e-mail a ser usado. Por padrão, é usado o remetente de e-mail padrão. Normalmente, esta configuração não é alterada.
    • UseDefaultNamedEmailSender: defina como true para usar o remetente de e-mail sem nome (o configurado diretamente na seção Email). Normalmente, esta configuração não é alterada.
  • Simulador (apenas para fins de depuração): este provedor simula o envio de mensagens SMS registrando no log do sistema as mensagens que seriam enviadas
    • Type: Simulator

Exemplo (arquivo de configuração .ini ou .conf):

[SMS]
Type=AmazonSNS
Region=us-east-1
AccessKeyId=...
SecretAccessKey=...

Exemplo (variáveis de ambiente):

SMS__Type=AmazonSNS
SMS__Region=us-east-1
SMS__AccessKeyId=...
SMS__SecretAccessKey=...

Exemplo (arquivo de configuração .json):

...,
"SMS": {
"Type": "AmazonSNS",
"Region": "us-east-1",
"AccessKeyId": "...",
"SecretAccessKey": "..."
},
...

Usando vários serviços de envio de SMS​

Para configurar vários serviços de envio de SMS, crie subseções nomeadas dentro da seção SMS e defina uma Priority para cada serviço. Quanto menor o valor, maior a prioridade.

Exemplo (arquivo de configuração .ini ou .conf):

[SMS:AmazonUS]
Type=AmazonSNS
Region=us-east-1
AccessKeyId=...
SecretAccessKey=...
Priority=1

[SMS:AmazonSA]
Type=AmazonSNS
Region=sa-east-1
AccessKeyId=...
SecretAccessKey=...
Priority=2

[SMS:Fallback]
Type=Twilio
MessageFrom=...
AccountSid=...
AuthToken=...
Priority=3

Exemplo (variáveis de ambiente):

SMS__AmazonUS__Type=AmazonSNS
SMS__AmazonUS__Region=us-east-1
SMS__AmazonUS__AccessKeyId=...
SMS__AmazonUS__SecretAccessKey=...
SMS__AmazonUS__Priority=1

SMS__AmazonSA__Type=AmazonSNS
SMS__AmazonSA__Region=sa-east-1
SMS__AmazonSA__AccessKeyId=...
SMS__AmazonSA__SecretAccessKey=...
SMS__AmazonSA__Priority=2

SMS__Fallback__Type=Twilio
SMS__Fallback__MessageFrom=...
SMS__Fallback__AccountSid=...
SMS__Fallback__AuthToken=...
SMS__Fallback__Priority=3

No exemplo acima, primeiro é usado o serviço principal AmazonUS (Priority=1); se ele falhar, é usado o serviço secundário AmazonSA (Priority=2) e, depois, o serviço Fallback (Priority=3).

observação

Para que um serviço secundário seja usado, o provedor precisa retornar um erro. Alguns provedores retornam sucesso mesmo quando a entrega da mensagem é rejeitada internamente. Nesse caso, a aplicação não tem como saber que a entrega falhou e, portanto, o provedor secundário não é usado.

Veja também​

Ver em Markdown