3 - Parámetros opcionales de la API

Modificado el Mar, 19 May a 4:03 P. M.

Introducción y estructura de datos


La API de Sales Layer incluye parámetros obligatorios y también varios parámetros opcionales. Este ejemplo muestra cómo estos parámetros opcionales afectan a la respuesta de exportación cuando utilizas el SDK.

Los parámetros utilizados aquí son:

  • group_category_id: controla cómo se exportan los productos multicategoría. Si el valor es false y un producto pertenece a dos categorías, el mismo producto se exporta dos veces, una por cada categoría.
  • first_parent_level: controla si también se exporta el ítem padre de un ítem modificado. En categorías, esto significa categorías superiores. En productos, significa las categorías vinculadas. En variantes, significa el producto padre.
  • same_parent_variants: controla si se exportan todas las variantes que comparten el mismo padre cuando una de esas variantes se modifica.

Este ejemplo utiliza el mismo conector creado en el Ejemplo 1, con las mismas tablas y el mismo filtro de estado visible.



Para que el resultado sea fácil de leer, el ejemplo utiliza un conjunto pequeño de ítems visibles: 14 categorías, 3 productos y las variantes visibles de uno de esos productos.





El producto AAPA780310002 se utiliza para probar group_category_id, el producto 42PM506120061 se utiliza para probar first_parent_level, y las variantes del producto 42PH420305221 se utilizan para probar same_parent_variants.


Código


El script crea un objeto SalesLayer_Conn(), configura los tres parámetros opcionales a través del SDK y después llama a get_info().

<?php 
define('LOC_BASE', dirname(__FILE__) . '/');
require(LOC_BASE.'SalesLayer-Conn.php');
require(LOC_BASE.'lib/nice_r-master/Nicer.php');
?>

<!DOCTYPE html>
<html dir="ltr" lang="es-ES">
<head>
    <link rel="stylesheet" type="text/css" href="lib/nice_r-master/nice_r.css?version=<?php echo filemtime(LOC_BASE.'lib/nice_r-master/nice_r.css'); ?>"/>
    <script type="text/javascript" src="lib/nice_r-master/nice_r.js?version=<?php echo filemtime(LOC_BASE.'lib/nice_r-master/nice_r.js'); ?>"></script>
</head>

<body>
    <?php

    //Credenciales del conector de SL
    $connector_id = 'CN12347H3308C4486';
    $secret_key = '7aeb575d9bf15bfa238e8f01842417a2';

    $last_update= "1597958324";

    //Crear el objeto con las credenciales del conector en SL
    $SLConn = new SalesLayer_Conn ($connector_id, $secret_key);

    $SLConn->set_group_multicategory(true);
    $SLConn->set_first_level_parent_modifications(true);
    $SLConn->set_same_parent_variants_modifications(true);

    $SLConn->get_info($last_update);

    if ($SLConn->has_response_error()) {
        echo "<h4>Error:</h4>\n\n Código: ".$SLConn->get_response_error().
             "<br>\nMensaje: ".           $SLConn->get_response_error_message();
    } else {
        echo "<h4>Respuesta OK</h4>\n".
             "<p>".
             "Versión de API: <b>".            $SLConn->get_response_api_version()          ."</b><br />\n".
             "Hora: <b>".                   $SLConn->get_response_time('unix')                 ."</b><br/>\n".
             "Idioma predeterminado: <b>".       $SLConn->get_response_default_language()     ."</b><br/><br />\n".
             "</p>";

        //Imprimir la respuesta de la API
        $n = new Nicer($SLConn->get_response_table_data());
        $n->render();
        echo "<hr/>";
    }       
    ?>
</body>
</html>

Los tres métodos del SDK son:

  • set_group_multicategory() para group_category_id.
  • set_first_level_parent_modifications() para first_parent_level.
  • set_same_parent_variants_modifications() para same_parent_variants.

Los tres métodos reciben un valor booleano. Según si el valor es true o false, la exportación cambia.


Ejecución y resultados


Con group_category_id, un producto multicategoría se comporta de forma diferente según el valor del parámetro. El producto con referencia AAPA780310002 pertenece a dos categorías.




  • Con el parámetro configurado como true, el producto se exporta una sola vez y ambas referencias de categoría se agrupan en el mismo campo section_reference.
  • Con el parámetro configurado como false, el producto se exporta dos veces, una por cada referencia de categoría.





Con first_parent_level, la API también puede exportar el ítem padre de un ítem modificado.

Cuando se modifica el producto 42PM506120061:

  • Si el parámetro es true, el producto se exporta junto con su árbol de categorías.
  • Si el parámetro es false, solo se exporta el producto modificado.





La misma lógica también se aplica a las variantes. Si se modifica la variante F234946:

  • Con el parámetro configurado como true, la API exporta tanto la variante como su producto padre.
  • Con el parámetro configurado como false, la API exporta solo la variante modificada.





Por último, same_parent_variants controla si las variantes hermanas se exportan juntas.

Las tres variantes visibles que comparten el mismo padre se comportan así:

  • Con el parámetro configurado como true, al modificar una variante se exportan todas las variantes del mismo padre.
  • Con el parámetro configurado como false, solo se exporta la variante modificada.






¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo