BrasilAPI icon indicating copy to clipboard operation
BrasilAPI copied to clipboard

Busca de CEPv2 através do nome da rua

Open Yagasaki7K opened this issue 3 years ago • 1 comments

Acredito que isso iria abrir um leque de variedade imensa para o BrasilAPI.

Vantagens disso? Como a v2 já mostra as coordenadas daquele CEP, imagine se for possível capturar o CEP através de uma busca pelo nome da rua e conseguir obter essas coordenadas da mesma maneira, acredito que iria substituir bastante o uso - alguns até restrito - para aplicativos de localização, transporte e sistema de buscas.

Como funcionaria? Da mesma maneira em que conseguimos obter informações da rua através do CEP (Ex. 13100390) Conseguiriamos de alguma maneira ir atrás dessas informações através do nome da Rua (Ex. Serra de Macaé - Jardim São Fernando), dessa maneira iriamos obter o CEP - muita gente desconhece o número da rua - além de outras informações como coordenadas, nome do bairro, cidade e etc, como já vem através da busca pelo CEP.

Yagasaki7K avatar Apr 25 '22 21:04 Yagasaki7K

@Yagasaki7K , é interessante, mas precisamos achar uma fonte de dados que trabalhe desta maneira.

Entrando em mais detalhes a api v2 de CEPs funciona da seguinte maneira:

  1. Busca o endereço com base no CEP
  2. Com o endereço em mãos é feita uma requisição no openstreetmap

Quando é feita a busca no streetmap pode ser que não encontre o endereço ou até mesmo que retorne um endereço errado

LorhanSohaky avatar Aug 05 '22 00:08 LorhanSohaky

Bem o único que eu conheço e atualmente consegue buscar pelo nome da rua é o Viacep (pesquisar de CEP)

Mas acaba que não fica muito intuitivo a busca dessa forma.

ou fazer um scraper no google por: "cep da rua - manoel souza do ó" e com cep fazer um consulta pelo cep obtido. Mas não é seguro, pode ocorrer erro de não conseguir encontrar o dado, enfim...

Ddiidev avatar Mar 31 '23 15:03 Ddiidev

A grande questão de utilizar a busca pelo nome da rua é para utilizar o BrasilAPI como um serviço aberto para outros projetos e muita das vezes, o usuário não tem conhecimento do CEP. Se começarmos a padronizar o uso do CEP ao invés do endereço como utilizado normalmente por restaurantes, delivery ou commerces, facilitaria, mas como o usuário final está habituado em utilizar o nome da rua - principalmente quando existe autocomplete - então é apenas uma questão de feature e não uma extrema necessidade.

Yagasaki7K avatar Mar 31 '23 16:03 Yagasaki7K

Sim, sim. Entendi o que tinha falado.

Apontei acima já duas soluções com busca por nomes.

Primeira é o Viacep (pesquisa de CEP). Hoje um dos providers que é usado aqui no BrasilAPI é o viacep, mas hoje só é utilizado quando se sabe o cep.

Mas existe no viacep uma forma de buscar pelo nome também, abre o link e testa.

Segunda é fazer um httpGet em por exemplo: https://www.google.com.br/search?q=cep+da+rua+manoel+souza+do+%C3%B3

E depois fazer um webscraper nos dados retornados da pesquisa feita no google, após pegar o CEP resultando da resposta do google. Então consultar o BrasilApi... https://brasilapi.com.br/api/cep/v1/58064-422

Testa ai...

Mas como eu disse a segunda opção não é muito seguro, pode ser lento e falho(em alguns cenários)

Ddiidev avatar Mar 31 '23 19:03 Ddiidev

Fiz um teste aqui, ele não é perfeito porque é só POC mesmo 😁 Podem testar aqui: https://replit.com/@ldedev/getcepbynamesojs?v=1

Ddiidev avatar Apr 01 '23 11:04 Ddiidev