Magento 2

Sync Data

Aprende cómo sincronizar y personalizar datos de tu tienda de Magento 2

Sincroniza tus productos de Magento 2, atributos y datos de cliente con Clerk. Esta guía cubre la personalización de los datos de productos y clientes, la selección de los productos que deseas importar y la gestión de la sincronización de pedidos.

Antes de sincronizar los datos, asegúrate de haber instalado y configurado la extensión Clerk en el backend de Magento 2. Consulta la Guía de inicio para obtener instrucciones de instalación.

Configurar la sincronización #

Para sincronizar los datos de tu tienda Magento 2 con Clerk, necesitas configurar los ajustes de sincronización de datos en Clerk.

  1. Ve a my.clerk.io > Data > Configuration.

  2. Ingresa la URL de tu tienda y cualquier configuración opcional que necesites.

  3. Si planeas usar Email & Audience, establece Collect Emails en Sí en la extensión de Magento y guarda.

  4. Selecciona el idioma de tu dominio si corresponde.

  5. Haz clic en Start Sync y espera a que la sincronización se complete.

Tu tienda ahora está conectada a Clerk.

Personalización de los datos de producto #

Enviar atributos simples #

Si los atributos que deseas enviar ya están disponibles como atributos simples en tu administración de Magento 2, se pueden agregar fácilmente desde la página de la extensión.

  1. Comienza yendo a Stores -> Product
Product attributes page

Aquí puedes ver todos los atributos disponibles en tu tienda.

Encuentra los códigos de atributo de los que deseas enviar a Clerk:

Attribute codes
  1. Asegúrate de que tu atributo sea Visible y usado en Listados de Productos.

Puedes comprobarlo haciendo clic en el atributo y yendo a Propiedades de la vitrina:

Storefront properties
  1. Ve a Stores->Configuration->Clerk->Configuration

  2. En Synchronization -> Additonal Fields, escribe los códigos de atributo separados por comas :

  3. Haz clic en Save Config en la esquina derecha.

(*Si no puedes encontrar la extensión Clerk, asegúrate de seleccionar la tienda correcta haciendo clic en “Scope” en la parte superior izquierda.)

  1. Ve a System -> Cache Management

  2. Borra las distintas memorias caché aquí:

Cache management
  1. Después de implementar tus atributos, ve a my.clerk.io->Data y haz clic en Start New Data Sync en la esquina superior derecha.
Start new data sync

Si los atributos que deseas enviar ya están disponibles como parte de los datos de tus productos configurables/agrupados en tu administración de Magento 2, se pueden sincronizar fácilmente en la última versión de tu plugin.

Aparecerán como child_attribute, por ejemplo, child_color, child_skus, etc.

Child attributes

Enviar atributos personalizados #

Los atributos personalizados pueden añadirse a través de la extensión en FTP.

Este archivo gestiona los atributos de producto:

vendor->clerk->magento2->Model->Adapter->Product.php

Cada atributo tiene su propio fieldHandler, en la función addFieldHandlers()

Simplemente añade tu atributo aquí, con la siguiente sintaxis:

$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function($item) {
   return MAGENTO2_LOGIC;
});

Donde CLERK_ATTRIBUTE_NAME define el nombre que quieres que tenga en Clerk, y MAGENTO2_LOGIC es el código que obtiene el atributo de Magento 2.

Custom attribute code

Importar datos de productos simples #

El siguiente código se puede usar para obtener cualquier información que desees de productos simples dentro de un producto configurable, para que Clerk lo reciba como un array de datos.

Esto es especialmente útil para atributos como SKUs, tallas o colores, para que sean buscables y filtrables en Clerk.

Al igual que el script de atributos personalizados anterior, los datos de productos para productos configurables se pueden agregar a través de la extensión en FTP.

Este archivo gestiona los atributos de producto:

vendor->clerk->magento2->Model->Adapter->Product.php

Añade el siguiente código al archivo:

{%raw%}
$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function ($item) {
 $simple_products_array = [];
 if ($item->getTypeId() === Configurable::TYPE_CODE) {
  $simple_products = $item->getTypeInstance()->getUsedProducts($item);
   foreach ($simple_products as $product) {
    array_push($simple_products_array, $product->getATTRIBUTE_TEXT());
         }
       }
  return array_values(array_unique($simple_products_array));
            });
{%endraw%}

