Clique aqui para ler esse artigo em PDF.imagem_pdf.jpg

capa_NET36_G.gif

Clique aqui para ler todos os artigos desta edição

Integrando sua aplicação com a busca de CEPS dos Correios

 

Este artigo discute

Este artigo usa as seguintes tecnologias

·         Web Services;

·         Busca por CEP;

·         Busca avançada por CEP.

Visual Studio 2005 e C#.

 

Você já precisou incluir em suas aplicações uma rotina para busca de CEPs? Se você já desenvolveu algo que envolva cadastros com dados de endereços para entrega, cobrança, faturamento etc., com certeza você já precisou disso. Uma solução muito comum era usar um arquivo Access que o próprio Correio disponibilizou em seu site e através de CD, há algum tempo atrás.

Nesse banco, tínhamos uma tabela com todos os CEPs do país inteiro, com dados das ruas, bairros cidades e estados. Dava um bocado de trabalho, pois tínhamos que manter um banco enorme, sem falar das atualizações que eram freqüentes.

Hoje, esse banco não é mais disponibilizado, e quem utiliza não tem mais atualizações, podendo trabalhar com dados defasados. Então como fazer isso hoje? É exatamente o que veremos neste artigo.

 

Solução HTML

Se entrarmos no site dos Correios hoje (www.correios.com.br), na página principal temos uma opção na parte inferior chamada Busca CEP. Clique sobre ela e veja (Figura 1) que temos uma série de opções que envolvem a busca de CEP dos Correios.

 

image002.jpg 

Figura 1. Opções de Busca de CEP disponíveis no Site dos Correios

 

Nota: As opções do site dos correios descritas neste artigo estavam disponíveis até o fechamento dessa edição.

 

A primeira opção que temos no menu lateral esquerdo chama-se Coloque a busca ao CEP no seu site. Ao clicar nessa opção você verá que basta preencher um pequeno formulário que é possível fazer o download de duas páginas HTML (busca_cep.html e busca_por_cep.html). O primeiro possui um formulário onde podemos preencher os dados de um endereço, e o segundo pergunta apenas o CEP.

Em ambas as páginas o resultado é mostrado em uma nova instância do browser, em uma página dos Correios. Essa é uma solução boa se você quer apenas pesquisar as informações de CEP em seu site.

Mas para alguns essa pode ser uma solução incompleta, imaginando por exemplo, que você queira receber esses dados e colocá-los diretamente nos TextBoxes da aplicação, seja ela Web ou Windows.

 

Consultar o CEP no Office

Outra opção que os Correios oferece é incluir a pesquisa de CEP no Office. Ainda na Figura 1 veja que a última opção do menu é a Veja como consultar o CEP no OFFICE  da Microsoft. Clique nessa opção e veja que temos uma explicação para incluir a pesquisa de CEP nas opções de pesquisa do Office.

Seguindo os passos, você registrará um Web Service que permite realizar as pesquisas de CEP. Se você não sabia disso, siga os passos e veja que é uma solução bem interessante, principalmente se você ou seus usuários usam muito o Office.

 

O Web Service

Apesar de não estar claramente divulgado no site dos Correios, a busca de CEP no Office usa um Web Service, que naturalmente pode ser utilizado em nossas aplicações .NET. O endereço desse Web Service é http://consultacep.correios.com.br/office2003/Query.asmx. Devo adverti-los que essa não é uma tarefa muito simples.

Esse Web Service foi desenvolvido para ser consumido pelo Office, portanto temos que fazer um certo esforço para utilizá-lo em nossas aplicações .NET. Vamos começar com um teste simples. Abra o Visual Studio e crie uma nova aplicação ASP.NET (você pode fazer em Windows Forms se preferir). Na página Default.aspx crie uma interface igual a demonstrada na Figura 2.

image004.jpg 

Figura 2. Interface para a busca de CEP

 

Veja que esse é um formulário bem simples onde estamos solicitando o CEP em um TextBox chamado txtCEP. Abaixo temos um botão chamado btnPesquisar e um outro TextBox chamado txtRetorno, onde apresentaremos o retorno do Web Service dos Correios.

No Solution Explorer clique com o botão direito sobre o projeto. Escolha a opção Add Web Reference, informe no endereço de pesquisa o Web Service dos Correios (http://consultacep.correios.com.br/office2003/Query.asmx) e clique em Go.

Veja (Figura 3) que o Web Service dos Correios expõe uma classe chamada QueryProcessor, que possui um método chamado Query. Para adicionar a referência, basta clicar em Add Reference.

image006.jpg 

Figura 3. Adicionando a referência ao WebService

 

Para continuarmos, vá ao código da Default.aspx e inclua na área de importação os namespaces  com o seguinte código:

 

...

Quer ler esse conteúdo completo? Tenha acesso completo