[Resolvido] Bot para rastrear encomendas

Minha intenção é criar um chatbot que quando a pessoa insira o código de rastreio dos correios, o mesmo diga a situação do pacote. É possível isso?

Sim é, mas você vai precisar utilizar a API dos correios!

1 Curtida

Para obter a API dos correios seria usando este documento?
https://www.correios.com.br/a-a-z/pdf/rastreamento-de-objetos/manual_rastreamentoobjetosws.pdf

Não sei exatamente, mas acredito que seja esse documento sim!

Certo. E existe alguma maneira de usar este link: https://www.linkcorreios.com.br/ para que o chatbot responda com as informações sobre a encomenda?

Se você fizer o tratamento das informações acredito que consiga fazer com este link sim, inclusive neste site que você mandou tem uma informação adicional para utilizar > https://www.linkcorreios.com.br/XXXXXXXXXXXXX < para que faça o rastreamento

Mas volto a falar, acho que se utilizar a api deles vai ser mais fácil para você pois o request retorna exatamente a informação que você precisa

Creio que não estou sabendo como fazer o tratamento das mensagens.
1° não sei ao certo como pegar o código que o usuário vai inserir;
2° como deve ficar os parâmetros de requisição HTTP;

Estou utilizando desta maneira, não sei bem se é o certo;
O link que estou usando é desta maneira https://www.linkcorreios.com.br/?id={{@idtracking}}

Fui dar uma olhada melhor e acho que você não vai conseguir através desse link

Eu acho que não pq esse link não tem um retorno em forma de request, acho que tu vai precisar usar um request na api dos correios mesmo!

Exemplo com request na api do google

Então acho que não irá funcionar. Já que pra usar o rastreio tem que entrar em contato com os correios e fazer algumas burocracias.

Vai precisar usar isso https://www.correios.com.br/a-a-z/pdf/rastreamento-de-objetos/manual_rastreamentoobjetosws.pdf

Então, olhando este documento tem uma seção onde diz que é preciso fazer contrato para ter o login e senha, pra dai poder acessar o banco de dados.

@Leonardo_Souza quando preciso consultar status de rastreamento dos correios eu uso a api json do site Link & Track, é bem simples de usar: Basta fazer uma requisição GET para o endereço http://http://www.linketrack.com/AA123456789BR/json onde AA123456789BR você substitui pelo código de rastreamento a pesquisar. O resultado é o seguinte:

{
  "codigo": "AA123456789BR",
  "eventos": [
    {
     "data": "31/07/2018",
     "hora": "08:14",
     "local": "MARACAJU / MS",
     "status": "Destinatário não retirou objeto na Unidade dos Correios Objeto será devolvido ao remetente"
   },
   {
      "data": "10/07/2018",
      "hora": "15:59",
      "local": "MARACAJU / MS",
      "status": "Objeto disponível para retirada em Caixa Postal  AV JOAO PEDRO FERNANDES, 2500 -  - CENTROMARACAJU / MS"
   }
  ]
 }

A api também retorna xml e csv, é só alterar o final da url de json para a preferida.

1 Curtida

Oi! Então, para retornar o campo status para a mensagem ao cliente eu estou tentando usar {{result@status}} mas não retorna nada.

A API está funcionando perfeitamente pq quando eu uso {{result@eventos}} ele traz todo o histórico.

Não estou sabendo montar a variável de retorno para exibir as ultimas mensagens como Data, Hora, Local e Status.

Alguém pode me ajudar por favor?

A propriedade ‘status’ está dentro de um array no JSON, então você so vai conseguir acessá-lo através de uma função javascript

Obrigado pela resposta. Pesquisei sobre script aqui e não consegui entender muito bem.

Obrigado!

Basicamente, quando voce receber o JSON de retorno da requisição. voce terá que criar um script e colocar o json como entrada. com isso voce vai conseguir acessar os objetos do array do json. EX:

run(result){
json = JSON.parse(result);
status = json.eventos[0].status;

return status
}
1 Curtida

Obrigado! Vou tentar aqui e te falo já!