
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
Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…
Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.
O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…
A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…
Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…
Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…