• 0
Sign in to follow this  
Felipe

Pegar tracking_number

Question

Estou fazendo um get onde retorna o código de rastreamento, mas o grande problema que da forma que faço, tenho que fazer loop, daí trava ... Gostaria de pegar todos os códigos de rastreio de uma só vez, semelhante ao get /orders/search/ pois existe diversos dados que tenho que pegar :

$FRETE_URL = '/orders/'.$value->id.'/shipments/';
$frete = $meli->get($FRETE_URL, array("access_token" => $_SESSION['access_token']));

 

Portanto gostaria de saber se é possível pegar uma grande quantidade de pedidos de uma só vez, com todas as informações referentes a compra, e que mostre o código de rastreio (tracking_number).

 

ATT

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 1
On 27/12/2017 at 1:34 AM, Felipe said:

@rodrigojob @mldev Andei fazendo testes, e é assustador as diferença durante as requisições.

 

1º - No dia dessas postagem, utilizei apenas de php, o que demora muitos minutos para carregar e trava tudo...

2º - Em um segundo momento, passei a utilizar o método $.ajax do jquery, chamando um arquivo php. O que melhorou a performance. Eram em torno de 151 requisições, demorando um pouco mais de 1 minutos, sendo desses, uns 20 segundos apenas o ML... 

3º - Hoje passei apenas para jquery (getJSON), sem passar para um arquivo PHP, e é assustador a diferença, em torno de 3 segundos 51 requisições do ML são carregadas.  As dos CORREIOS, que ainda se utilizam de PHP (XML), se finalizam em 25 segundos.

 

Amanhã tentarei puxar diretamente por JQUERY a api dos CORREIOS, não sei se será possível por ser XML. Mas se for possível, tenho certeza que em alguns segundos carregarei tudo...

 

Obs: Tenho dúvidas em relação a integridade do sistema, pois tive que imprimir access_token no javascript, e estou localmente, não sei qual será o comportamento quando adicionar em HTTPS...

 

dicas:

1. se o seu código PHP está demorando é capacidade de processamento do seu servidor ou a forma como estruturou seu código

2. utilizar XmlHttpRequest, ou popularmente conhecido como ajax, não vai melhor a performance de seu PHP, o que ocorre é que você provavelmente estava fazendo 151 requesições separadamente em sequência pelo PHP e com configuração de saída única da dados na tela, ou seja, seu PHP só liberava o resultado ao final de todo processamento (isso pode ser alterado na configuração de seu PHP), já com o Ajax você pode fazer isso de forma assíncrona em relação ao carregamento da página e uma por uma, exibindo a resposta de cada consulta assim que disponível, porém há um limite de cada navegador para a quantidade de requisições em simultâneo (e que são compartilhadas com outros recursos da página, como por exemplo imagens)

3. quanto a integridade e uso direto da chamada Ajax para a PAI do ML: se o sistema for para uso test interno até dá para usar dessa forma, porém se for para usar em produção esqueça, pois o access_token fica totalmente disponível na página do lado do cliente, o que é uma péssima prática (nunca use dessa forma)

4. se for só para o Ajax não vejo a necessidade do JQuery (aliás, nunca vejo necessidade do JQuery), ao invés de adicionar toda uma biblioteca você pode fazer a chamada em Javascript puro, de forma prática e rápida

5. não é uma boa prática realizar consultas de recursos chave via API, sistemas como Mercado Livre e Correios tem instabilidades, deixam de exibir dados com o passar do tempo, etc ... o ideal é você guardar todos os dados prioritários (como dados de vendas) em seu banco de dados e fazer a consulta diretamente no DB ao invés de se apoiar tanto na API

6. HTTPS sempre!

Share this post


Link to post
Share on other sites
  • 0
5 hours ago, rodrigojob said:

Dê uma olhada nisso 

 

Prezado... pelo visto não tem como? correto?

 

Eu vejo alguns sites fazendo este tipo de retorno...  eles buscam dentro do seu banco de dados???

 

Existe algum campo tipo "data"???

 

Tipo, onde eu possa armazenar qualquer tipo de informação extra???  e depois retorná-la de acordo com o pedido???

Share this post


Link to post
Share on other sites
  • 0
On 18/12/2017 at 4:11 PM, Felipe said:

Prezado... pelo visto não tem como? correto?

 

Eu vejo alguns sites fazendo este tipo de retorno...  eles buscam dentro do seu banco de dados???

 

Existe algum campo tipo "data"???

 

Tipo, onde eu possa armazenar qualquer tipo de informação extra???  e depois retorná-la de acordo com o pedido???

use o recurso de anotações na parte de pedidos

Share this post


Link to post
Share on other sites
  • 0
On 17/12/2017 at 10:57 AM, Felipe said:

Estou fazendo um get onde retorna o código de rastreamento, mas o grande problema que da forma que faço, tenho que fazer loop, daí trava ... Gostaria de pegar todos os códigos de rastreio de uma só vez, semelhante ao get /orders/search/ pois existe diversos dados que tenho que pegar :


$FRETE_URL = '/orders/'.$value->id.'/shipments/';
$frete = $meli->get($FRETE_URL, array("access_token" => $_SESSION['access_token']));

 

Portanto gostaria de saber se é possível pegar uma grande quantidade de pedidos de uma só vez, com todas as informações referentes a compra, e que mostre o código de rastreio (tracking_number).

 

ATT

@rodrigojob @mldev Andei fazendo testes, e é assustador as diferença durante as requisições.

 

1º - No dia dessas postagem, utilizei apenas de php, o que demora muitos minutos para carregar e trava tudo...

2º - Em um segundo momento, passei a utilizar o método $.ajax do jquery, chamando um arquivo php. O que melhorou a performance. Eram em torno de 151 requisições, demorando um pouco mais de 1 minutos, sendo desses, uns 20 segundos apenas o ML... 

3º - Hoje passei apenas para jquery (getJSON), sem passar para um arquivo PHP, e é assustador a diferença, em torno de 3 segundos 51 requisições do ML são carregadas.  As dos CORREIOS, que ainda se utilizam de PHP (XML), se finalizam em 25 segundos.

 

Amanhã tentarei puxar diretamente por JQUERY a api dos CORREIOS, não sei se será possível por ser XML. Mas se for possível, tenho certeza que em alguns segundos carregarei tudo...

 

Obs: Tenho dúvidas em relação a integridade do sistema, pois tive que imprimir access_token no javascript, e estou localmente, não sei qual será o comportamento quando adicionar em HTTPS...

 

Share this post


Link to post
Share on other sites
  • 0
On 23/12/2017 at 1:11 PM, rodrigojob said:

existe sim, tem um campo comments ou algo parecido.
Você acessa o front-end ou é um programador no escuro?
No front-end você tem um campo "comentários"

@rodrigojob Prezado, você fala desse results[0].buyer.comments ? Ele é mostrado em algumas parte do painel do ML?

Edited by Felipe

Share this post


Link to post
Share on other sites
  • 0
On 23/12/2017 at 5:14 PM, mldev said:

use o recurso de anotações na parte de pedidos

@mldev Você também fala desse results[0].buyer.comments ? é o mesmo que anotações??

Share this post


Link to post
Share on other sites
  • 0
On 27/12/2017 at 4:41 PM, Felipe said:

@rodrigojob Prezado, você fala desse results[0].buyer.comments ? Ele é mostrado em algumas parte do painel do ML?

Nope!

1- você tornou o seu post um tira dúvida geral. Quem precisar saber sob tracking_number terá dificuldade de entender. E não deve ter pesquisado no fórum, pois esta duvida já havia sido respondida. Então, pelo visto, você não usa muito fóruns.

2. Te fiz uma pergunta e você não respondeu "é um desenvolvedor no escuro?" , no front-end há um campo tipo texto aberto ["data"].  Chama-se "Comentários" e na API ele é o "notes"
Eu tentei "comments", retornou coisas corretas, mas não é usado!
Depois tentei "comentários" e retornou está página, onde percebi que o correto seria "anotação".

http://developers.mercadolibre.com/pt-br/gerenciamento-de-vendas/ , procure por "anotação".

Para criar/desenvolver é necessário pesquisar!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this