BrasilAPI / BrasilAPI/cep-promise

Alteração no método de obtenção dos correios

Open
#227 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3k
Forks
317
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.