Envio de SMS com falha de configuração de URL inválida
Nesse caso de uso o envio do SMS é feito e espera-se para cada requisição HTTP um retorno 200 OK como sucesso do envio, porém uma falha de configuração de URL inválida acontece.
Público alvo deste caso de uso
Analista de IAM, ou qualquer outro profissional que será responsável pela administração do Blazon.
Objetivo
Esse cenário tem como objetivo descrever como realizar as configurações adequadas do provedor de SMS de forma a capturar o comportamento de falha de URL inválida.
Descrição
No ambiente de execução deste cenário, ocorrem alguns erros de envios de SMS para alguns provedores devido à falhas de configuração de URL inválida.
No entanto esses SMS que são dados como falhas genéricas de envio, estão sem o tratamento correto do problema por não existir a configuração de retornos para os casos de URL inválida.
Requisição
Essa seção apresenta na tabela abaixo as definições relacionadas à requisição HTTP para o envio do SMS usando uma API externa.
Método HTTP
POST
URL
https://sms.services/api/send-sms.php
Segurança
Autenticação HTTP básica
Cabeçalhos
Accept: application/json
Content-Type: application/json
Body
{
"telefone": "34---------",
"mensagem": "Token de autenticação Blazon: 154567"
}
Com as configurações acima a API envia um SMS para o telefone descrito no JSON do body, contendo a mensagem definida juntamente com o token de acesso.
Resposta
Essa seção apresenta as configurações das respostas HTTP esperadas tanto de sucesso como as respostas possíveis de falhas de configuração de URLs invállidas.
Como configuração inválida de URL vamos expor dois casos:
a URL tem até a parte de host correta e algum fragmento incorreto, que irá ocasionar um erro 404 Not Found;
a URL tem a parte de host incorreta o que irá ocasionar uma exceção de I/O UnknowHostException.
Resposta de envio da API de SMS
A tabela abaixo descreve as informações de retorno da API de SMS quando o envio ocorre com sucesso.
HTTP STATUS
200 OK
Body
{
"status": "SUCESSO"
}
Response-type
application/json
Resposta de falha de URL inválida com retorno 404
A tabela abaixo descreve as informações de retorno da API de envio quando ocorre uma falha de URL inválida com retorno 404. Nesse caso a URL tem até a parte de host correta e algum fragmento incorreto, ou seja, o recurso não foi encontrado.
HTTP STATUS
404 Not Found
Body
{
"status": "RECURSO NÃO ENCONTRADO"
}
Response-type
application/json
Resposta de falha de URL inválida com host incorreto
Nesse caso o serviço interno do Blazon que faz o envio das requisições HTTP para a API irá capturar uma exceção interna e vai mapear a envio como FALHA logando a mensagem de exceção.
Configurações
As configurações descritas nessa seção são referenciadas na documentação do Administrador na página Configurando um provedor de SMS.
Configurações da Requisição
Todas as configurações são realizadas no detalhamento do provedor na aba Configurações:
O método HTTP e URL são definidos no topo do card da aba de Configurações;
A configuração de Segurança é feita na aba Segurança selecionando o tipo "Autenticação HTTP Básica";
A configuração dos cabeçalhos é feita na aba Cabeçalhos, adicionando-se os dois cabeçalhos descritos;
A configuração do Body é feita na aba Body, configurando o media-type application/json e com o conteúdo:
{ "telefone": "${[to]}", "mensagem": "Token de autenticação Blazon: ${[token]}" }
Configuração dos Retornos
A configuração dos retornos, feito na aba Retornos, deve evidenciar quando o retorno é um 200 OK com sucesso no envio. Além disso deve evidenciar as falhas de envios por erros de configuração de URL inválida.
Dado o cenário e o fato de que os retornos são avaliados na ordem, sugere-se a seguinte configuração dos Retornos:
Retorno de falha de URL inválida com retorno 404
retorno quando o código HTTP é 404. Será considerado como FALHA de recurso não encontrado.
Retorno da API de SMS
retorno quando o código HTTP é 200 e não cai no retorno anterior. Será considerado como SUCESSO.
Retorno padrão
retorno diferente do que está definido nos retornos anteriores. Será considerado como FALHA.
Analisando os retornos acima, observa-se que qualquer retorno 404 que voltar pro Blazon, será definido como FALHA de recurso não encontrado.
Caso o retorno seja 200 OK vai casar com a definição do retorno de envio da API e será definido como SUCESSO.
Nota
Quando ocorrer um exceção por URL inválida com host incorreto, o envio será automaticamente finalizado como FALHA e a mensagem de erro será logada e disponibilizada para o administrador. Não é necessário nenhuma configuração adicional.
Qualquer coisa diferente disso vai cair no retorno padrão que será considerado como FALHA.
As configurações dos retornos descritos, na tabela acima, estão detalhadas abaixo:
Retorno de falha de URL inválida com retorno 404
Como esse retorno tem que validar apenas o código HTTP 404 sugere-se a configuração usando o tipo Código HTTP que é mais simples e direta.
Tipo
Código HTTP
Valor
404
Status
Falha
Situação
Falha de recurso não encontrado
Observa-se que a configuração verifica apenas o código de retorno, se ele é 404 será detectado como FALHA de recurso não encontrado.
Retorno da API de SMS
Como esse retorno tem que validar apenas o código HTTP 200 sugere-se a configuração usando o tipo Código HTTP que é mais simples e direta.
Tipo
Código HTTP
Valor
200
Status
Sucesso
Situação
Sucesso no envio
Observa-se que a configuração verifica apenas o código de retorno, se ele é 200 será detectado como SUCESSO no envio
Last updated
Was this helpful?