GabrielRF / RastreioBot

Telegram Bot @RastreioBot
https://rastreiobot.xyz
GNU General Public License v3.0
365 stars 56 forks source link

Implementação Loggi #138

Closed fbidu closed 2 years ago

fbidu commented 2 years ago

Olá gente! Primeira contribuição aqui

Bem, eu comecei o trabalho na issue sobre a Loggi, #45. Infelizmente, eu não tô conseguindo criar uma conta no ambiente de staging deles, me parece fora do ar.

Enquanto comecei a implementar, li a documentação e encontrei:

Para realizar a integração o cliente necessita ter uma conta Pessoa Jurídica ou o cadastro necessita ser do tipo CorporateUser. Caso o mesmo tente realizar a integração com uma conta de Pessoa Física, será retornado o erro “Forbidden. User should be a corporate user to access”.

Isso me faz pensar que a API seja limitada a pessoas que enviam pacotes e não para que um cliente final que está aguardando um pacote consiga acompanhar o status. Como eu não estou aguardando um pacote da Loggi no momento e sem acesso ao ambiente de staging, não consigo testar essa hipótese :(

De qualquer forma, vou deixar o início da minha implementação aqui. Depois tento acessar staging de novo e ver se é possível ou não escrever o acesso do cliente

rougeth commented 2 years ago

Boa @fbidu! Minha impressão é a mesma que a sua, e parece ser como a API do Mercado Livre. A API de rastreamento de pacotes funciona para quem os enviou, não é possível rastrear qualquer pacote dentro da plataforma.

rougeth commented 2 years ago

Só mais um comentário (desculpa não ter mandando na primeira revisão), você consegue criar alguns testes nesse PR?

fbidu commented 2 years ago

@rougeth vou fechar porque de fato o acesso é só pra quem enviou :( Discuti isso com um colega que já criou integração assim. Se tiver outra estrategia que é ok pra esse projeto (web scraping?) me avisa que eu reabro e continuo!

leandrobattochio commented 1 year ago

@fbidu

Boa noite. Para realizar o rastreio de um pacote para um consumidor final, sem necessidade de conta com CNPJ é bem simples. Basta tentar fazer a solicitação de rastreio usando o site normal deles com o console do chrome aberto. São 4 requests GraphQL que são enviados, apenas com um cookie. Sem nenhuma autenticação. Se tiver interesse me avisa que te mando os esquemas mas não tem segredo.

Só que ele retorna aparentemente apenas o ultimo estado e não um histórico pra gente poder montar. Ao menos, se alguém desenvolvesse um rastreador que fosse rastreando desde o primeiro momento talvez dê pra montar um histórico do pedido dessa maneira, se não tiver como fazer o GraphQL deles trazer isso pronto.

fbidu commented 1 year ago

@leandrobattochio obrigado pela info! Infelizmente eu n vou conseguir implementar algo assim por esses dias, mas se vc quiser assumir, pode continuar do trabalho que deixei aqui :D