Actualizando Inventario en MercadoLibre — API

Lucas Lopez
5 min readMay 16, 2018

--

Este artículo es parte de una serie que tiene como idea el mostrar cómo se puede actualizar la información de un Ecommerce Marketplace desde un sistema de inventarios. En este caso vamos a ver cómo podemos actualizar la información de inventario en MercadoLibre.

La colección de Postman con todos los ejemplos y el programa de prueba están disponible en GitHub.

Mercado Libre Developers

MercadoLibre cuenta con documentación de como utilizar sus APIs en el sitio para Developers. Podemos encontrar todo lo necesario para poder empezar. También cuenta con un foro donde se puede relacionarse con la comunidad.

Nueva Aplicación

Lo primero que tenemos que hacer es crear una nueva aplicación en MercadoLibre. Esto se haces desde el Application Manager. Crear una nueva aplicación requiere que completemos la información y vamos a obtener un app ID y secret key para poder utilizar en nuestras apps.

Después de creada la app, podemos ir a la página Autenticación y Autorización desde donde podemos obtener el access_token en forma muy fácil para poder probar las API sin requerir nada más. Es una funcionalidad bastante útil que nos permite aprender de las APIs sin tener que implementar nada de código.

Que es lo que usa MercadoLibre para el modelo de autorización? Obviamente, OAuth 2.0 como todas las plataformas digitales. Si completamos nuestro app ID en este formulario y presionamos el botón Muestra mi información, nos va a mostrar un mensaje para autorizar a nuestra app el acceder a nuestra información. Con el valor que nos devuelve en el campo Access Token podemos empezar a llamar a las APIs de MercadoLibre desde nuestro código, cURL o herramientas como Postman.

Hay que tener en cuenta que el access_token expira luego de 6 horas. Para desarrollar nuestro programa vamos a necesitar algo más.

Ambiente de pruebas

Algo propio de MercadoLibre es su elección de no tener un ambiente de pruebas o sandbox. Hay que utilizar usuarios y tarjetas de test que viven en el mismo ambiente que el resto de usuarios reales. Todas las pruebas que hagamos serian validas para ambos tipos de usuarios.

Usando la siguiente URL podemos crear un usuario de pruebas.

https://api.mercadolibre.com/users/test_user?access_token={{token}}

La respuesta nos da un usuario que podemos utilizar para conectarnos a MercadoLibre. La documentación tiene más información y reglas para Realizar Pruebas.

Articulo & Publicación

Obviamente podemos utilizar la API de MercadoLibre para crear y actualizar el contenido de nuestra publicación o podemos utilizar la interfaz de usuario.

Actualizar el inventario

Ya estamos listos para actualizar el inventario de nuestra publicación, pero antes, tres detalles a tener en cuenta:

  • El primero es que el id del producto que creamos desde la interfaz de usuario podemos obtenerlo de la URL cuando entramos a la publicación con un solo detalle. En la URL el id tiene un guion, como por ejemplo MLA-723041885 pero cuando usamos el API, el guion no va, quedando el valor MLA723041885
  • Lo segundo es que el límite de la cantidad depende del tipo de exposición de la publicación. Para la exposición de nivel gratuito, el máximo es 1 unidad. Para el nivel Gold Pro, el máximo es 99999 unidades. Esto lo tenemos que tener en cuenta cuando creemos el flujo de actualización desde el sistema de inventario.
  • Lo último es que si creamos el producto desde la interfaz y luego queremos actualizarlo mediante el API, tenemos que obtener un access_token para el usuario de pruebas, ya que no podemos utilizar el que obtuvimos con el usuario que creo la aplicación y el usuario de pruebas. Si no vamos a recibir el siguiente mensaje

El caso de actualizar el inventario de una publicación es tan común que el ejemplo de la documentación de como actualizar un producto muestra como hacerlo. La llamada es muy simple, usando la siguiente URL con el método PUT.

https://api.mercadolibre.com/users/item{{id}}?access_token=<token>

y en el body de la invocación el siguiente JSON. Tenemos que recordar el HTTP Header Content-Type igual a application/json.

{
"available_quantity": 6
}

Si tenemos éxito, vamos a recibir un HTTP 200 OK y en el body de la respuesta, los datos de nuestra publicación con el nuevo valor de inventario.

Links

Otros Artículos

Todas las opiniones expresadas son mías y no representan opiniones de ninguna entidad con la que he estado, estoy o estaré afiliado.

All views expressed are my own and do not represent opinions of any entity whatsoever with which I have been, am now, or will be affiliated

--

--

Lucas Lopez

Avid Technologist at heart, a lifetime of projects, experience in software development and project management areas.