
Post ensinando a como consultar o endereço completo pelo CEP, utilizando web services gratuitos que permitem uma fácil integração.
CEP significa Código de Endereçamento Postal, sendo um conjunto numérico de oito dígitos, seu principal objetivo é orientar o encaminhamento de objetos postados nos Correios.
Teoricamente cada rua deveria ter um CEP, porém em cidades menores infelizmente essa realidade passa bem longe.
Um serviço gratuito que venho utilizando em alguns do meus projetos é o ViaCep.com.br
Ele tem um tempo de resposta muito bom, estável e para utilizar o seu serviço basta fazer uma requisição para URL: viacep.com.br/ws/01001000/json/
Repare no CEP 01001000 e o formato desejado json na URL.
Além de json é possível consultar outros formatos como “xml”, “piped” ou “querty”.
Acesse https://viacep.com.br/ para saber mais.
Utilizando Javascript, vamos fazer uma requisição GET a URL do Viacep, passando os parâmetros desejados (CEP e Formato) embutidos na URL.
A função que iremos utilizar para requisição:
function httpGet(theUrl)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
} Segundo passo, o campo.
<input type="text" onblur="preparar_cep(this.value);"> <span id="resultado"></span>
Observação: o evento “onblur” ocorre quando o campo perde o foco.
E também a função auxiliar que está no evento onblur do nosso campo.
function preparar_cep(val){
/* Faço uma validação bem rápida para saber se realmente é um cep */ if( isNaN(val) ){
alert("cep inválido");
return false;
}
if( val.length != 8 )
alert("cep inválido");
return false;
}
resultado = httpGet('https://viacep.com.br/ws/'+ val +'/json/');
document.getElementById('resultado').innerHTML = resultado;
} Vamos testar o exemplo?
Digite um CEP válido no campo abaixo:
Resultado:
Por ser uma simples consulta GET, facilmente você irá conseguir integrar sua aplicação com esse serviço.
Por ser um serviço gratuito e sem garantias de funcionamento é importante que você desenvolva um “fallback” para sua consulta, assim caro ocorra algum problema sua aplicação não ficará na mão.
Caso você queira apreender a fazer consultas GET com PHP, clique neste post: cURL ou file_get_contents, utilizando os dois métodos no PHP
Site novo há semanas e nenhuma página indexada? Confira a caixinha de visibilidade em Leitura, o noindex no HTML e…
O retorno do array_map voltou com índice 0, 1, 2 e o código que dependia da chave quebrou. Entenda quando…
Dump de 12 GB que demora horas porque arrasta report_event e cron_schedule. Faça o backup em duas passadas, guarde só…
Escreveu a preference e o Magento 2 continua usando a classe original? Confira a área do di.xml, o generated/code e…
Cadastrou Cor direto na aba Atributos do produto e o filtro por atributo vem vazio. Veja como identificar o tipo,…
Precisa de um SELECT no banco do cliente e só tem SSH? O wp db query pega a senha do…