Santos.paula (discussão | contribs)
Santos.paula (discussão | contribs)
Linha 30: Linha 30:
<br>
<br>


• [RNF001] Garantir qualidade de comunicação: Latência média API-Database < 200ms em 95% das requisições.
• [RNF001] Segurança e Autenticação: A API é protegida através de validação de headers de autenticação. Toda requisição deve conter os headers client_id e access_token.
<br>
<br>


• [RNF002] Rapidez na resposta: Autenticação em menos de 1 segundo.
• [RNF002] Padronização de formatos: Os números de telefone são aceitos e normalizados pelo sistema, removendo símbolos especiais como '+', de acordo com o padrão E.164.
<br>
<br>


• [RNF003] Segurança: OAuth 2.0 (Client Credentials), JWT e HTTPS (TLS
• [RNF003] Observabilidade: A API registra todas as requisições e respostas através do componente LogGenerate. Cada requisição e resposta é logada com informações da operação (retrieve-date ou check), dados da requisição e dados da resposta.
1.2+).
<br>
<br>


• [RNF004] Disponibilidade: 99% do tempo, 24 horas por dia.
• [RNF004] Extensibilidade: A estrutura de tratamento de erros é extensível, permitindo adicionar novos códigos de erro através do mapeamento de exceções personalizadas.
<br>
<br>
• [RNF005] Padronização: Seguir requisitos do Camara Project.
<br>
• [RNF006] Logs: Registrar logs JSON (timestamp, endpoint, status). Mascarar PII.


== Regras de Negócio ==
== Regras de Negócio ==

Edição das 12h01min de 7 de janeiro de 2026

Link do caso de uso: Open Gateway


Escopo



Requisitos


Requisitos Funcionais


• [RF001] Consultar data do último SIM Swap: A API permite que o consumidor consulte a data e hora do último evento de SIM Swap associado a uma linha móvel.

• [RF002] Verificar se houve SIM Swap em um período passado: A API permite verificar se ocorreu SIM Swap dentro de um intervalo definido.

• [RF003] Validar período máximo de verificação: O campo maxAge aceita valores entre 1 e 2400 horas e possui valor padrão de 240 horas quando não informado.

• [RF004] Identificar número da linha via token ou payload: A API identifica o número da linha através do campo phoneNumber obrigatório no corpo da requisição.

• [RF005] Retornar erros padronizados CAMARA: O sistema mapeia erros para Status Codes HTTP padrão e retorna uma estrutura JSON de erro contendo status, code e message.

Requisitos Não Funcionais


• [RNF001] Segurança e Autenticação: A API é protegida através de validação de headers de autenticação. Toda requisição deve conter os headers client_id e access_token.

• [RNF002] Padronização de formatos: Os números de telefone são aceitos e normalizados pelo sistema, removendo símbolos especiais como '+', de acordo com o padrão E.164.

• [RNF003] Observabilidade: A API registra todas as requisições e respostas através do componente LogGenerate. Cada requisição e resposta é logada com informações da operação (retrieve-date ou check), dados da requisição e dados da resposta.

• [RNF004] Extensibilidade: A estrutura de tratamento de erros é extensível, permitindo adicionar novos códigos de erro através do mapeamento de exceções personalizadas.

Regras de Negócio


• [RN001] Dados obrigatórios: A consulta deve conter um número de telefone válido.

• [RN002] Persistência de logs: Nenhuma requisição sem registro de auditoria.

• [RN003] Retenção: Logs de SIM Swap armazenados por no mínimo 6 meses. O dado de troca reside no Database SPS (API Stateless)."

Cronograma


RF Descrição Início Tempo em dias Data Real entrega Maker %
01 0%
02 0%

Diagramas


Projeto


Plano de Testes


Ambiente


Histórico


  • 22/12/2025:
    • Mensagens entre Sensedia, Algar e Brain para retomada da configuração dos conectores
    • Preencher RFs e cronograma neste link.


Equipe


  • Paula Nunes
  • Lucas Lacerda
  • Marcus Brunelli