1 - Exportación simple

Modificado el Mar, 19 May a 5:40 P. M.


Introducción y estructura de datos


Este primer ejemplo muestra una exportación simple a través de la API de todos los ítems configurados como visibles en una cuenta PIM.

Empieza creando un conector de exportación genérico. En la Tienda de canales, selecciona el primer conector.


En la página de Parámetros, elige una clave privada para proteger la transferencia de datos.


En la misma página, selecciona los idiomas a conectar y el estado de los ítems que quieres exportar.


En este ejemplo, conectamos solo inglés y exportamos únicamente ítems en estado visible.

La opción Incluir categorías vacías controla si se exportan las categorías sin ítems. Exportar títulos multidioma controla si los títulos de los campos se devuelven en los idiomas traducidos o solo en el idioma principal.


Con la configuración que se muestra en la captura, no se exportan ni las categorías vacías ni los títulos multidioma.

A continuación, ve a Datos de salida y configura las tablas y campos que quieres exportar.

Para este ejemplo, mantenemos una exportación reducida y seleccionamos solo algunos campos de cada tabla.

En Categorías, elegimos Referencia, Nombre, Referencia de categoría padre e Imagen.


En Productos, elegimos Referencia, Nombre, Referencia de categoría, Descripción e Imagen.


En Variantes, exportamos Referencia de variante, Referencia de producto y dos atributos variables: Talla y Precio.


Después de guardar el conector, ya está listo para la primera llamada a la API.



Como no se han configurado filtros adicionales, el único filtro que se aplica es el estado del ítem.

En esta configuración, tenemos 14 categorías visibles, 5 productos visibles y 16 variantes visibles.





Código


El script empieza creando un objeto SalesLayer_Conn() con las credenciales del conector. El código del conector se almacena en $connector_id y la clave secreta en $secret_key.

Después llama a get_info() para exportar los datos configurados. En esta primera sincronización, $last_update se configura como 0.

Si la API no devuelve ningún error, el script imprime la versión de la API, la marca de tiempo UNIX de la solicitud, el idioma predeterminado del PIM y los datos exportados de las tablas utilizando la biblioteca Nice_r.

<?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="en-US">
<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= "0";

    //Crear objeto con las credenciales del conector en SL
    $SLConn = new SalesLayer_Conn ($connector_id, $secret_key);
    
    //Llamada a la API para exportar la información
    $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 la 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 respuesta de la API
        $n = new Nicer($SLConn->get_response_table_data());
        $n->render();
        echo "<hr/>";
    }       
    ?>
</body>
</html>


Ejecución y resultados


Después de ejecutar el script, la respuesta devuelve 11 categorías, 5 productos y 6 variantes.


  • 11 categorías
  • 5 productos
  • 6 variantes


El número de categorías es inferior al total visible porque el conector está configurado para no exportar categorías vacías. Las categorías sin productos quedan excluidas de la respuesta.


Lo mismo ocurre con las variantes. Aunque las 16 variantes están visibles, la API exporta solo las variantes cuyos productos padre están incluidos en la exportación. En este ejemplo, solo 2 de los 5 productos visibles tienen variantes, por lo que solo se devuelven esas variantes.

También puedes verificar los campos exportados en cada tabla revisando los resultados de categorías, productos y variantes.





¿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