Trabajar con imágenes

Al publicar un artículo, las imágenes son opcionales, pero sin duda marcan una gran diferencia respecto de la calidad y mejorarán tus posibilidades de vender al atraer más visitas a tus artículos. Cuando publicas un artículo nuevo, puedes agregar imágenes en ese momento. Este tutorial muestra cómo cargar imágenes a nuestros servidores y agregarlas a tus artículos.


Contenidos

Consideraciones y mejores prácticas

Las imágenes RGB son mucho más recomendables que las imágenes CMYK. Existe un máximo de imágenes por artículo permitidas para publicar según la categoría que desees hacerlo. Puedes cargar imágenes de hasta 10 MB en los siguientes formatos:

  • JPG

  • JPEG

  • PNG

  • GIF no animadas.

Zoom En caso de imágenes con un ancho mayor que 800 píxeles, se activa un widget de zoom para que cuando los compradores pasen el mouse sobre la imagen puedan verla en primer plano. Esto es muy recomendable para Indumentaria e Inmuebles.


Carga una imagen

Ahora es momento de cargar tu primer archivo de imagen para almacenarlo en nuestros servidores. Es realmente muy fácil: solo anota la ruta exacta donde tienes guardada la imagen:

curl -F file=@/home/user/picture.jpg

https://api.mercadolibre.com/pictures?access_token=$ACCESS_TOKEN

Como respuesta recibirás un JSON con la descripción de los detalles de la imagen. Recuerda guardar el ID de la imagen. Los otros campos representan diferentes tamaños de imágenes.

{
   "id":"MLA430387888_032012",
   "quality":"",
   "variations":[...]
}


Vincula una imagen a tu artículo

Con el picture_id antes obtenido, puedes vincular la imagen a tu artículo, así:

curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d
'{"id":"MLA430387888_032012"}'

https://api.mercadolibre.com/items/MLA421101451/pictures?access_token=$ACCESS_TOKEN

¡Eso es todo! Dirígete a la página de descripción de tu artículo (utilizando el campo permalink) y controla cómo se muestra tu imagen.


Reemplaza imágenes

Si necesitas reemplazar las imágenes actuales de un artículo, debes realizar una solicitud PUT incluyendo el ID del Artículo y el url de la imagen, con tu access_token como en el siguiente ejemplo:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
'{
  "pictures":[
    {"source":"http://www.apertura.com/export/sites/revistaap/img/Tecnologia/Logo_ML_NUEVO.jpg_33442984.jpg"},
    {"source":"http://appsuser.net/www/wp-content/uploads/2012/10/logo-mercadolibre.jpg"}
  ]
}' https://api.mercadolibre.com/items/{item_id}?access_token=$ACCESS_TOKEN

¡A tener en cuenta!

  • En caso que se desee reemplazar una imagen se deberá crear un nuevo source (darle otro nombre a la imagen) de lo contrario, al re utilizar el mismo que ya existía con diferente contenido no se actualizará la imagen.

  • En caso de tener un grupo de imágenes y deseas realizar las siguientes acciones: Agregar imagen: deberás mandar los IDs de las imágenes cargadas que deseas conservar más los source (URL) de las nuevas imágenes. Además, puedes modificar el orden enviando el body del PUT de la forma en que quieras verlas.

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
'{
"pictures": [{"source": "http://SOURCE_IMAGEN_NUEVA.jpg"},
			{"id": "111111 - IMAGEN_EXISTENTE_111111"},
			{"id": "111111 - IMAGEN_EXISTENTE_111111"},
			{"id": "111111 - IMAGEN_EXISTENTE_111111"}
],

