Imagens nos anúncios

No momento de anunciar um artigo, dependendo do tipo de anúncio, as imagens podem ser obrigatórias já que fazem uma grande diferença a respeito da qualidade. Ou seja, isso gera mais visitas e melhoram as possibilidades de vender. Neste guia, você poder ver como carregar imagens em nossos servidores e adicioná-las em seus anúncios. Veja mais sobre a importância das imagens. As fotos são a sua vitrine. Capriche!

Conteúdos

→Considerações e práticas recomendadas
  ↳Zoom
→Validar e fazer upload de uma imagem
→Vinculação de uma imagem a seu produto
→Substituição de imagens
→Revise possíveis erros
  ↳Formato de imagem
→Referências de código de resposta HTTP
→Quais são os tamanhos e versões disponíveis nas imagens?
→Conexão/bloqueio
→Moderação das imagens

Considerações e práticas recomendadas

As imagens RGB são muito mais recomendáveis do que as CMYK. Recomendamos que você envie imagens de 1200 x 1200 px. Se estas forem maiores, editaremos para ter 1200 px. Além disso, você pode publicar uma quantidade máxima imagens por anúncio, dependendo da categoria que deseja fazer. Você pode carregar imagens de até 10 MB nos seguintes formatos:

  • JPG

  • JPEG

  • PNG


Zoom

Caso você tenha imagens com uma largura maior que 800 pixeis, um widget de zoom é ativado para que, quando os compradores passarem o mouse sobre a imagem, eles possam visualizá-la em primeiro plano. Isso é altamente recomendado para roupas e imóveis.


Validar e fazer upload de uma imagem

Este recurso permite que você, antes de enviar uma imagem, fazer validação online do tamanho da imagem enviada por meio de um processo de smartcrop, que remove o excesso de fundo para que o produto tenha uma relação adequada com o tamanho da imagem.

Llamada:

curl -X POST  \
-H 'content-type: multipart/form-data' \
-F 'file=@FILE' \
https://api.mercadolibre.com/pictures/items/upload?access_token=$ACCESS_TOKEN
Nota:
O endpoint suporta apenas uploads de várias partes (dados diretos) e para o item.

Exemplo:

curl -X POST  \
-H 'content-type: multipart/form-data' \
-F 'file=@/Users/Documents/test.jpg' \
https://api.mercadolibre.com/pictures/items/upload?access_token=$ACCESS_TOKEN

Resposta de imagem válida:

{
   "id": "959699-MLM43299127002_092020",
   "max_size": "994x1020",
   "dominant_color": null,
   "crop": {
       "y_offset": null,
       "y_size": null,
       "x_offset": null,
       "x_size": null
   },
   "variations": [
       {...},
       {...},
       {...},
       {...},
       {...}
   ]
}

Recomendamos usar o id obtido para fazer uma nova publicação ou associar a imagem a uma publicação existente.


Resposta de imagem inválida:

Importante:
Devido à alta carga de processamento do recurso, limitamos as solicitações por minuto (RPM) para cada app_id. Se você receber um erro http 429, significa que excedeu sua cota atribuída e terá que esperar para tentar novamente, ou é porque ainda não possui uma cota atribuída.
{
   "message": "Asegúrate de que la imagen tenga como mínimo 500 píxeles en uno de los lados. Tené en cuenta que de tener bordes en blanco estos se eliminan dejando un margen total del 10%. Te recomendamos usar 1200 x 1200 para poder hacer zoom. La imagen subida, procesados los bordes blancos, tiene un tamaño de 376px x 340px",
   "error": "bad_request",
   "status": 400,
   "cause": []
}

Caso a imagem não ultrapasse o tamanho mínimo, retornará um erro http 400, informando os detalhes da mesma.


Vinculação de uma imagem a seu produto

Com o picture_id que obteve antes, você pode vincular a imagem a seu produto, conforme mostrado abaixo:

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

Pronto! Agora vá para a página de descrição de seu produto (usando o campo permalink) e veja como sua imagem é exibida.


Substituição de imagens

Se for necessário substituir as imagens atuais de seu produto, você deverá realizar uma solicitação PUT incluindo o ID do produto e a URL da imagem, junto com seu access_token, conforme o exemplo abaixo:

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

Para você levar em conta!

  • Se você quiser substituir uma imagem, deverá criar um novo source (dar outro nome à imagem); caso contrário, ao reutilizar o mesmo nome com conteúdo diferente, a imagem não será atualizada.
  • Se você tiver um grupo de imagens e quiser realizar as ações a seguir: Adicionar uma imagem: deverá enviar as IDs das imagens carregadas que quiser conservar mais os source (URL) das novas imagens. Além disso, você pode alterar a ordem enviando o body do PUT com a forma em que quiser visualizá-las.

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

