BrasilAPI / BrasilAPI

Vamos transformar o Brasil em uma API?
https://brasilapi.com.br
MIT License
8.5k stars 593 forks source link

CEP's antigos não encontrados #309

Open victor-giacomo opened 3 years ago

victor-giacomo commented 3 years ago

Alguns CEP's que estão desatualizados (imagino eu) não são retornados pela API.

Por exemplo o cep 37550000 não é retornado pela brasilAPI, mas retorna dados em outras API's de cep, como por ex: http://cep.republicavirtual.com.br/web_cep.php?cep=37550000

Ou então retornam dados inconsistentes, como o CEP 37556-000 que é da cidade Careaçu - MG e está retornando como sendo da cidade Pouso Alegre.

murilohns commented 3 years ago

@victor-giacomo, qual a fonte de verdade pra esse CEP?

Segundo uma busca no google, por exemplo, um lugar diz que é de Careaçu e outro diz que é de Pouso Alegre image

victor-giacomo commented 3 years ago

@murilohns Você pode considerar que a "fonte de verdade" utilizada foi o Google Maps.

RodriAndreotti commented 3 years ago

@murilohns Isso pode ser algum problema com algum dos serviços que o cep-promise usa, eu utilizava um serviço antes do BrasilAPI que do nada começou a não encontrar mais o cep da minha casa e de outros locais. Acho que essa issue poderia ser movida para lá, o que acha?

Aliás, uma possível solução, seria tentar, caso o CEP não fosse encontrado no primeiro serviço, tentar procurar no próximo da stack.

murilohns commented 3 years ago

@RodriAndreotti o CEP Promise busca em todos, e devolve a informação do primeiro que responder com sucesso, não?

De qualquer forma, acho que é um problema que deve ser resolvido na lib cep-promise mesmo, vamos mover a issue

Talvez adicionar outro provedor possa resolver, meu medo é retornarmos dados antigos

Sei que algumas cidades tinham um CEP só, que terminavam em 000, e com o decorrer do tempo as ruas foram ganhando CEP's e o CEP com fim 000 deixou de existir 🤔

RodriAndreotti commented 3 years ago

@RodriAndreotti o CEP Promise busca em todos, e devolve a informação do primeiro que responder com sucesso, não?

De qualquer forma, acho que é um problema que deve ser resolvido na lib cep-promise mesmo, vamos mover a issue

Talvez adicionar outro provedor possa resolver, meu medo é retornarmos dados antigos

Sei que algumas cidades tinham um CEP só, que terminavam em 000, e com o decorrer do tempo as ruas foram ganhando CEP's e o CEP com fim 000 deixou de existir thinking

Na realidade, não conheço a fundo o funcionamento do cep-promise, acho que o @lucianopf saberia responder melhor... rs

Mas eu acho que os CEPs final 000 não deixaram de existir, alguns passaram a ser os CEPs das cidades outros passaram a ser CEPs de ruas específicas da cidade.

Mas talvez fosse o caso de um outro serviço mesmo, aliás, achei um serviço do governo, só não sei se ele é pago ou não, mas exige um cadastro: https://www.gov.br/conecta/catalogo/apis/cep-codigo-de-enderecamento-postal

TheKoakuma commented 3 years ago

É mais ou menos o caso da #141, em que a base oficial (leia-se: dos correios) é alterada mas isso não se reflete ainda nas demais bases (ex: viacep)

lucianopf commented 3 years ago

Então, o problema é que o Correios além de instável não permite acesso de outras origens (CORS), daí fica meio ruim usar ele como único provedor =/

Sobre esse do @RodriAndreotti pelo que entendi pra ganhar acesso precisa ser algum orgão do governo, não?

Acredito que quanto mais provedores no cep-promise melhor :grimacing: :pray:

RodriAndreotti commented 3 years ago

Então, o problema é que o Correios além de instável não permite acesso de outras origens (CORS), daí fica meio ruim usar ele como único provedor =/

Sobre esse do @RodriAndreotti pelo que entendi pra ganhar acesso precisa ser algum orgão do governo, não?

Acredito que quanto mais provedores no cep-promise melhor grimacing pray

Fala, @lucianopf ! Acho que é isso mesmo, tem toda uma burocracia para este acesso aos dados, sobre o correio eles tem uma api "pública" porém ela é paga, então acho que foge ao escopo do projeto.

Infelizmente é difícil encontrar uma api de cep completa, o cep-promise ajuda bastante neste quesito, mas sempre vai ter um ou outro cep que fique de fora.

Talvez um web scrap no serviço dos correios como última alternativa na fila de pesquisa seja uma possível solução.

enieber commented 7 months ago

Colocando link de um caminho para solução: https://github.com/BrasilAPI/cep-promise/issues/268