• 0
nasatome

Problema al cargar las dimensiones de un producto

Question

Saludos!, escribo en español porque este foro parece ser multilingüe: al parecer recientemente hubo cambios en el API y ahora no puedo mandar unos campos como nulos, pero fuera de eso, también intento al momento de 'listar' productos subir las dimensiones de los productos, y no logro detectar si es de algún tiempo para este momento, o son algunas categorías las que me ignoran las dimensiones.

mi código en PHP es el siguiente:
 

<?php
$params = array(
  'access_token' => $SessionKeys['access_token']
);
$SendFreeShipping = false;

if ( /*condiciones para decidir si lo quiero enviar gratis*/) {

  // si se cumplen entonces quiero enviar ese producto con envío gratis. 
$SendFreeShipping = true; 
}

  $item = array(
    "title" => $title,
    "category_id" => $predict['body'][0]->id,
    "price" => $product['Price'],
    "currency_id" => "MXN",
    "available_quantity" => $product['Available'],
    "buying_mode" => "buy_it_now",
    "listing_type_id" => "bronze",
    "condition" => "new",
    "description" => $product['Description'],
    "seller_custom_field" => $product['SellerSku'],
    "shipping" => array(
      "mode" => "me2",
      "free_shipping" => false,
      "local_pick_up" => true,
      "dimensions" => $product['dimensions'], // lleva el formato (String) -> "10cm x 20cm x 15cm,1500 gramos"
      "free_methods" => array()
    )
  );

  // si se eligió envío gratis entonces sobreescribo $item['shipping']

  if ($SendFreeShipping) {
    $item['shipping'] = array(
      "mode" => "me2",
      "free_shipping" => $SendFreeShipping,
      "local_pick_up" => true,
      "dimensions" => $product['dimensions'], // lleva el formato (String) -> "10x20x15,1500"
      "free_methods" => array(
        array(
          "id" => 501245,
          "rule" => array(
            "free_mode" => "country",
            "value" => null
          )
        )
      )
    );
  }

  if (isset($product['SupplierWarrantyMonths'])) {
    $item['warranty'] = $product['SupplierWarrantyMonths'] . " Meses Con Fabricante";
  }

  if (isset($product['images'])) {
    $pictures = [];
    foreach($product['images'] as $ImageURL) {
      $ImageArray = [];
      $ImageArray['source'] = $ImageURL;
      $pictures[] = $ImageArray;
    }

    $item['pictures'] = $pictures;
  }

  // valido peticion

  $uri = '/items/validate';
  $result = $MeliClass->post($uri, $item, $params);
  if (isset($result['httpCode']) && ($result['httpCode'] == 204 || $result['httpCode'] == 200)) {
    $uri = '/items';
    $result = $MeliClass->post($uri, $item, $params);
    if (isset($result['httpCode']) && ($result['httpCode'] == 201 || $result['httpCode'] == 200)) {
      $this->updateRemoteInventory($result);
    }
    else {

      // $LogClass = (new NotifyAndLog);
      // //reporto error2

    }
  }
  else {

    // $LogClass = (new NotifyAndLog); //reporto error1 }

  }


un ejemplo de un JSON enviado es: 

 

{
   "title":"Cargador de pared para celular Motorola V13.",
   "category_id":"MLM39159",
   "price":"49",
   "currency_id":"MXN",
   "available_quantity":19,
   "buying_mode":"buy_it_now",
   "listing_type_id":"bronze",
   "condition":"new",
   "description":"<h1> Valid HTML </h1>",
   "seller_custom_field":95808,
   "shipping":{
      "mode":"me2",
      "free_shipping":false,
      "local_pick_up":true,
      "dimensions":"11x14x12,300",
      "free_methods":[

      ]
   },
   "warranty":"12 Meses Con Fabricante",
   "pictures":[
      {
         "source":"https:\/\/images.myserver.com\/1200\/5193bbb9b7016.jpg"
      },
      {
         "source":"https:\/\/images.myserver.com\/1200\/5193eeeb83a1a.jpg"
      }
   ]
}

me responde correctamente, Sin embargo en las dimensiones me regresa un valor nulo (archivo adjunto)
y el producto automáticamente toma el valor de las dimensiones promedio de la categoría (o al menos eso creo) pero eso me causa conflictos al usar M. Envíos porque hay cosas muy pesadas, que al promediar le colocan mal los pesos.

cual podrá ser mi problema antes si funcionaba? busque en la documentación, pero la parte donde vi como hacer esto ya no se encuentra disponible.

De antemano gracias por la ayuda...

 





 

 

result.phparray.txt

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Retro alimentación al foro...

El "problema" final es que no puedo enviar dimensiones en productos bajo el Modo MercadoEnvios (ME2)
MercadoLibre pone las dimensiones y los pesos, y nosotros no los podemos editar aunque estos se encuentren en la categoría correcta y tengan un peso o dimensiones incorrectas.

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