• 0
Diego Cwd

Imagens de item com status carregando

Question

Olá,

Fiz o envio de alguns itens duma loja, em sua conta do ML.

O produto foi normalmente, assim como as suas descrições e tudo que há de relacionado a ele.

Porém, as imagens não carregaram e já fazem mais que 15 dias.

Sei que as imagens existem, as urls são válidas.

 

O exemplo que segue para listar um novo item, é este:

{
  "title":"Anteojos Ray Ban Wayfare",
  "category_id":"MLA5529",
  "price":10,
  "currency_id":"ARS",
  "available_quantity":1,
  "buying_mode":"buy_it_now",
  "listing_type_id":"bronze",
  "condition":"new",
  "description": "Item:, <strong> Ray-Ban WAYFARER Gloss Black RB2140 901 </strong> Model: RB2140. Size: 50mm. Name: WAYFARER. Color: Gloss Black. Includes Ray-Ban Carrying Case and Cleaning Cloth. New in Box",
  "video_id": "YOUTUBE_ID_HERE",
  "warranty": "12 months by Ray Ban",
  "pictures":[
    {"source":"http://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"},
    {"source":"http://en.wikipedia.org/wiki/File:Teashades.gif"}
  ]
}

"Claro que substitui para meus dados"

 

Alguém tem alguma ideia do que pode ter ocorrido?

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Boa Noite Diego.

 

O mais tranquilo que achei foi enviar as imagens para o repositório do ML conforme código abaixo, então pegar o nome das imagens e cadastrar o produto com o nome das imagens já corretas.

 

Segue o código:

 

$access_token = "SEUTOKEN";
$id_vendedor  = "SEUIDNOML";

$url = "https://api.mercadolibre.com/pictures?access_token=$access_token";
// Não esqueça de utilizar o @ antes do nome do arquivo
// É muito importante definir o local físico do arquivo corretamente
$_dados = array("file" => "@arquivo.jpg",
	        "seller_id" => $id_vendedor
	        );

$ch = curl_init();

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 3);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_dados);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0); 
					
$_retorno = curl_exec($ch);
$_array_retorno = json_decode($_retorno, true);
if (!$_array_retorno)
   print "<BR><BR>Erro ao gerar array com dados";
else
{
   // Adiciona na tabela o código da imagem
   // Retorna o ID de sua imagem no repositório do ML
   $_id_up = $_array_retorno['id'];

   // Retorna o tamanho máximo da imagem em pixel
   $_tm_up = $_array_retorno['max_size'];

   // Retorna a URL da Imagem maior que foi criada
   // Esse variável que irá retornar o endereço da
   // imagem onde iremos adicionar no cadastro do produto
   $_im_p_up = $_array_retorno['variations']['0']['url'];
}

Assim ficou perfeito e a grande vantagem é que você não utiliza seu espaço em disco nem seu tráfego de dados.

 

Espero ter ajudado.

 

Abração.

 

LMS

Share this post


Link to post
Share on other sites
  • 0

Olá Davi,

Ainda não cara.

Não entendo o que está acontecendo, pois, as imagens que estou enviando estão normais e disponíveis. O código também não dá erro.

Muito estranho...

Share this post


Link to post
Share on other sites
  • 0

Olá Diego.

 

Fiz várias verificações e tentativas, o problema não é a imagem nem a função, é um bloqueio do Mercado Livre para as URLs.

 

Caso você colocar o endereço que existe na documentação irá dar certo http://appsuser.net/www/wp-content/uploads/2012/10/logo-mercadolibre.jpg

 

Caso baixe a imagem, coloque no seu FTP e tente colocar a imagem salva, não irá funcionar.

 

O problema realmente é o bloqueio.

 

Vamos tentar upar a imagem como na documentação para ver se resolve.

 

Abração.

 

LMS

Share this post


Link to post
Share on other sites
  • 0

Olá Lenharo,

Obrigado pela resposta.

 

Neste caso, seria melhor subir as imagens separadamente?

Quer dizer, subir primeiro o produto depois as imagens dele?

Assim funciona com urls externas?

 

Não ficaria muito bom na minha programação e nem na usabilidade, mas pelo menos vai funcionar...

 

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now