WebService: Utilizando a API dos correios para preenchimento de Campo Automatico utilizando Ajax numa Aplicação WEB
Autor: Ciência da Computação - JokerHat | Publicado: 2013-05-17T20:31:00-03:00




WEBSERVICE: AJAX CEP CORREIOS

BUSCA E PREENCHIMENTO AUTOMATICO






Recentemente venho trabalhando num projeto "RELAMPAGO", em outras palavras, tenho prazo de entrega fora dos patamares das metodologias ágeis que viemos a aprender no período acadêmico.

Infelizmente os programadores ou melhor desenvolvedores, são geralmente, confundidos com mágicos. rsrs



Bom, neste projeto, de acordo com os requisitos de sistema, precisei realizar essa tarefa, preencher os campos automaticamente.



Na pesquisa de algum recurso, descobri que uma API pública para se trabalhar com esse recurso infelizmente, pelo menos ainda, não esta disponibilizada para nós DESENVOLVEDORES. Contudo existem pessoas que pensaram nisso, e algumas até estão ganhando dinheiro em cima.



Vamos lá, descobri isto:http://avisobrasil.com.br/correio-control/api-de-consulta-de-cep/.&nbsp;

Resumidamente, o pessoal da aviso Brasil disponibilizou, de sua base de dados, o acesso a uma cópia do banco de dados dos correios, e detalhe, que esta sempre atualizada, na medida do possível, sempre quando a base original é atualizada.



Um breve descrição é dada no site para sua utilização&nbsp;http://avisobrasil.com.br/correio-control/api-de-consulta-de-cep/



Note que a extenção é JSON (JavaScript Object Notation). Maiores detalhes no site original:&nbsp;http://www.json.org/.


Podemos utilizar o AJAX para realizar uma requisição ao Banco de Dados na Web em tempo real, o retorno será um objeto JSON.

Para manipularmos é muito fácil.v Veja primeiro como funciona.
Neste link complete com seu CEP: "http://cep.correiocontrol.com.br/TEU_CEP_AQUI" e dê um enter.
Será algo parecido com isso:

http://cep.correiocontrol.com.br/06415000.json


Para utilizarmos isso na aplicação basta:



$.ajax({
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;url: url,
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;type:'GET',
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dataType: 'json',
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;success: function(json){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $("#rua").val(json.logradouro)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $("#bairro").val(json.bairro)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $("#cidade").val(json.localidade)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $("#uf").val(json.uf) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;       },
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;   });//ajax







Como faço isso?

EX:

Bom, temos um recurso muito bom chamado AJAX (Asynchronous&nbsp;Javascript&nbsp;and&nbsp;XML). Nada mais é que a utilização de JavaScript e XML. Maior descrição no:&nbsp;http://api.jquery.com/jQuery.ajax/



Beleza, vamos fazer um exemplo que você vai entender melhor...



Vamos precisar:



1. IDE Eclipse June:&nbsp;http://www.eclipse.org/downloads/. Verifique sua arquitetura do computador quanto a x86 ou x64 atens de baixar. Esta IDE é a que estou trabalhando, e pode ser qualquer outra.



Descompacte o arquivo. Abra o eclipse...



Crie um novo projeto:






Caso queira aprofundar xom arquivos xml, ao invez de clicar em FINISH:
1. O passo 2 clique em next nas duas telas que aparecerão...



2. Clique no campo xml







Extenda seu aquivo e crie o arquivo HTML. Um com o nome de home.html:











Deixarei em anexo para download o arquivo da home, porque o código aqui acaba sendo interpretado

aqui:&nbsp;http://www.4shared.com/office/Wz0Mxlna/exemplo_ajax_cep_webservice.html?



Resultado:



Digite o CEP e dê um TAB, ou passe para outro campo, porque a função que utilizo no input é a onBlur, ou seja, quando passar para outro campo. Automaticamente os demais campos serão preenchidos:










Esse é do CEP, quando a receita federal a liberação da busca do RG e CPF ainda fica a desejar. Porém, esse site oferece algo pago http://www.devdb.com.br/desenvolvimento/api-develman-correios-e-receita-federal.
Eu ainda não o utilizei...