Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
TheKoakuma opened this issue Aug 25, 2021 · 3 comments
Open

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

TheKoakuma opened this issue Aug 25, 2021 · 3 comments

Comments

@TheKoakuma
Copy link

TheKoakuma commented Aug 25, 2021

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

@lucianopf
Copy link
Member

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 👀 ❤️

@kivervinicius
Copy link

kivervinicius commented Sep 20, 2021

Exemplo de consulta por cep

curl --request POST \
  --url https://buscacepinter.correios.com.br/app/cep/carrega-cep.php \
  --data cep=78302-050

@TheKoakuma
Copy link
Author

#199

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants