• 0
yorsh

10,000 publicaciones al querer subir 1 solo item

Question

Hola buen dia

Estoy intentando automatizar los productos de una BD en PHP para publicarlos en ML,  ya tengo mi arreglo con la info para subir unicamente un producto y realizar una prueba y 

mi problema es que al subir el item, se suben 10,000 articulos iguales, no encuentro alguna logica, quiza ustedes vean algo que yo no.

el die() al final lo coloque porq es la segunda vez que sucede y pense que al colocarlo evitaria algun error de algo, pero aun asi no funcionó.

la forma de subir el item es mediante el path /item,  y tengo entendido que es subir un articulo por peticion no?

 

agradeceria me pudieran ayudar. les dejo el codigo

$path = '/items';
$appId = '27290880000000';
$secretKey = 'QzS4cqF0000000000000';
$access_token = 'APP_USR-2720000008083500000004-0000017-00000da00000073dcf0000000005-000000000';

$meli = new Meli($appId, $secretKey, $access_token, $refresh_token );

foreach ($catalog as $item) {
		$body_ml = array(
                "title"=> $item["TITULO"],
                "category_id" => "MLM5686",  
                "price" => $item['PRECIO_ML'],
                "currency_id"=> "MXN",
                "available_quantity"=> $item['EXISTENCIA_ML'],
                "buying_mode"=> "buy_it_now",
                "listing_type_id"=> "gold_special",
                "description"=> ["plain_text" => ["test no ofertar " . $item['DESCRIPCION']]],
                "condition"=>"new",
                "video_id"=> "",
                "accepts_mercadopago"=> true,
                "status" =>"active",  
                "shipping"=>[
                    "mode" => "me2",                
                    "local_pick_up"=>false,         
                    "free_shipping"=>true,       

                ],
                "attributes"=> [
                    ["id" => "AUTOMOTIVE_TIRE_ASPECT_RATIO","value_name" => $item["ALTO"]],
                    ["id" => "BRAND", "value_name" =>$item["MARCA"]],
                    ["id" => "IS_RUN_FLAT", "value_name"=>"no"],
                    ["id" => "LINE", "value_name"=>$item['MODELO']],
                    ["id" => "LOAD_INDEX", "value_name"=>$item["INDICE_CARGA"]]
                ],
                "sale_terms"=> [
                    ["id"=> "WARRANTY_TYPE", "value_id"=> $GARANTIA_FABRICA],
                    ["id"=> "WARRANTY_TIME", "value_name"=> "5 años"]
                ],
                
                "pictures"=> [
                    ["source"=>$item["URL_IMAGEN_PRINCIPAL"]],
                    ["source"=>$item["URL_IMAGEN_DETALLE"]]
                ]
            );
}


        $response = $meli->post($path, $body_ml, ['access_token' => $access_token]);
        
        print_r($response);
		die();

 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Asumo que en $catalog tienes 10.000 elementos. ¿Para que tienes la asignación en un foreach? Al tenerlo allí se va llenando $body_ml. Elimina el ciclo o coloca un break de esta forma:

     );
     break;
}

Saludos cordiales

Share this post


Link to post
Share on other sites
  • 0

hola, gracias por responder, en $catalog en teoria deberia tener 1500 elementos, pero por lo pronto para mis pruebas solamente tengo un elemento que es el siguiente (mi_archivo.json):

 

 $json = file_get_contents($mi_archivo);      // Read JSON file
 $catalog_SIL = json_decode($json, true);        //Decode JSON
[{
  "CLAVE":"GTR324575",
  "TITULO":"LLANTA 245\/75 R-16 120S ADVENTURO AT3 GT RADIAL",
  "DESCRIPCION":"LLANTA",
  "ANCHO":"245",
  "ALTO":"75",
  "RIN":"16",
  "MARCA":"GT Radial",
  "MODELO":"ADVENTURO AT3",
  "INDICE_CARGA":null,
  "INDICE_CARGA_PESO":null,
  "TRACCION":null,
  "TEMPERATURA":null,
  "TREADWARE":null,
  "INDICE_VELOCIDAD":"S",
  "EXISTENCIA_ML":"6",
  "PRECIO_ML":"2740",
}]

 

también intenté colocando un die(); y coloque echo al final de cada iteracion para ver si habia algún problema de cualquier cosa que hiciera que se iterara 10K veces  pero aun asi el problema persiste, 

la version de meli que estoy usando segun yo es la mas actual y es la 2.0.0

De que forma suben sus archivos? si es la forma correcta como lo estoy haciendo? Agradezco su ayuda

Gracias

 

 

Share this post


Link to post
Share on other sites
  • 0

Para finalizar con el post y realizando varias pruebas y errores, me di cuenta que el $body_ml no estaba correctamente hecho, tuve que quitar atributos los cuales estaban en -1 y que al parecer mercadolibre no valida esa informacion, en teoria deberia mostrarse null.

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.