Magento 2

Sync Data

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

Sincroniza tus productos, atributos y datos de clientes de Magento 2 con Clerk. Esta guía cubre la personalización de datos de productos y clientes, la elección de los productos a 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 de Clerk en tu panel de administración 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 online y cualquier ajuste opcional que necesites.

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

  4. Selecciona el idioma para 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 productos #

Envío de atributos simples #

Si los atributos que deseas enviar ya están disponibles como atributos simples en el administrador de Magento 2, pueden añadirse fácilmente en 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 atributos de aquellos 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 del escaparate:

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 de Clerk, asegúrate de seleccionar la tienda correcta haciendo clic en " Scope" en la parte superior izquierda.)

  1. Ve a System -> Cache Management

  2. Limpia las distintas cachés aquí:

Cache management
  1. Después de agregar 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 productos configurables/agrupados en tu administrador de Magento2, pueden sincronizarse fácilmente en la versión más reciente de tu complemento.

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

Child attributes

Envío de atributos personalizados #

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

Este archivo gestiona los atributos de los productos:

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 para extraer el atributo de Magento 2.

Custom attribute code

Importación de datos de productos simples #

El siguiente código puede usarse para obtener cualquier dato 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, y así hacerlos buscables y filtrables en Clerk.

Como en el script de atributos personalizados anterior, los datos de productos para productos configurables pueden añadirse a través de la extensión en FTP.

Este archivo gestiona los atributos de productos:

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

Agrega 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 quieres que tenga en Clerk, y getATTRIBUTE_TEXT es la función get con el texto para el atributo al que estás llamando, por ejemplo $product->getSKU().

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

Después de añadir los 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 se representan con atributos en Clerk.

Al enviar atributos de Clientes, puedes usar Audience como una Customer Data Platform (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 cómo maneja Magento2 los atributos de cliente aquí.

  1. Comienza por averiguar qué atributos tienes disponibles y cuáles son sus Attribute Codes.

Puedes encontrar esto en el backend de Magento2 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, agrega 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 de Magento 2 solo importa productos que están en stock y disponibles para la venta.

Esto puede cambiarse si es necesario.

Incluir productos fuera de stock #

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

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

  • Only synchronize saleable products te permite elegir si deseas enviar productos que no pueden comprarse, pero aún así mostrarse

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

Product synchronization settings

Después de hacer los cambios, haz clic en Save Config.

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

Suponiendo 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">No Disponible</div>
{% endif %}
{% endraw %}

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

Agregar reglas personalizadas #

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

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

Al final de este archivo, localiza la función llamada prepareCollection().

Si lo necesitas, puedes agregar 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 correctamente, la sincronización de pedidos desde Magento2 puede desactivarse, ya que el seguimiento de ventas de la extensión toma el control.

Para desactivar la sincronización de pedidos, ingresa en tu administrador de Magento2, haz clic en STORES y después en CONFIGURATION:

Stores configuration

Luego, desplázate hacia abajo y encuentra la pestaña llamada CLERK, haz clic y presiona 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 tienen efecto 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.