| 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.