"variations": [{
"id": "16787985187",
"picture_ids": [
		"http://SOURCE_IMAGEN_NUEVA.jpg", 
        "111111 - IMAGEN_EXISTENTE_111111", 
        "111111 - IMAGEN_EXISTENTE_111111", 
        "111111 - IMAGEN_EXISTENTE_111111"]},
{
"id": "16787985190",
"picture_ids": [
		"http://SOURCE_IMAGEN_NUEVA.jpg", 
        "111111 - IMAGEN_EXISTENTE_111111", 
        "111111 - IMAGEN_EXISTENTE_111111", 
        "111111 - IMAGEN_EXISTENTE_111111"]},

{
"id": "16787985193",
"picture_ids": [
		"http://SOURCE_IMAGEN_NUEVA.jpg", 
        "111111 - IMAGEN_EXISTENTE_111111", 
        "111111 - IMAGEN_EXISTENTE_111111", 
        "111111 - IMAGEN_EXISTENTE_111111"]}]
}' http://api.mercadolibre.com/items/ITEM_ID?access_token=ACCESS_TOKEN
Borrar imagen: deberás mandar sólo los IDs de las imágenes cargadas que deseas conservar.


Revisa posibles errores

Si al cargar el ítem, la imagen muestra error (por ejemplo,“Procesando imagen…”), puedes realizar algunas de estas verificaciones: 

Llamada:

https://api.mercadolibre.com/pictures/$picture_id/errors?access_token=ACCESS_TOKEN

Ejemplo:

https://api.mercadolibre.com/pictures/970736-MLU11111111111_092017/errors?access_token=ACCESS_TOKEN

Respuesta:

{
 "id": "970736-MLU11111111111_092017",
 "source": "https://s3.amazonaws.com/images/pictures/146.111111.jpg",
 "error": {
   "message": "{error_code=response_code, meta={responseCode=403, responseMessage=Forbidden, contentType=application/xml, contentLength=-1}}",
   "items": "MLU111111111"
 }
}

Formato de la imagen 

-Comprobar por navegador que la imagen exista y revisar posibles errores.

-Si al cargar el item la imagen queda con error podrás identificar a qué se debe utilizando el siguiente endpoint:

https://api.mercadolibre.com/pictures/$PICTURE_ID/errors?access_token=$access_token
{
 "id": "970736-MLU11111111111_092017",
 "source": "https://s3.amazonaws.com/images/pictures/146.111111.jpg",
 "error": {
   "message": "{error_code=response_code, meta={responseCode=403, responseMessage=Forbidden, contentType=application/xml, contentLength=-1}}",
   "items": "MLU111111111"
 
}

-Verificar Content-Type con la extensión, comprobando la imagen con curl -v

curl -v 'enlace de la imagen' >> /dev/null
// curl -v 'https://s3.amazonaws.com/images/pictures/146.111111.jpg' >> /dev/null

-Descargar la imagen con curl -O "link da imagem" y luego ejecutar el comando File para verificar la extensión.

//curl -O "https://s3.amazonaws.com/images/pictures/146.111111.jpg"
// file 146.111111.jpg
//146.111111.jpg: XML 1.0 document text, ASCII text

Ambos deben coincidir teniendo en cuenta los formatos con los que trabajamos:

*de acuerdo a la velocidad de carga

-JPG

-JPEG

-PNG

-GIF no animados


Conexión/ bloqueo 

-Verificar si trabaja con el bloque de IPS de Mercado Libre:

216.33.196.4

216.33.196.25

54.88.218.97

18.215.140.160

18.213.114.129

18.206.34.84

-Verificar  si en su URL hay algún tipo de redirección. El link debe ser exacto al de la imagen. Por ejemplo, si la url es http pero al ingresarla en el browser cambia a https, significa que hubo una redirección.

-Si el certificado de SSL es incompatible con nuestro servidor, te sugerimos quitar el SSL enviando las URLs con HTTP.

-Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica.


Códigos de retorno (HTTP status code)

Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica.
¡Excelente! Ahora se mostrará la nueva imagen en tu artículo. Ya sabes cómo agregar y reemplazar imágenes. ¡Recuerda que las buenas imágenes atraerán más compradores!

Forma parte de nuestra comunidad