Imagens nos anúncios
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 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'content-type: multipart/form-data' \
-F 'file=@FILE' \
https://api.mercadolibre.com/pictures/items/upload
Exemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'content-type: multipart/form-data' \
-F 'file=@/Users/Documents/test.jpg' \
https://api.mercadolibre.com/pictures/items/upload
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:
{
"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 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -H "Accept: application/json" -d
'{
"id":"MLA430387888_032012"
}'
https://api.mercadolibre.com/items/MLA421101451/pictures
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 'Authorization: Bearer $ACCESS_TOKEN' -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
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 'Authorization: Bearer $ACCESS_TOKEN' -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
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 -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pictures/$PICTURE_ID/errors
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pictures/970736-MLU11111111111_092017/errors
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 -H 'Authorization: Bearer $ACCESS_TOKEN'
curl -v 'link da imagem' >> /dev/null
curl -v -H 'Authorization: Bearer $ACCESS_TOKEN' 'https://s3.amazonaws.com/images/pictures/146.111111.jpg' >> /dev/null
- Baixar imagem com curl -O -H 'Authorization: Bearer $ACCESS_TOKEN' "link da imagem" e depois executar o comando File para verificar a extensão.
curl -O -H 'Authorization: Bearer $ACCESS_TOKEN' "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.