You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Inconsistência nas respostas da API do CPTEC para ICAO Codes válidos e inexistentes #703
Durante os testes de integração com a API de condições meteorológicas do CPTEC, foram identificados comportamentos inconsistentes relacionados à validação e retorno de dados com base nos ICAO Codes informados.
Mesmo quando fornecidos:
ICAO Codes válidos, a API retorna dados incorretos ou incompatíveis com as condições esperadas;
ICAO Codes inexistentes (ex: ZZZZ), a API não retorna erro apropriado (AIRPORT_CONDITIONS_NOT_FOUND), mas sim dados genéricos, dificultando a detecção de falhas.
✅ Comportamento Esperado
Para ICAO Codes inexistentes → Deve ser retornado erro padronizado (AIRPORT_CONDITIONS_NOT_FOUND).
Para ICAO Codes válidos → Deve ser retornado um payload consistente com os dados reais do aeroporto correspondente.
🚫 Comportamento Atual
Cenário
Input
Resultado Atual
Resultado Esperado
ICAO válido com dados reais
SBGR
Retorna dados inconsistentes
Retornar dados corretos
ICAO inexistente
ZZZZ
Retorna payload genérico
Retornar erro (AIRPORT_CONDITIONS_NOT_FOUND)
ICAO com formato válido mas sem dados disponíveis
SXXX
Retorna resposta ambígua
Retornar resposta com estado de ausência de dados
🔎 Impactos Identificados
Dificuldade no tratamento de erros.
Impossibilidade de distinguir ausência de dados vs. retorno inválido.
Risco de exibição de dados incorretos para o usuário final.
🧪 Como Reproduzir
GET /api/cptec/v1/clima/aeroporto/ZZZZ // icao code inválido
Ou
GET /api/cptec/v1/clima/aeroporto/SBGR //icao code válido
Porem não conheço uma api que retorna esses dados, sem a necessidade de deixa-los fixo.
Outro problema, a atual api da cptec não está respondendo dados de previssão do tempo vide #747 e #767 e para dados com icao code valido com SBGR está repondendo erratico.
revendo alguns commits e acredito que apos esse PR #501 será possivel validar o codigo, antes de enviar, mas nesse caso não colocaria na api a validação para não acoplar a solução.
Diagnóstico (08/08/2026): o INPE retorna o XML com undefined literal em todos os campos quando não há METAR disponível para o aeroporto (ex.: SBGR). Não é bug do parser — é o formato do dado upstream. O endpoint repassa o que o INPE entrega.
Activity
enieber commentedon Jul 19, 2026
@Nibaacriba verificando a api fonte de dados a resposta está vindo como undefined:
https://servicos.cptec.inpe.br/XML/estacao/zzzz/condicoesAtuais.xml
Como o codigo do aeroporto está errado, poderia ter uma validação com base na lista de aeroportos:
https://servicos.cptec.inpe.br/XML/#estacoes-metar
Porem não conheço uma api que retorna esses dados, sem a necessidade de deixa-los fixo.
Outro problema, a atual api da cptec não está respondendo dados de previssão do tempo vide #747 e #767 e para dados com icao code valido com SBGR está repondendo erratico.
https://servicos.cptec.inpe.br/XML/estacao/SBGR/condicoesAtuais.xml
enieber commentedon Jul 19, 2026
revendo alguns commits e acredito que apos esse PR #501 será possivel validar o codigo, antes de enviar, mas nesse caso não colocaria na api a validação para não acoplar a solução.
lucianopf commentedon Aug 8, 2026
Diagnóstico (08/08/2026): o INPE retorna o XML com
undefinedliteral em todos os campos quando não há METAR disponível para o aeroporto (ex.: SBGR). Não é bug do parser — é o formato do dado upstream. O endpoint repassa o que o INPE entrega.