All Projects → viniciussanchez → viacep

viniciussanchez / viacep

Licence: Apache-2.0 license
ViaCEP - Consulte CEPs de todo o Brasil

Programming Languages

pascal
1382 projects

Projects that are alternatives of or similar to viacep

consultacep
🇧🇷 Consulta CEP é uma aplicação básica para consulta de CEP
Stars: ✭ 21 (-52.27%)
Mutual labels:  cep, brasil, consulta-cep
burocracia.cr
No dependency Crystal shard to validate, generate and format Brazilian burocracias such as CPF, CNPJ and CEP
Stars: ✭ 21 (-52.27%)
Mutual labels:  cep, brasil
Cep Promise
Busca por CEP integrado diretamente aos serviços dos Correios, ViaCEP e outros (Node.js e Browser)
Stars: ✭ 2,483 (+5543.18%)
Mutual labels:  cep, viacep
ViaCEP
The ViaCEP API/webservice .NET client
Stars: ✭ 21 (-52.27%)
Mutual labels:  cep, viacep
coronabr
Pacote para fazer o download dos casos diários de coronavirus no Brasil desde diferentes fontes
Stars: ✭ 50 (+13.64%)
Mutual labels:  brasil
ocaml4noobs
Tutorial de OCaml para iniciantes na Linguagem.
Stars: ✭ 354 (+704.55%)
Mutual labels:  brasil
beepbeep-3
An event stream processor anyone can use
Stars: ✭ 20 (-54.55%)
Mutual labels:  cep
brazil-civil-registry-data
Raw scrapings of ARPEN https://transparencia.registrocivil.org.br/
Stars: ✭ 35 (-20.45%)
Mutual labels:  brasil
laravel-states-cities-brazil
🇧🇷 Base de dados com todos os estados e cidades do Brasil
Stars: ✭ 61 (+38.64%)
Mutual labels:  brasil
icones-bancos-brasileiros
Pacote de Icones de Bancos Brasileiros para sua aplicaçao
Stars: ✭ 36 (-18.18%)
Mutual labels:  brasil
2018-roadshow
Rust Roadshow 🇧🇷 2-4 de fevereiro de 2018
Stars: ✭ 44 (+0%)
Mutual labels:  brasil
nuxtjsbrasil.github.io
Site da comunidade Nuxt Brasil (usando Nuxtjs) 😄
Stars: ✭ 21 (-52.27%)
Mutual labels:  brasil
zipcode
ZipCode Cep do Brazil
Stars: ✭ 43 (-2.27%)
Mutual labels:  cep
brasiltts
Brasil TTS é um conjunto de sintetizadores de voz, em português do Brasil, que lê telas para portadores de deficiência visual. Transforma texto em áudio, permitindo que pessoas cegas ou com baixa visão tenham acesso ao conteúdo exibido na tela. Embora o principal público-alvo de sistemas de conversão texto-fala – como o Brasil TTS – seja formado…
Stars: ✭ 34 (-22.73%)
Mutual labels:  brasil
graphql-cep
Query any CEP using GraphQL - https://graphql-cep-liimjftpnr.now.sh
Stars: ✭ 22 (-50%)
Mutual labels:  cep
insomnia-plugin-documents-br
O plugin tem a finalidade de gerar documentos e alguns dados mais usados, o foco é para dados do Brasil.
Stars: ✭ 21 (-52.27%)
Mutual labels:  brasil
PySiddhi
Python wrapper for Siddhi engine
Stars: ✭ 22 (-50%)
Mutual labels:  cep
fiware-cepheus
FIWARE Cepheus - CEP for NGSI IoT gateways
Stars: ✭ 17 (-61.36%)
Mutual labels:  cep
esper-demo-nuclear
Simple demo of some features of the Esper Complex Event Processing (CEP) engine.
Stars: ✭ 83 (+88.64%)
Mutual labels:  cep
ibge
🌎 Data collection of geographical divisions of Brazil by IBGE (https://servicodados.ibge.gov.br/api/docs)
Stars: ✭ 28 (-36.36%)
Mutual labels:  brasil

ViaCEP - Consulte CEP de todo o Brasil

Delphi Supported Versions Platforms Compatibility

Pré-requisitos

  • [Opcional] Para facilitar o gerenciamento de dependências, eu recomendo utilizar o Boss.
    • Boss - Gerenciador de dependências para Delphi
  • Possuir as dlls libeay32.dll e ssleay32.dll na pasta do projeto junto ao executável.

Instalação utilizando o Boss

boss install github.com/viniciussanchez/viacep

Instalação manual

Adicione a seguinte pasta no seu projeto em Project > Options > Resource Compiler > Directories and Conditionals > Include file search path

../viacep/src

Começando

Você vai precisar fazer o uses das seguintes units: ViaCEP.Intf, ViaCEP.Core, ViaCEP.Model

uses ViaCEP.Intf, ViaCEP.Core, ViaCEP.Model;

Validando um CEP

Quando consultado um CEP de formato inválido, por exemplo: 950100100 (9 dígitos), 95010A10 (alfanumérico), 95 01010 (espaço), o retorno será nil.

O método de validar se é um CEP válido ou não, apenas certifica-se de que o CEP informado possui 8 dígitos e que todos sejam numéricos, podendo ser acessado antes de consultar o webservice por meio da interface IViaCEP, utilizando o método Validate.

Quando consultado um CEP de formato válido, porém inexistente, por exemplo: 99999999, o retorno também será nil. Isso significa que o CEP consultado não foi encontrado na base de dados.

Exemplo:

var
  ViaCEP: IViaCEP;
begin
  ViaCEP := TViaCEP.Create;
  if ViaCEP.Validate('01001000') then
    ShowMessage('CEP válido')
  else
    ShowMessage('CEP inválido');
end;

Vale lembrar que no método acima, não é necessário destruir a instância criada da classe TViaCEP, pelo fato de estar utilizando uma Interface.

Consultando um CEP

var
  ViaCEP: IViaCEP;
  CEP: TViaCEPClass;
begin
  ViaCEP := TViaCEP.Create;
  // Aqui você pode chamar a rotina para validar se é um CEP válido.
  CEP := ViaCEP.Get(edtCEPConsultar.Text);
  if not Assigned(CEP) then
    Exit; // Aqui você pode exibir uma mensagem para o usuário falando que o CEP não foi encontrado.
  try
    edtJSON.Lines.Text := CEP.ToJSONString;
    edtCEP.Text := CEP.CEP;
    edtLogradouro.Text := CEP.Logradouro;
    edtComplemento.Text := CEP.Complemento;
    edtBairro.Text := CEP.Bairro;
    edtLocalidade.Text := CEP.Localidade;
    edtUF.Text := CEP.UF;
    edtDDD.Text := CEP.DDD;
    edtIBGE.Text := CEP.IBGE;
    edtGIA.Text := CEP.GIA;
  finally
    CEP.Free;
  end;
end;

Retorno da consulta no formato JSON

Após realizar a consulta do CEP, você pode pegar o conteúdo retornado no formato JSON utilizando a método .ToJSONString disponível na classe TViaCEPClass. Veja o exemplo abaixo, onde é populado um TMemo com o conteúdo da consulta:

var
  CEP: TViaCEPClass;
begin
  Memo.Lines.Text := CEP.ToJSONString;
end;
{
  "cep": "01001-000",
  "logradouro": "Praça da Sé",
  "complemento": "lado ímpar",
  "bairro": "Sé",
  "localidade": "São Paulo",
  "uf": "SP",
  "ddd": "",
  "ibge": "3550308",
  "gia": "1004"
}

Achou um CEP desatualizado?

Acesse o formulário e atualize on-line: Atualizar CEP

Links úteis

Origem código IBGE dos municípios: Acessar Site

Origem código GIA/ICMS (apenas SP disponível): Visualizar PDF (Pág.137)

ViaCEP - Webservice CEP e IBGE gratuito: Acessar Site

viacep

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].