Donde CLERK_ATTRIBUTE_NAME define el nombre que quieras que tenga en Clerk, y getATTRIBUTE_TEXT es la función get con el texto del atributo que estés llamando, por ejemplo, $product->getSKU().

Por último, incluye tus nuevos atributos en la extensión Clerk en la administración de Magento 2, en Synchronization -> Additional Fields. (Como se explicó en el punto 4)

Después de implementar tus atributos, ve a my.clerk.io->Data y haz clic en Start New Data Sync en la esquina superior derecha.

Additional fields configuration

Personalización de los datos de clientes #

Al igual que con los Productos, los Clientes están representados con atributos en Clerk.

Enviando atributos de Cliente, puedes usar Audience como una Plataforma de Datos de Clientes (CDP) y crear Audiences basadas en cualquier atributo que envíes, como región, género, códigos fiscales, etc.

Puedes leer más sobre la gestión de atributos de clientes en Magento2 aquí.

  1. Comienza por averiguar qué atributos tienes disponibles y cuáles son sus Códigos de Atributo.

Esto lo puedes encontrar en el backend de Magento 2 en Stores > Attributes > Customer.

Customer attributes
  1. Una vez tengas los códigos de atributo que deseas, ve a:

Stores > Settings **> Configuration > Clerk > Configuration > Customer Synchronization**

  1. En Extra Customer Attributes, añade una lista separada por comas de los atributos que deseas sincronizar.

  2. Haz clic en Save Config.

Extra customer attributes
  1. Ve a my.clerk.io > Data y haz clic en Start New Data Sync para sincronizar los nuevos atributos:
Start new data sync

Elegir productos a importar #

Por defecto, la extensión Magento 2 solo importa productos que estén en stock y vendibles.

Esto puede cambiarse si es necesario.

Incluir productos agotados #

En el backend de Magento 2, ve a Stores->Configuration->Clerk->Configuration.

En Product Synchronization tienes dos opciones para elegir los productos que importar:

  • Only synchronize saleable products te permite elegir si enviar productos que no pueden comprarse pero aún se muestran

  • Only synchronize product with visibility te permite elegir una visibilidad específica que deben tener los productos

Product synchronization settings

Después de realizar tus cambios, haz clic en Save Config.

Si haces esto, también te recomendamos que añadas un atributo extra a Magento 2 que indique cuando un producto no es vendible, para que puedas mostrarlo en tu Diseño.

Asumiendo que crees un atributo llamado is_saleable que sea true o false, puedes usarlo así en Designs:

{% raw %}
{% if product.is_saleable %}
   <div class="in-stock">En Stock</div>
{% else %}
  <div class="not-in-stock">Sin Stock</div>
{% endif %}
{% endraw %}

Luego ve a my.clerk.io -> Data Sync y haz clic en Start Sync para sincronizar con las nuevas reglas.

Añadir reglas personalizadas #

El siguiente archivo controla qué productos se importan a Clerk:

vendor->clerk->magento2->Model->Adapter->Product.php

En la parte inferior de este archivo, localiza la función llamada prepareCollection().

Si lo necesitas, puedes añadir reglas avanzadas a esta función, para controlar qué productos enviar:

Prepare collection function

Luego ve a my.clerk.io -> Data y haz clic en Start Full Data Sync para sincronizar con las nuevas reglas.

Start full data sync

Desactivar la sincronización de pedidos #

Después de que la primera sincronización de datos se haya ejecutado con éxito, la sincronización de pedidos desde Magento 2 puede desactivarse porque el seguimiento de ventas de la extensión se encargará.

Para desactivar la sincronización de pedidos, ingresa a tu backend de Magento 2, haz clic en STORES y luego en CONFIGURATION:

Stores configuration

Luego, desplázate hacia abajo y encuentra la pestaña llamada CLERK, haz clic y pulsa CONFIGURATION:

Clerk configuration

Haz clic en SYNCHRONIZATION, cambia el campo DISABLE ORDER SYNCHRONIZATION a NO y presiona SAVE en la parte superior de la página:

Disable order synchronization

Los cambios se aplican de inmediato.

Esta página ha sido traducida por una IA útil, por lo que puede contener errores de idioma. Muchas gracias por su comprensión.