• 0
Ricardo Infante

Cómo se obtiene el id de un producto recien publidado?

Question

Hola amigos, tengo el siguiente problema. quiero registrar el número ID que asigna mercadolibre a un producto nuevo en el momento en que se publica. Cuando consulto en cónsola la respuesta tiene el número id, pero no sé cómo acceder a el. Estoy confundido, intenté con php://input, pero al parecer no se puede acceder a esos datos. Alguna idea?

Array
(
    [body] => stdClass Object
        (
            [id] => MLV526736105 <<<<-----
            [site_id] => MLV
            [title] => Item De Test - No Ofertar
            [subtitle] => 
            [seller_id] => 96773693
            [category_id] => MLV60184
            [official_store_id] => 
            [price] => 10
            [base_price] => 10
            [original_price] => 
            [currency_id] => VES
            [initial_quantity] => 1
            [available_quantity] => 1
            [sold_quantity] => 0
            [sale_terms] => Array
                (

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Hola.

A como veo tu reto, es algo tan simple como accesar a informacion dentro de un array, ahi te va:

$itemInfo = array
(
    [body] => stdClass Object
        (
            [id] => MLV526736105 <<<<-----
            [site_id] => MLV
            [title] => Item De Test - No Ofertar
            [subtitle] => 
            [seller_id] => 96773693
            [category_id] => MLV60184
            [official_store_id] => 
            [price] => 10
            [base_price] => 10
            [original_price] => 
            [currency_id] => VES
            [initial_quantity] => 1
            [available_quantity] => 1
            [sold_quantity] => 0
            [sale_terms] => Array
                (

$id = $itemInfo['body']->id

Y listo.

Si estas recibiendo una notificacion, tienes que hacer un

file_get_contents('php://input')

Y ya con esto obtendras la informacion de la notificacion, que te dara un resource, creas un objeto de la clase Meli, haces un get a la API con el resource de la notificacion, y obtendras el array.

Eso es lo que te entendi, si necesitas algo mas, solo pregunta. Saludos!

 

Share this post


Link to post
Share on other sites
  • 0
10 hours ago, Ricardo Infante said:

Hola amigos, tengo el siguiente problema. quiero registrar el número ID que asigna mercadolibre a un producto nuevo en el momento en que se publica. Cuando consulto en cónsola la respuesta tiene el número id, pero no sé cómo acceder a el. Estoy confundido, intenté con php://input, pero al parecer no se puede acceder a esos datos. Alguna idea? 


Array
(
    [body] => stdClass Object
        (
            [id] => MLV526736105 <<<<-----
            [site_id] => MLV
            [title] => Item De Test - No Ofertar
            [subtitle] => 
            [seller_id] => 96773693
            [category_id] => MLV60184
            [official_store_id] => 
            [price] => 10
            [base_price] => 10
            [original_price] => 
            [currency_id] => VES
            [initial_quantity] => 1
            [available_quantity] => 1
            [sold_quantity] => 0
            [sale_terms] => Array
                (

Si usas notificaciones va a ser todo un caos porque si publicas masivamente 1000 productos recibiras 1000 notificaciones. Cuando haces POST o PUT el mismo array de te devuelve los datos del producto. Si usas PHP y el SDK solamente publicas y lee el array obtenido. Alli aparecera el ID de tu producto recien publicado o actualizado.
Saludos.

Share this post


Link to post
Share on other sites
  • 0

Si, no se si estoy por buen camino por lo siguiente, estoy sincronizando los productos de dos cuentas en mercadolibre, y para ello hice una base de datos donde están los ID de los artículos de la cuenta principal y quiero que cuando yo clone el artículo en la segunda cuenta, este ID nuevo que se crea quede registrado en mi base de datos para que luego pueda hacer actulizaciones. 

Por lo que, voy a hacer un loop, en donde se cree un nuevo artículo en la segunda cuenta y mientras se corre esa instrucción, se registre el nuevo id de la segunda cuenta en mi base de datos. Cómo hago para acceder a ese resource que sale al publicar. En pantalla se muestra si hago un Print_r del verbo put, pero no puedo acceder a la respuesta, esto es posible? 

Share this post


Link to post
Share on other sites
  • 0
10 hours ago, Woomelly said:

Si usas notificaciones va a ser todo un caos porque si publicas masivamente 1000 productos recibiras 1000 notificaciones. Cuando haces POST o PUT el mismo array de te devuelve los datos del producto. Si usas PHP y el SDK solamente publicas y lee el array obtenido. Alli aparecera el ID de tu producto recien publicado o actualizado.
Saludos.

Claro, y cómo se lee el array obtenido, eso es lo que he intentado y no me funciona, supongo que en el loop podría leer el array y obtener el ID. A ver si estoy en lo correcto, si lo hago inmediatamente luego de publicar podré leer ese array que da como respuesta la api rest?

file_get_contents('php://input')

Intenté pero no me lo lee, hice algo así: 

$id = $itemInfo['body']->id

Share this post


Link to post
Share on other sites
  • 0
11 minutes ago, Ricardo Infante said:

Claro, y cómo se lee el array obtenido, eso es lo que he intentado y no me funciona, supongo que en el loop podría leer el array y obtener el ID. A ver si estoy en lo correcto, si lo hago inmediatamente luego de publicar podré leer ese array que da como respuesta la api rest?


file_get_contents('php://input')

Intenté pero no me lo lee, hice algo así: 


$id = $itemInfo['body']->id

Supongamos estas usando el SDK de PHP:
.....
$result = $meli->post( $url, $item, $params );
$id = $result['body']->id
Donde $id es el código del nuevo producto que acabas de crear y asumimos no da ningun error..

Imagino usas esto:

file_get_contents('php://input')

Para recibir la notificacion tipo "item" pero no es necesario. Estas gastando recursos innecesariamente cuando el mismo POST te da la información del producto.

Share this post


Link to post
Share on other sites
  • 0
2 minutes ago, Woomelly said:

Supongamos estas usando el SDK de PHP:
.....
$result = $meli->post( $url, $item, $params );
$id = $result['body']->id
Donde $id es el código del nuevo producto que acabas de crear y asumimos no da ningun error..

Imagino usas esto:

file_get_contents('php://input')

Para recibir la notificacion tipo "item" pero no es necesario. Estas gastando recursos innecesariamente cuando el mismo POST te da la información del producto.

Muchísimas gracias, realmente era más fácil de lo que pensaba. Voy a probar.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...