cep-promise
cep-promise copied to clipboard
Alteração no método de obtenção dos correios
Olá pessoal, tudo beleza?
Primeiro peço desculpas se é uma issue duplicada (nas abertas não encontrei nada sobre, e o código da versão atual ainda usa a consulta por soap)
Então, ultimamente notei algumas alterações de layout dos correios, dentre as quais aparentemente passaram a chamar uma API tanto para a busca de rastreamento quanto para a busca de cep, de forma que seria mais interessante do que ficar destrinchando o retorno soap:
O endpoint para a busca nova de CEP é https://buscacepinter.correios.com.br/app/endereco/carrega-cep-endereco.php Até onde analisei a requisição POST para chamá-lo recebe os seguintes parâmetros
endereco: //recebe o cep, parte dele ou um termo (endereço, unidade dos correios, etc.) para pesquisa
tipoCEP //recebe os valores ALL (Todos), LOG (Lograduros), PRO (CEP Promocional), CPC (Cx Postal Comunitaria), GRU (Grande Usuário) e UOP (Unidade Operacional)
No caso de sucesso retorna a seguinte estrutura:
{
"erro": false,
"mensagem": "DADOS ENCONTRADOS COM SUCESSO.",
"total": 1,
"dados": [ //A depender da quantidade de resultados com uma busca por nome ou cep parcial é retornado os 50 primeiros
{
"uf": "SP",
"localidade": "Itarar\u00e9",
"locNoSem": "",
"locNu": "",
"localidadeSubordinada": "",
"logradouroDNEC": "Rua S\u00e3o Pedro - at\u00e9 2600\/2601",
"logradouroTextoAdicional": "",
"logradouroTexto": "",
"bairro": "Centro",
"baiNu": "",
"nomeUnidade": "",
"cep": "18460009",
"tipoCep": "2",
"numeroLocalidade": "",
"situacao": "",
"faixasCaixaPostal": [],
"faixasCep": []
}
]
}
No caso de falhas as seguintes situações foram encontradas:
Valor inválido em endereco, Valor inválido ou nulo em tipoCEP,
{
"erro": false,
"mensagem": "DADOS NAO ENCONTRADOS",
"total": 0,
"dados": []
}
Request vazia, Valor nulo em endereco: retorna a seguinte estrutura:
{
"erro": false,
"mensagem": "DADOS NAO INFORMADO",
"total": 0,
"dados": []
}
TipoCEP ou endereco não passado na request: 302 para a index dos correios
Enfim, é isso que consegui obter por essa api que os correios estão usando para a consulta pública
Opaa, sou a favor de brincar com essa nova API hein!
Pelo que entendi essa é em JSON mesmo né? Topo em criar um novo provedor pra validar e se tudo der certo a gnt fazer a migração do antigo pro novo hein :eyes: :heart:
Exemplo de consulta por cep
curl --request POST \
--url https://buscacepinter.correios.com.br/app/cep/carrega-cep.php \
--data cep=78302-050
#199