ceplivre – API de CEPs para formulários

Postado por: Pedro Rogério em
Ceplivre

Você provavelmente já deve ter passado por um daqueles formulários onde ao colocar o CEP da rua onde você mora, ele automaticamente preenche os outros campos com o seu endereço. Pois bem, por trás disso existe um simples código que busca em um banco de dados seu endereço através do seu CEP.

Até aí tudo bem, mas e para desenvolver uma engenhoca dessa? Manter o seu banco de dados com os CEPs de todo o brasil atualizados não é tarefa fácil, por isso indico a vocês um site que acabei descobrindo esses dias, o ceplivre, onde através do seu sistema provem informações básicas de endereços, códigos do IBGE, códigos DDD (Discagem Direta à Distância), altitude, área e coordenadas (latitude e longitude) de todas as cidades brasileiras.

Para você ter idéia, hoje o ceplivre conta com uma base de mais de 630.000 CEPs cadastrados que são atualizados diariamente. Manter uma base dessas atualizada não é tarefa fácil, por isso eles dispõem de diversos planos, desde o plano Free, onde você pode efetuar até 15 consultas por dia, até o Plano Premium, com pesquisas ilimitadas e acesso a todas as features do sistema.

O webservice do ceplivre é compatível com todas as principais linguagens de programação web, entregando dados em formatos CSV, XML e JSON. Para utilizar o sistema é simples, basta desenvolver uma rotina que faça acessos HTTP ao servidor, onde as URLs de pesquisa seguem a seguinte estrutura:


http://ceplivre.com.br/consultar/$tipo/$key/$busca/$formato

  • $tipo é o tipo de busca, por CEP (cep) ou por endereço (logradouro).
  • $key é a chave de autenticação enviada por e-mail na confirmação da assinatura.
  • $busca é o termo de busca. Se for um CEP, o código (01001-000). Se for um endereço, parte do nome (Paulista).
  • $formato é o formato do resultado da busca que pode ser XML (xml), CSV (csv) ou JSON (json).

Portanto, para efetuar uma busca em formato JSON, basta utilizar a seguinte URL:


http://ceplivre.com.br/consultar/cep/sua_key_aqui/01001-000/json

Estando tudo Ok, seria retornado o seguinte JSON:

{

    "cep": [
        {
            "tp_logradouro": "Praça",
            "tp_logradouro_id": "8",
            "logradouro": "da Sé",
            "bairro": "Sé",
            "cidade": "São Paulo",
            "uf_sigla": "SP",
            "ufnome": "São Paulo",
            "id_estado_ibge": "35",
            "cep": "01001-000",
            "muncoddv": "3550308",
            "ddd": "11",
            "altitude": "760",
            "latitude": "-23.548",
            "longitude": "-46.636",
            "area": "1522.986",
            "capital": "S"
        }
    ]

}

Agora por exemplo eu poderia manipular esses dados com JavaScript para dar mais interatividade ao meu formulário quando o usuário preencher o campo CEP.

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Gostou desse post?

Assine o nosso Feed RSS, siga-nos no Twitter, ou simplesmente nos recomende a seus amigos!

Sobre Pedro Rogério

Pedro Rogério é desenvolvedor web por paixão, não saberia fazer melhor outra coisa. Além de escrever para o Pinceladas da Web também escreve para o CSS no Lanche, blog voltado ao desenvolvimento front-end.

17 Responses to “ceplivre – API de CEPs para formulários”

  1. Tárcio Zemel disse:

    Legal, mas o serviço é confiável, mesmo? No ar 24/7?

  2. 15 ceps por dia no plano free? mas que cep”livre”.

    É tipo um frango de padaria né, levar é R$10, sentir o cheirinho é de graça. rs

    Mas apesar da brincadeira achei o serviço muito bom.

  3. Padeiro disse:

    ceppago seria um nome mais correto.

  4. CACA-COBRA disse:

    Livre? 15 consultas/dia não da nem pro cheiro

  5. Marlon disse:

    Base atualizada? Por quem? Esta informação está baseada em que?

    Fiz um teste muito básico (e olha que essa história de pesquisar CEPs dá bastante pano para a manga)…

    Testei o CEP 93265-460, da minha rua… Ele nunca deu problemas em nenhum sistema (com base atualizada, é claro), pois na cidade o CEP é por rua e esta rua é muiro pequena, não cortando mais de um bairro e nem possuindo mais de um CEP… Esse é um dos casos mais básicos para teste (acho que só teste de CEP geral pode ser mais simples que isto)…

    Resultado:

    1) Nome do bairro está errado, já foi alterado há bastante tempo para de Christ para Liberdade…
    2) Nome do bairro não era Cristi e sim Christ…

    Para ter uma idéia, já deve fazer mais de 2 anos que o nome do bairro foi alterado…

    Não uso esta aplicação nem de graça… Quem dirá pagando!

  6. Micox disse:

    Acho que o JSON poderia ser colocado dentro de uma chamada a função (que nem os json do yahoo), assim o script inciaria aquela função só quando json for carregado pra não termos que usar timeout.
    Exemplo de retorno desejado:
    jsonCepLoaded({

    “cep”: [
    {
    "tp_logradouro": "Praça",
    "tp_logradouro_id": "8",
    "logradouro": "da Sé",
    "bairro": "Sé",
    "cidade": "São Paulo",
    "uf_sigla": "SP",
    "ufnome": "São Paulo",
    "id_estado_ibge": "35",
    "cep": "01001-000",
    "muncoddv": "3550308",
    "ddd": "11",
    "altitude": "760",
    "latitude": "-23.548",
    "longitude": "-46.636",
    "area": "1522.986",
    "capital": "S"
    }
    ]

    });

    Assim, eu mesmo declararia a função jsonCepLoaded dizendo o que faria com o json que chegou.

  7. Muito bacana, de fato não conhecia a ferramenta.
    Vou experimentar. Obrigado.

  8. Muito interessante o post! Pessoal… aproveitando, quem puder dá um pulinho no meu blog: http://www.estradaweb.wordpress.com estou iniciando ainda no aprendizado web, mas sempre que puder vou tentar postar algo interessante lah! Abço

  9. Breno disse:

    não sei o que é pior… a incompetência do Correios ou esse teu esquema de grana fácil aí

    todo mundo sabe que os Correios mesmo deveria disponibilizar essa API e de graça..

    além disso, existe o http://www.republicavirtual.com.br/ que é público e free, tem as gambi pra pegar direto da porcaria do site e têm também a API de GEOCODE do Google(que também é free) que provávelmente é o que você usa pras suas funcionalidades “premium”…

    “Há uma empresa por trás, o que gera confiança e segurança para você;” que piada!

  10. Breno disse:

    resumindo, ganhando dinheiro em cima da ignorância da galera…

    pelo post achei que quem tinha escrito tinha sido o próprio criador, já que parece mais um comercial… como questionaram antes, como essa base é mantida diáriamente se a informação é dos correios? como ele pode garantir sem explicar como? a única forma seria um acordo especial da empresa dele com os correios, o que óbviamente não existe

    ou o cara trabalha nos correios e rouba um dump da base CEP todos os dias?

Leave a Reply