Remover imagem: deverá enviar somente as IDs das imagens carregadas que você quiser conservar.


Revise possíveis erros

Se ao carregar o item a imagem mostrar erro (por exemplo, "Processando imagem..."), você pode realizar algumas das verificações abaixo:Chamada:

curl -X GET https://api.mercadolibre.com/pictures/$PICTURE_ID/errors?access_token=$ACCESS_TOKEN

Exemplo:

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

Resposta:

{
 "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 imagem 

  • Comprovar por navegador que a imagem exista e revisar possíveis erros.
  • Se ao carregar o item a imagem mostrar um erro, você poderá identificar o motivo utilizando a chamada anterior.
  • Verificar Content_Type com a extensão, comprovando a imagem com curl -v
curl -v 'link da imagem' >> /dev/null
curl -v 'https://s3.amazonaws.com/images/pictures/146.111111.jpg' >> /dev/null
  • Baixar imagem com curl -O "link da imagem" e depois executar o comando File para verificar a extensão.
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 devem coincidir, levando em conta os formatos com que trabalhamos:
* de acordo com a velocidade de carga.

  • JPG
  • JPEG
  • PNG

Referências de código de resposta HTTP

Os códigos de status das respostas HTTP indicam se uma requisição HTTP foi corretamente concluída

Os casos mais frequentes são:

Error_code Mensagem de erro Descrição Possível solução
Unable to find valid certification path to requested target O certificado HTTPS não é válido para nossos servidores. Alterar a URL, colocando http (sem o “s” no final). Desse jeito, a imagem se descarrega sem validar o certificado.
301 redirect/moved permanently/etc error_code=content_type,meta={responseCode=301,responseMessage=Moved Permanently, contentType=text/html; charset=UTF-8, contentLength=221, contentEncoding=null} A imagem que estão descarregando, faz um redirecionamento para outra url (se fizer o teste pelo browser, poderá ver o redirecionamento). Não trabalhamos com redirecionamento;enviar a url final da imagem.
404 (not found) {error_code=response_code, meta={responseCode=404, responseMessage=Not Found, contentType=application/json, contentLength=30, contentEncoding=null}} O server não encontrou a imagem. Verificar que exista a imagem e tenham nossas ip’s na whitelist.
403 o 401 (Forbidden) Não foi possível descarregar a imagem, porque o servidor externo está bloqueando nosso acesso. Verificar tenham nossas ip’s na whitelist.
Connect timed out Não foi possível fazer a conexão com o servidor externo para descarregar a imagem. Verificar que a URL seja válida e que o servidor externo tenha liberada nossas ip’s.
Received fatal alert: protocol_version Incompatibilidade do protocolo ssl por HTTPS. Usar HTTP sem redirecionar.
Picture wasnt create in buckets A imagem não existe. Verificar a página pelo browser.

Quais são os tamanhos e versões disponíveis nas imagens?

O tamanho máximo que aceitamos é 1920x1920px (versão F) e o mínimo é 40x40px (versão M). Isso não quer dizer que não seja possível subir imagens com resolução maior; nesse caso, as imagens serão redimensionadas para a versão F. No caso de subir uma imagem que tenha um tamanho menor ao mínimo que permitimos, a imagem vai ficar com o mesmo tamanho (não agrandarmos a imagem).


Conexão / bloqueio 

Se sua integração utiliza imagens guardadas em seus servidores, lembre-se de adicionar as seguintes IPs em sua whitelist ou lista de permitidas, para que a conexão com Mercado Livre seja exitosa.

  • 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 se na sua URL há algum tipo de redirecionamento. O link deve ser igual ao da imagem. Por exemplo, se a URL for HTTP mas ao informá-la no browser muda para HTTPS, isso quer dizer que houve um redirecionamento.

Se o certificado de SSL for compatível com o nosso servidor, sugerimos remover o SSL enviando as URLs com HTTP.


Excelente! Agora, a nova imagem de seu produto será exibida. Você já sabe como adicionar e substituir imagens. E lembre-se: boas imagens atrairão mais compradores!


Moderação das imagens

Consulte mais informações sobre o recurso /quality/picture que permitirão identificar os motivos pelos quais o item está perdendo exposição nas listagens, ou seja, ele não atende aos requisitos de imagem.

ou registre-se para receber as últimas notícias sobre nossa API