Logo SatellaSoft



Buscando endereço através de CEP com PHP

Veja como é simples encontrar dados de um determinado endereço através do CEP.


Ícone homem Gunnar Correa
Ícone data de publicação 24/02/2018
Ícone quantidade de visualização 1,119
Ícone bandeira do Brasil Português

uscacep, cep o que é, cep com php, requisição php, consultar cep, consulta cep php, programação, programação php, retornar dados do cep com php, api cep, api cep download, criar api com php, api cep grátis, api de testes

É através do CEP que podemos encontrar dados relacionados a um endereço, assim podemos preencher os demais campos automaticamente sem que o usuário preencha manualmente. Antes de prosseguirmos, precisamos entender de fato o que é um CEP e porque ele existe.

“O Código de Endereçamento Postal é um conjunto numérico constituído de oito algarismos, cujo objetivo principal é orientar e acelerar o encaminhamento, o tratamento e a distribuição de objetos de correspondência, por meio da sua atribuição a localidades, logradouros, unidades dos Correios, serviços, órgãos públicos, empresas e edifícios.” (Acesso em 24/02/2018 https://www.correios.com.br/para-voce/precisa-de-ajuda/o-que-e-cep-e-por-que-usa-lo).

Normalmente para preencher os dados do formulário com base nos números do CEP informado, utilizamos o Javascript para fazer uma requisição via AJAX e retornar os dados, para posteriormente preencher os campos.

Existem diversos serviços que disponibilizam API para integração, aqui vamos usar o site viacep.com, porém é muito importante que o desenvolvedor fique atento e estes serviços, pois eles podem parar de funcionar, e se isso acontecer, a aplicação tem que continuar funcionando sem ter erros que comprometam os formulários.

Vamos há um exemplo de como obter os dados de um CEP e retornar em uma string JSON, posteriormente convertermos este JSON em um array.

Para retornar os dados, basta fazer uma chamada através de uma URL passando o CEP sem o ‘‘.

Exemplo de utilização: https://viacep.com.br/ws/123456000/json/

Para executar o código abaixo, é só acessara URL do script e passar uma query string com o CEP, da seguinte forma localhost/cep.php?cep=03009000.

Código 01:


	

CEP: cep;?>

LOGRADOURO: logradouro;?>

COMPLEMENTO: complemento;?>

BAIRRO: bairro;?>

LOCALIDADE: localidade;?>

UF: uf;?>

UNIDADE: unidade;?>

IBGE: ibge;?>

GIA: gia;?>

Agora vamos utilizar uma outra API para testes, essa API é interna do SatellaSoft é possui apenas 5 CEP cadastrado, ela deve ser utilizada apenas para testes, até porque não tem nenhuma utilidade com uma quantidade baixa de informações.

Exemplo de utilização: http://satellasoft.com/servicos/buscacep/?cep=123456000. Porém para utilizar o serviço de API de testes, é necessário que sua aplicação esteja rodando em um servidor WEB e não em servidor local.

Os CEPs disponíveis são:

CEP 01: 19050690 - Presidente Prudente

CEP 02: 01001000 - São Paulo

CEP 03: 69921126 - Acre

CEP 04: 13940000 - Águas e Lindóia/SP

CEP 05: 19640000 - Iepê/SP

Veja no algoritmo abaixo como fazer a requisição.

Código 02:


	

CEP: cep;?>

LOGRADOURO: logradouro;?>

COMPLEMENTO: complemento;?>

BAIRRO: bairro;?>

LOCALIDADE: localidade;?>

UF: uf;?>

UNIDADE: unidade;?>

IBGE: ibge;?>

GIA: gia;?>

Caso você não tenha um servidor WEB para testar, você pode criar a API de testes, basta criar um script com os códigos abaixo e fazer a chamada a partir dele, mas respeite as limitaçãos dos CEPs disponíveis, como se trata de uma API de testes, não use em ambiente de produção.

Código 03:

 "19050-690",
					  "logradouro" => "Rua Democrata",
					  "complemento" => "",
					  "bairro"=> "Jardim Bongiovani",
					  "localidade" => "Presidente Prudente",
					  "uf" => "SP",
					  "unidade" => "",
					  "ibge" => "3541406",
					  "gia" => "5629"
				);			
			break;
			case '01001000':
				$cepdata = array(
						"cep" => "01001-000",
						"logradouro" => "Praça da Sé",
						"complemento" => "lado ímpar",
						"bairro" => "Sé",
						"localidade" => "São Paulo",
						"uf" => "SP",
						"unidade" => "",
						"ibge" => "3550308",
						"gia" => "1004"
				);			
			break;
			case '69921126':
				$cepdata = array(
					  "cep" => "69921-126",
					  "logradouro" =>  "Rua Angelim",
					  "complemento" =>  "",
					  "bairro" =>  "Loteamento Novo Horizonte",
					  "localidade" =>  "Rio Branco",
					  "uf" =>  "AC",
					  "unidade" =>  "",
					  "ibge" =>  "1200401",
					  "gia" =>  ""
				);
			break;
			case '13940000':
				$cepdata = array(
					  "cep"  =>  "13940-000",
					  "logradouro"  =>  "",
					  "complemento"  =>  "",
					  "bairro"  =>  "",
					  "localidade"  =>  "Águas de Lindóia",
					  "uf"  =>  "SP",
					  "unidade"  =>  "",
					  "ibge"  =>  "3500501",
					  "gia" => "1533"
				);
			break;
			
			case '19640000':
				$cepdata = array(
					  "cep"  =>  "19640-000",
					  "logradouro"  =>  "",
					  "complemento"  =>  "",
					  "bairro"  =>  "",
					  "localidade"  =>  "Iepê",
					  "uf"  =>  "SP",
					  "unidade"  =>  "",
					  "ibge"  =>  "3519907",
					  "gia" => "3475"
				);
			break;
		}
		
		echo json_encode($cepdata);
		
	}else{
		echo "invalid";
	}
?>

Por hora é apenas isso, eu vou ficando por aqui e nos vemos na próxima oportunidade.





Sobre o autor


Gunnar Correa

Nome: Gunnar Correa

Site: http://www.gunnarcorrea.com


Autodidata, graduado em Desenvolvimento Web e especialista em Tecnologias na Educação em uma universidade no interior de São Paulo. Comecei meus estudos na área de programação quando ainda era criança, e atualmente estou estudando desenvolvimento de jogos.

Sou o CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.


Comentários



É necessário estar autenticado para comentar, clique aqui para se registrar ou aqui para acessar a sua conta!