Inconsistência nas respostas da API do CPTEC para ICAO Codes válidos e inexistentes · Issue #703 · BrasilAPI/BrasilAPI · GitHub
Skip to content

Inconsistência nas respostas da API do CPTEC para ICAO Codes válidos e inexistentes #703

Open

Description

@Nibaacriba

🐛 Descrição do Problema

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

Activity

  1. enieber commented on Jul 19, 2026

    @enieber
    Contributor

    @Nibaacriba verificando a api fonte de dados a resposta está vindo como undefined:

    https://servicos.cptec.inpe.br/XML/estacao/zzzz/condicoesAtuais.xml

    Image

    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

    Image
  2. enieber commented on Jul 19, 2026

    @enieber
    Contributor

    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.

  3. lucianopf commented on Aug 8, 2026

    @lucianopf
    Member

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions