Data de elaboração | 21/03/2025 |
Responsável pelo estudo | Taillon Miguel Gonçalves Neves Raposo |
Equipe do estudo | Tropa de Elite |
Alvo | Portal do Servidor e API SID |
Origem | Análise técnica para reforço de confiabilidade e controle de exceções na comunicação com o sistema SID |
Objetivo | Analisar o fluxo completo das chamadas à API SID — incluindo chamadas de serviço, conversão em ViewModel, uso em Controller e exibição — além de propor padronizações de tratamento de erro, validação e logging. |
Este estudo tem como finalidade propor um modelo robusto de integração com a API SID, que abranja todo o fluxo de consumo de dados: desde a requisição via SidApiServico
, passando pela conversão em ViewModel, até a apresentação segura ao usuário via Controller e View. Também será tratado o uso de blocos de tratamento de erro, validação de entrada e logging estruturado.
A integração com a API SID é parte crítica dos processos relacionados à gestão de férias, interrupções e suspensões. O consumo de endpoints deve ser feito com responsabilidade técnica, considerando aspectos como:
A seguir, estão descritos os principais fluxos que compõem a comunicação entre a aplicação e a API SID, contemplando:
SidApiServico
);FeriasAppService
);FeriasFactory
);Método | Fluxo Implementado | Tratamento de Erro | ViewModel | Factory |
---|---|---|---|---|
BuscarSolicitacoesDeFeriasDoColaborador |
✅ | ✅ | ✅ | ✅ |
BuscarSolicitacoesDeFeriasDoDepartamentoDoUsuario |
✅ | ✅ | ✅ | ✅ |
BuscarPeriodoDePlanejamentoDeFerias |
✅ | ✅ | ✅ | ✅ |
ObterPeriodoDisponivelParaOServidorMarcarAsFerias |
✅ | ✅ | ✅ | ✅ |
ObterPeriodoDisponivelParaOServidorRemarcarAsFerias |
✅ | ✅ | ✅ | ✅ |
ObterPeriodosDeFeriasDisponiveisParaRemarcar |
✅ | ✅ | ✅ | ✅ |
EnviarSolicitacaoDeFerias |
✅ | ✅ | ✳️ (DTO de entrada) | ✳️ |
DarCienciaNoPeriodo |
✅ | ✅ | ❌ | ✳️ |
BuscarSolicitacaoDeSuspensaoDoColaboradorPorId |
✅ | ✅ | ✅ | ✅ |
DarCienciaNaSuspensao |
✅ | ✅ | ❌ | ✳️ |
BuscarSolicitacaoDeInterrupcaoDoColaboradorPorId |
✅ | ✅ | ✅ | ✅ |
DarCienciaNaInterrupcao |
✅ | ✅ | ❌ | ✳️ |
BuscarFeriasDisponiveisParaRemarcacao |
✅ | ✅ | ✅ | ✅ |
EnviarSolicitacaoDeRemarcacaoDeFerias |
✅ | ✅ | ✳️ (DTO de entrada) | ✅ |
BuscarSolicitacoesDeFeriasViewModel |
✅ | ✅ | ✅ | ✅ |
VerificarSePodeSolicitarFerias |
✅ | ✅ | ❌ | ✳️ |
VerificarSePossuiFeriasPendentes |
✅ | ✅ | ❌ | ✳️ |
BuscarFeriasPendentesDoServidor |
✅ | ✅ | ❌ | ✳️ |
ObterPeriodoDisponivelParaOServidorRemarcarAsFeriasPendentes |
✅ | ✅ | ✅ | ✳️ |
BuscarSolicitacaoPorIdParaSuspensao |
✅ | ✅ | ✅ | ✳️ |
SolicitarSuspensaoDePeriodoDeFerias |
✅ | ✅ | ✳️ (DTO entrada) | ✳️ |
BuscarOsMotivosDaRemarcacaoDeFerias |
✅ | ✅ | ✅ | ✳️ |
EnviarSolicitacaoDeFeriasMaestro |
✅ | ✅ | ✅ | ✅ |
EnviarRemarcacaoDeFeriasMaestro |
✅ | ✅ | ✅ | ✅ |
NotificacaoDeFerias |
✅ | ✅ | ✅ | ✅ |
DeletarSolicitacaoAguardandoHomologacao |
✅ | ✅ | ❌ | ✳️ |
✔️ ✳️
indica uso parcial ou indireto de DTO, ou ausência de ViewModel final para exibição.
SidApiServico
deve:
ContentType
e StatusCode
retornados;ILogger
contendo contexto (CPF, método, rota);AutoMapper
em fluxos mais complexos para reduzir a verbosidade do código e manter a legibilidade, ou aplicar mapeamento manual
quando o controle detalhado da conversão for necessário.Response<T>
com status, mensagens e dados;TryGetResultAsync()
e ExecuteComTratamentoPadrao()
em todas as chamadas de serviço;SID
e FERIAS
.A aplicação das boas práticas demonstradas ao longo deste estudo — como padronização de chamadas, uso de ViewModels, isolamento de conversões em factories e tratamento estruturado de erros — contribui diretamente para um sistema mais resiliente, seguro e fácil de manter. A uniformização no uso da SidApiServico
fortalece a previsibilidade e controle dos fluxos de negócio, além de blindar o usuário final contra comportamentos inesperados de APIs externas.
É fortemente recomendado que este modelo seja replicado para todos os novos endpoints integrados, mantendo a qualidade do sistema conforme ele evolui.