Closed Da-ntas closed 2 years ago
Correios encerrou o acesso aberto a rota (https://proxyapp.correios.com.br/), agora tem que fazer um pedido no https://cws.correios.com.br/.
Eles fornecem novas rotas api.correios.com.br
que responde igual ao proxyapp.correios.com.br
, mas antes tem que gerar um token e ter alguns acesso. Todo pedido pode demorar um pouco.
Alguém conseguiu usar a API dos Correios ? Não estou conseguindo usar a API mais que não requer autenticação.
Alguém conseguiu usar a API dos Correios ? Não estou conseguindo usar a API mais que não requer autenticação.
Foi desativada, pra conseguir o acesso ao webservice (https://cws.correios.com.br/) precisa fazer um registro no https://www.correios.com.br/correios-facil/correios-facil com o contrato no modelo Bronze.
Fala pessoal. Consegui corrigir a biblioteca, para funcionar com o novo update. Vejam o PR #43. Nenhuma breaking change existe, e continua funcionando normalmente como antes com o patch.
Abraços!
Fala pessoal. Consegui corrigir a biblioteca, para funcionar com o novo update. Vejam o PR #43. Nenhuma breaking change existe, e continua funcionando normalmente como antes com o patch.
Abraços!
Pra testar eu adaptei sua logica em outro script aqui e funcionou perfeitamente, mas qual a chance do REQUEST_TOKEN
trocar no futuro?
eu precisava disso ASAP, e publiquei no npm como correios-brasil2
. Se quiser testar também, é só rodar yarn test
(criei um test suite pra ele).
A chance disso trocar eu não sei, só vamos saber com o tempo... mas deve ser a mesma chance deles mudarem algo no app: 1 vez a cada 1-2 anos talvez?
Pelo que debuguei/fiz de engenharia reversa, esse token é fixo independente do dispositivo ou instalação do app. Por isso coloquei como fixo no código, realmente parece ser "uma chave" privada (que é pública rs)
@ivanseidel & @altendorfme pelo que eu analisei o PR #43 vocês fizeram apenas um post na URL 'https://proxyapp.correios.com.br/v1/app-validation' mandando como parâmetro no corpo o token que esta na variável "REQUEST_TOKEN", e em seguida, o json retorna o Token e vocês guardam ele para usar no header na URL "PROXYAPP_RASTREAR", certo? Porque tentei fazer isto aqui por fora, e não consegui, conseguem confirmar se foram feito apenas esses passos mesmo ou se me perdi no PR rs.
@ivanseidel & @altendorfme pelo que eu analisei o PR #43 vocês fizeram apenas um post na URL 'https://proxyapp.correios.com.br/v1/app-validation' mandando como parâmetro no corpo o token que esta na variável "REQUEST_TOKEN", e em seguida, o json retorna o Token e vocês guardam ele para usar no header na URL "PROXYAPP_RASTREAR", certo? Porque tentei fazer isto aqui por fora, e não consegui, conseguem confirmar se foram feito apenas esses passos mesmo ou se me perdi no PR rs.
@ivanseidel & @altendorfme pelo que eu analisei o PR #43 vocês fizeram apenas um post na URL 'https://proxyapp.correios.com.br/v1/app-validation' mandando como parâmetro no corpo o token que esta na variável "REQUEST_TOKEN", e em seguida, o json retorna o Token e vocês guardam ele para usar no header na URL "PROXYAPP_RASTREAR", certo? Porque tentei fazer isto aqui por fora, e não consegui, conseguem confirmar se foram feito apenas esses passos mesmo ou se me perdi no PR rs.
solicitei acesso ai @altendorfme, se conseguir autorizar para eu verificar :D
solicitei acesso ai @altendorfme, se conseguir autorizar para eu verificar :D
Atualizei a URL do post original para um projeto publico no Postman.
@ivanseidel & @altendorfme pelo que eu analisei o PR #43 vocês fizeram apenas um post na URL 'https://proxyapp.correios.com.br/v1/app-validation' mandando como parâmetro no corpo o token que esta na variável "REQUEST_TOKEN", e em seguida, o json retorna o Token e vocês guardam ele para usar no header na URL "PROXYAPP_RASTREAR", certo? Porque tentei fazer isto aqui por fora, e não consegui, conseguem confirmar se foram feito apenas esses passos mesmo ou se me perdi no PR rs.
O lance principal, é usar o user-agent: Dart/2.18 (dart:io)
e o token é um header não-formal: app-check-token: {token-sem-bearer-nem-nada}
Se você estiver fazendo requisições do frontend, pode ser que ele esteja impedido de enviar o header app-check-token
por CORS
(você deve perceber o envio de um request OPTIONS
como comportamento). De fato, é impossível utilizar essa API diretamente do front sem um backend de proxy. É esse o caso?
solicitei acesso ai @altendorfme, se conseguir autorizar para eu verificar :D
Atualizei a URL do post original para um projeto publico no Postman.
muito obrigado
@ivanseidel & @altendorfme pelo que eu analisei o PR #43 vocês fizeram apenas um post na URL 'https://proxyapp.correios.com.br/v1/app-validation' mandando como parâmetro no corpo o token que esta na variável "REQUEST_TOKEN", e em seguida, o json retorna o Token e vocês guardam ele para usar no header na URL "PROXYAPP_RASTREAR", certo? Porque tentei fazer isto aqui por fora, e não consegui, conseguem confirmar se foram feito apenas esses passos mesmo ou se me perdi no PR rs.
O lance principal, é usar o
user-agent: Dart/2.18 (dart:io)
e o token é um header não-formal:app-check-token: {token-sem-bearer-nem-nada}
Se você estiver fazendo requisições do frontend, pode ser que ele esteja impedido de enviar o header
app-check-token
porCORS
(você deve perceber o envio de um requestOPTIONS
como comportamento). De fato, é impossível utilizar essa API diretamente do front sem um backend de proxy. É esse o caso?
Não é o meu caso não, testei em Python e funcionou 100%. Vou usar em um APP agora que estou terminando de desenvolver em Flutter, colocando os devidos créditos, muito obrigado.!
@ivanseidel muito obrigado pela contribuição, estava sem tempo para verificar a correção deste problema. Já testei por aqui e tudo certo, dei o Merge e subi uma nova versão no NPM.
Obrigado a todos.
Código:
Retorno: