• 0
GARO4525319

Problema al intentar ordenar publicaciones

Question

Buenas, tengo un problema y no le encuentro la vuelta. Estoy laburando en PHP y justo es algo que no esta documentado en los recursos de la API, le comento el caso:

 

1 - Hago un GET a '/users/'.$seller_id.'/items/search' y le paso el param "order" como "start_time_desc". Hasta ahi ok, si levanto los $results, me tira un array con los IDS de las publicaciones ordenadas segun start_time_desc. (ahora explico otra cosa que no logro entender respecto a "order")

2 - Con ese array e IDS, lo paso a un string separado por commas ($ids) para usar con un GET /items?ids='.$ids.'. Con eso obtengo los datos de cada publicacion. 

 

Hasta ahi todo fenomeno, pero el segundo GET /items?ids, no me esta respetando el orden.Me los tira al azar y ya probe volver a pasar el parametro "order" en el items?ids, pero nada. Creí que era evidente que el orden del result de esa url iba a ser el mismísimo orden de esos IDS pasados... pero nop!!

Lo otro que digo ahi que no logro entender del "order" es que también probé pasando "orders" (la S), y también funciona. Me refiero al primer GET /users.../items/search. Y no encontre nada documentado puntual sobre como usar "order" u "orders" en los parametros.

 

Tonces, ¿como logro hacer que me respete el orden de los IDS pasados en el GET /items?ids ?
 

A ver, perfectamente podría agarrar ese array de IDS, y hacer un foreach y a cada ítem hacer un GET por separado para solo ese ID, pero la idea es no hacer varios GET, sino uno solo para todo. supongo ademas que para eso existe /items?ids.

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Ah por cierto, estoy usando el SDK Meli y es cuando lo uso para hacer el ->get que me pasa esto. Si voy directo a la url generada, tipo:

https://api.mercadolibre.com/items?ids=MLUXXXXXX001,MLUXXXXXX002,MLUXXXXXX003?access_token=APP_XXX-2004166195814816-XXXXXX-2c6ca846ff51bce9104979d7fbadd59c-XXXXXXXX

Ahi si me respeta el orden de los IDS pasados.

Pero si eso mismo lo hago por Meli, me pasa lo que digo antes. Y lo único que estoy haciendo es:

 

$url = '/items?ids='.$ids.'';  

$items = $meli->get($url,$params);

 

Donde $params lleva el $access_token.

 

Ahora si que no entiendo porque la URL si me ordena bien y si lo hago por Meli no, deberia ser lo mismo o no?

 

Share this post


Link to post
Share on other sites
  • 0

$params = array('ids' =>  'MLUXXXXXX001,MLUXXXXXX002,MLUXXXXXX003', 'access_token' => 'APP_XXX-2004166195814816-XXXXXX-2c6ca846ff51bce9104979d7fbadd59c-XXXXXXXX');

$url = '/items';

$items = $meli->get($url,$params);

Prueba de esa forma. Saludos cordiales.

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)
28 minutes ago, Woomelly said:

$params = array('ids' =>  'MLUXXXXXX001,MLUXXXXXX002,MLUXXXXXX003', 'access_token' => 'APP_XXX-2004166195814816-XXXXXX-2c6ca846ff51bce9104979d7fbadd59c-XXXXXXXX');

$url = '/items';

$items = $meli->get($url,$params);

Prueba de esa forma. Saludos cordiales.

Me hace lo mismo, no toma el orden de los IDS, me los ordena al azar siempre. Pero como digo antes, esto solo pasa luego de pasar la URL por Meli, si voy directo a la URL los ordena como tiene que ser.

Edito 1:  si me hace lo mismo si voy directo por URL, los ordena al azar en cada refresh.

El SDK de Meli que estoy usando es tal cual el que esta en github: https://github.com/mercadolibre/php-sdk

Solo cambie el CURLOPT_SSL_VERIFYPEER a false para hacer test locales. No creo que eso tenga algo que ver de todos modos.

Voy a probar hacer algun CURL sin el meli a ver que me tira.... 😞

Edito 2: Ya probé sin meli, es lo mismo, pasa ya a nivel de respuesta desde https://api.mercadolibre.com/items?ids= directamente.

Edited by GARO4525319

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