API de CEP Correios
24/11/2016
0
Henrique
Post mais votado
24/11/2016
Jones Granatyr
Mais Posts
18/07/2018
Sandro Lemes
Hoje já existe o WebService Nativo dos Correios, disponibilizado gratuitamente !
Vide o tópico:
https://www.devmedia.com.br/forum/consulta-cep-entre-outros-servicos-direto-no-webservice-dos-correios-a-partir-do-delphi-7-acima/591246
Att.
Sandro Lemes
16/10/2019
Réulison Silva
Utilize a REST API da WebmaniaBR® para consultar o CEP nos Correios e o IBGE grátis. Perfeito para preenchimento automático de formulários e validar endereços através do CEP.
Guia Rápido
Todas as solicitações na API devem ser realizadas em ambiente criptografado HTTPS através da URL https://webmaniabr.com/api/. O prefixo /1/ indica que atualmente nós estamos utilizando a versão 1.0 da API.
URL HTTP Verb Função
/1/cep/ GET Consulta de CEP
Todas as respostas são no formato objeto JSON.
Javascript
Utilize o jQuery da WebmaniaBR® para consultas Ajax nos Correios, com preenchimento automático do formulário.
<script src="jquery.js"></script> <script src="jquery.correios.min.js"></script> <script> jQuery(function($){ correios.init( 'app_key', 'app_secret' ); $('cep').correios( 'endereco', 'bairro', 'cidade', 'uf' ); }); </script>
Autenticação
Envie na URL de solicitação os parâmetros app_key e app_secret da sua aplicação. Não possui ainda uma aplicação? Preencha o seu e-mail no formulário abaixo para receber as suas credenciais grátis.
Consultar CEP
Para realizar a consulta do CEP envie a requisição no método GET para a URL /1/cep/0000-000/, com as credenciais da sua aplicação. Segue abaixo exemplo:
curl -X GET \\ https://webmaniabr.com/api/1/cep/80540-180/?app_key=NHRvLagxDUWw70Guhd4fMSKccftSjvtL&app_secret=qVB3AmE2N5UKSL2ok01YP6gVUEqERYQLiPGtye65C6OQZAd0
A resposta do corpo da mensagem será no formato objeto JSON, contendo os campos endereco, bairro, cidade, uf, cep e ibge:
{ "endereco": "Avenida Anita Garibaldi", "bairro": "Ahú", "cidade": "Curitiba", "uf": "PR", "cep": "80540-180", "ibge": "4106902" }
Uma requisição bem sucedida é indicada através do status HTTP, o status 2xx indica sucesso. Quando uma requisição ocorre falha o corpo da resposta [body] continua no formato JSON, mas sempre contém o campo error. Caso o CEP seja inválido ou não seja localizado o endereço, será retornado a seguinte mensagem:
{ "error": "CEP não encontrado" }
Infraestrutura
O servidores da WebmaniaBR estão localizados na Amazon AWS, líder global em cloud computing, na região us-east-1 (Leste dos EUA) com ponto de presença em sa-east-1 (São Paulo). Manter a sua estrutura perto de algumas das duas localidades, garante um menor tempo de resposta nas requisições na API.
Utilizamos uma infraestrutura na Amazon AWS anycast de alta disponibilidade, o que significa que ao se comunicar com API da WebmaniaBR a requisição será redirecionada para o servidor mais próximo da sua localidade. As comunicações são sempre realizadas por nossos IP's estáticos:
13.248.145.90
76.223.17.240
Todos os arquivos são armazenados na Amazon S3 que garante 99,999999999% de durabilidade dos arquivos e criptografia de ponta a ponta.
Limite de requisições
A WebmaniaBR® aplica um limite de até 2 solicitações por segundo ou 3.000 requisições por mês, calculado com a soma das solicitações do lado do cliente e do lado do servidor. Se o aplicativo exceder o limite inicial, apresentará falhas.
Localização do servidor: O firewall bloqueia por padrão o IP de servidores em regiões com alto índice de ataques, como na Europa e na Ásia oriental. Caso a sua comunicação via GET no endpoint https://webmaniabr.com/api/ retorne 403 Erro Forbidden entre em contato para liberarmos o IP do seu servidor.
Credenciais de acesso: Os endpoints exigem as credenciais de acesso válida e correta na URI da requisição, o envio incorreto é atribuído como uso indevido da API.
25/08/2020
Francisco Ribeiro
Quero acessar, diretamente, os web service do IBGE e/ou Correios, pois quero ter certeza da origem e qualidade das informações. Alguém pode me dizer como faço isso??
26/08/2020
Thomas Vieira
Quero acessar, diretamente, os web service do IBGE e/ou Correios, pois quero ter certeza da origem e qualidade das informações. Alguém pode me dizer como faço isso??
Bom dia,
Segue abaixo link com todos os endpoints gratuitos do IBGE:
https://servicodados.ibge.gov.br/api/docs/localidades?versao=1#api-_
O retorno dos dados é sempre em JSON
Para retorno de dados referente às unidades da federação(estados) o endpoint é:
https://servicodados.ibge.gov.br/api/v1/localidades/estados
Você vai receber uma lista com todas as UFs. Você pode pegar o ID e consultar todos os municípios pelo endpoint:
https://servicodados.ibge.gov.br/api/v1/localidades/estados//municipios
No caso dos Correios é um pouco mais complicado. A consulta pública deve ser realizada utilizando Webservices, mas mesmo assim tem solução. :o)
Segue abaixo código simplificado em node, utilizando o soap:
import { Router } from 'express';
import * as soap from 'soap';
const addressesRouter = Router();
addressesRouter.get('/:cep', async (request, response) => {
const { params } = request;
const cep = parseInt(params.cep, 10);
await soap.createClient(
'https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl',
(err, client) => {
client.consultaCEP({ cep }, (err, res) => {
return response.json(res);
});
},
);
});
export default addressesRouter;
[/code]
Espero ter ajudado!
Abraço,
Thomas Eusebio Vieira
27/08/2020
Fernando Bueno
CEP Busca por CEP com múltiplos providers de fallback. GET https://brasilapi.com.br/api/cep/v1/[cep] Consulta com sucesso // GET https://brasilapi.com.br/api/cep/v1/05010000 { "cep": "05010000", "state": "SP", "city": "São Paulo", "neighborhood": "Perdizes", "street": "Rua Caiubi" } Consulta com erro // GET https://brasilapi.com.br/api/cep/v1/00000000 { "name": "CepPromiseError", "message": "Todos os serviços de CEP retornaram erro.", "type": "service_error", "errors": [ { "name": "ServiceError", "message": "CEP INVÁLIDO", "service": "correios" }, { "name": "ServiceError", "message": "CEP não encontrado na base do ViaCEP.", "service": "viacep" } ] }
Clique aqui para fazer login e interagir na Comunidade :)