| Data de elaboração | 21/03/22 |
| Responsável pelo estudo | Diego Gonçalves de Almeida (Assessor), Igor Ramos de Oliveira (Assessor). |
| Equipe do estudo | Esquadrão Suicida |
| Alvo | API Calendário |
| Origem | Objetivo estratégico: Substituição do endpoint de feriado da API e-Estado. |
| Objetivo | Definir estratégia de implementação da nova API nos sistemas desenvolvidos e/ou mantidos pela Coordenadoria de Desenvolvimento. |
| Documentação correlata | https://e-estado-api.master.local/swagger/index.html |
| Observações | Não possui. |
Glossário
Evitar falha nas aplicações devido a descontinuidade programada da API e-Estado1.
Atualmente a API e-Estado tem um endpoint que retorna os feriados cadastrados no e-Estado.
O endpoint é GET /api/feriados/mes/{mes}/ano/{ano}, que retorna um JSON como o que se observa abaixo:
[
{
«id»: 158,
«municipioId»: 5582,
«data»: «2022-05-24T00:00:00»,
«horaInicial»: «»,
«horaFinal»: «»,
«calendario»: «Padroeira dos municípios Nossa Senhora Auxiliadora»,
«municipio»: «Porto Velho»
},
{
«id»: 158,
«municipioId»: 5587,
«data»: «2022-05-24T00:00:00»,
«horaInicial»: «»,
«horaFinal»: «»,
«calendario»: «Padroeira dos municípios Nossa Senhora Auxiliadora»,
«municipio»: «Vilhena»
},
{
«id»: 158,
«municipioId»: 5592,
«data»: «2022-05-24T00:00:00»,
«horaInicial»: «»,
«horaFinal»: «»,
«calendario»: «Padroeira dos municípios Nossa Senhora Auxiliadora»,
«municipio»: «Alto Paraíso»
},
{
«id»: 154,
«municipioId»: 0,
«data»: «2022-05-01T00:00:00»,
«horaInicial»: «»,
«horaFinal»: «»,
«calendario»: «Dia Mundial do Trabalho»,
«municipio»: null
}
]
Note que para eventos com abrangência municipal é retornado um objeto de evento para cada município. Na lista acima, o evento ID = 158 é municipal e para cada município (Porto Velho, Vilhena, Alto Paraíso) é retornado um objeto com o mesmo ID.
Todavia, nos eventos estaduais, para cada evento será retornado um objeto, porém os rótulos «municipioId» terão valor 0 e os rótulos «municipio» terão valor null. Exemplo.
[
{
«id»: 154,
«municipioId»: 0,
«data»: «2022-05-01T00:00:00»,
«horaInicial»: «»,
«horaFinal»: «»,
«calendario»: «Dia Mundial do Trabalho»,
«municipio»: null
}
]
Já as demais propriedades do objeto tem os seguintes valores:
«id»: o ID do evento,
«data»: a data do evento em formato «yyyy-mm-ddT00:00:00»,
«horaInicial»: sempre vazio («»),
«horaFinal»: sempre vazio («»),
«calendario»: nome do evento, por exemplo, «Padroeira dos municípios Nossa Senhora Auxiliadora».
A API Calendário foi desenvolvida utilizando Node.js. Além disse, está totalmente integrada ao OpenShift o que facilita mais sua manutenção.
Deste modo, ela será a substituta do endpoint de Feriados da API e-Estado que está programa para ser descontinuada por obsolecência.
Para evitar grandes ajustes nos sistemas que já consomem o endpoint da API e-Estado, um endpoint, com o mesmo padrão de resposta, na API foi criado. Dessa forma, o único trabalho a ser realizado no sistemas que já utilizam a API antiga será o de substituir, em suas aplicações, o endereço da API e-Estado pelo endereço da nova API Calendário
A partir do estudo realizado foi possível identificar que não haverá nenhum impacto na mudança da API e-Estado para a API Calendário, senão aquele decorrente da troca da URL, visto que a nova já traz um endpoint igual à antiga e com o mesmo padrão de resposta.
[1] API e-Estado - Documentação. Disponível, internamente à intranet da SETIC, em: https://e-estado-api.master.local/swagger/index.html. Acesso em: 21 mar 2022.