A Classe ConsultaCep permite ao usuário fazer consultas para obter CEP e Endereço de Logradouros de todo o Brasil utilizando o Webservice http://www.buscarcep.com.br.
Esta Classe é distribuída gratuitamente, como colaboração com a comunidade e com o próprio serviço, tal como está, sem garantias contra erros ou mal funcionamento.

FormExample: ConsultaCep API

Para fazer download, vá até http://www.ederlima.com.br/arquivos/flash/ConsultaCep/ConsultaCep.rar

Como utilizar:

Informando o CEP e retornando a informação completa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import br.ederlima.CEP.ConsultaCep;
import br.ederlima.CEP.events.ConsultaCepEvent;
import br.ederlima.CEP.data.LocalItem;
var consulta:ConsultaCep = new ConsultaCep();
consulta.addEventListener(ConsultaCepEvent.RESPONSE, responseHandler);
consulta.addEventListener(ConsultaCepEvent.ERROR, errorHandler);
consulta.buscarLocal("79103600");
function responseHandler(event:ConsultaCepEvent):void
{
for each(var item:LocalItem in event.data.response)
{
trace("CEP: " + item.cep + " Logradouro: " + item.logradouro + " Bairro: " + item.bairro + " Cidade: " + item.cidade);
}
}
function errorHandler(event:ConsultaCepEvent):void
{
trace(event.data.message);
}

Informando o Endereço e retornando a informação completa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import br.ederlima.CEP.ConsultaCep;
import br.ederlima.CEP.events.ConsultaCepEvent;
import br.ederlima.CEP.data.LocalItem;
var consulta:ConsultaCep = new ConsultaCep();
consulta.addEventListener(ConsultaCepEvent.RESPONSE, responseHandler);
consulta.addEventListener(ConsultaCepEvent.ERROR, errorHandler);
consulta.buscarCep("Afrânio Fialho", "Campo Grande");
function responseHandler(event:ConsultaCepEvent):void
{
for each(var item:LocalItem in event.data.response)
{
trace("CEP: " + item.cep + " Logradouro: " + item.logradouro + " Bairro: " + item.bairro + " Cidade: " + item.cidade);
}
}
function errorHandler(event:ConsultaCepEvent):void
{
trace(event.data.message);
}

Dados

São dois métodos diferentes de consulta, porém o resultado é sempre o mesmo, trazendo a informação completa do Endereço ou Cep pesquisado, os dados são retornados em um objeto LocalItem, com as seguintes propriedades:

  • cep: Cep do Local
  • uf: Estado
  • cidade: Cidade
  • bairro: Bairro
  • tipologradouro: Tipo de Logradouro (ex: Rua, Avenida)
  • logradouro: Nome do Logradouro
  • resultado: Valor do resultado
  • mensagem: Mensagem do sistema para cada item
  • apicalls: Chamadas de API restantes
  • ufibge: Código do Estado no IBGE
  • municipioibge: Código do Município no IBGE
  • verificadoribge: Código verificador do IBGE

Fazendo Requisições Autenticadas

O Webservice do BuscarCep.com.br permite por padrão que um mesmo IP faça no máximo 5 requisições por minuto para os servidores do serviço, isso é uma forma de garantir o bom funcionamento.

Para fazer mais solicitações por minuto é necessário cadastrar-se no BuscarCep.com.br e conseguir sua chave única. A chave única é um código criptografado que identifica seu cadastro e permite a você fazer até 20 requisções por minuto, por IP. Uma vez cadastrado é possível utilizar a api com essa forma de autenticação.

Utilizando a API Key para fazer consultas

A Classe é preparada para isso e usar autenticação é muito simples, você só precisa selecionar valores para duas propriedades da Classe ConsultaCep, são elas:

  • authMethod: Método de autorização, você escolhe entre: “Assinado” AuthMethod.SIGNED ou “Não-assinado” AuthMethod.UNSIGNED
  • key: A sua chave única, recebida no seu cadastro, em formato String, ex: “983u48d8/x7a7f4dsd/23.”

Dessa forma, para consultar utilizando a sua API Key:

1
2
3
import br.ederlima.CEP.methods.AuthMethod;
consulta.authMethod = AuthMethod.SIGNED;
consulta.key = "suaapkeycadastradaeunica";

Métodos de Resposta

Também é possível alterar o método de resposta da Classe ConsultaCep, uma vez que o Webservice oferece duas formas de se conectar e trocar dados:

  • XML
  • String (Tratada na Classe como Texto)

Para alterar o método de resposta basta configurar a propriedade responseMethod do seu objecto ConsultaCep, dessa forma:

1
2
import br.ederlima.CEP.methods.ResponseMethod;
consulta.responseMethod = ResponseMethod.TEXT_METHOD;//para Método String

ou

1
consulta.responseMethod = ResponseMethod.XML_METHOD;//para Método XML

A Classe é pré-configurada para rodar sem autenticação e através do método XML, porém você pode configurar o funcionamento dela da forma que precisar.

Você pode visualizar o exemplo do funcionamento da Consulta acima na Flashpedia, no link:
http://www.flashpedia.com.br/2009/08/consultando-cep-e-endereco-com-a-consultacep-api/