# Integración con Magento

<Aside type="caution" icon="setting" title="Se necesita ayuda del desarrollador">
 Necesitarás ayuda de tu equipo de desarrollo para configurar la integración. Por favor, comparte esta guía con ellos.
</Aside>

## Resumen de la integración

[Magento](https://business.adobe.com/products/commerce.html) es una plataforma de comercio electrónico líder que ayuda a las empresas a gestionar productos, clientes y pedidos a gran escala. Al integrar Magento con Pushwoosh, puedes sincronizar automáticamente clientes, pedidos y carritos abandonados para habilitar la mensajería en tiempo real, la segmentación dirigida y la automatización del marketing multicanal, ayudándote a interactuar con los usuarios y aumentar las conversiones directamente desde la actividad de tu tienda.

### Tipo de integración

**Destino**: Esta integración envía datos desde tu tienda Magento a Pushwoosh.

### Prerrequisitos

Antes de continuar, asegúrate de lo siguiente:

* Acceso al Panel de Administración de Magento
    
* Una cuenta de Pushwoosh válida
    
* Tu [token de acceso a la API de Pushwoosh](/es/developer/api-reference/api-access-token/) y el [código de la aplicación](/es/developer/api-reference/api-identifiers/#application-code)
    
* [Composer](https://getcomposer.org/) instalado en tu servidor de Magento
    
* Requisitos del sistema cumplidos:
    
  * PHP 7.4 / 8.x
  * Magento 2.3 / 2.4
  * Elasticsearch 7
  * RabbitMQ

### Glosario
Mapeo de nombres de entidades si son diferentes:

| Magento | Pushwoosh |
| :---- | :---- |
| Cliente | Usuario |

### Lista de entidades sincronizadas:

* Clientes
* Pedidos
* Carritos abandonados

### Casos de uso

* Enviar notificaciones push basadas en eventos de creación de pedidos y abandono de carritos.

* Segmentar clientes según atributos (p. ej., ubicación, cumpleaños) y enviar campañas dirigidas.

* Enviar notificaciones promocionales basadas en el navegador.

## Configurar la integración

### Instalación
<Aside>Para instalar la integración de Pushwoosh, asegúrate de tener [Composer](https://getcomposer.org/) instalado.</Aside>

1. Ejecuta el siguiente comando de Composer en la raíz de tu proyecto de Magento:

```shell
composer require pushwoosh/magento2-integration
```


2. Una vez que el paquete esté instalado, ejecuta la configuración de Magento para instalar el módulo:

```shell
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:clean
```

### Configuración posterior a la instalación

Después de completar la instalación:

1. Inicia sesión en el panel de Administración de Magento.
     
2. Navega a **Tiendas > Configuración > Pushwoosh > Configuración**.

![Configuración de Pushwoosh en el Panel de Administración de Magento](/integrations-magento-integration-1.webp)

#### Ajustes generales

En la sección **General**, configura los siguientes campos:

* **Estado**: Establécelo en `Habilitar` para activar la integración.
* **URL de la API**: Introduce el endpoint de la API de Pushwoosh: `https://api.pushwoosh.com/`
* **Clave de la API**: Pega tu clave de la API de Pushwoosh necesaria para autenticar las solicitudes. [Aprende más sobre la clave de acceso a la API de Pushwoosh](/es/developer/api-reference/api-access-token/)
* **Código de la Aplicación**: Introduce el [Código de la Aplicación de Pushwoosh](/es/developer/api-reference/api-identifiers/#application-code) correspondiente a tu aplicación móvil o web.

A continuación se presentan las opciones de configuración disponibles para sincronizar clientes, pedidos y carritos abandonados.

#### Configuración de sincronización de pedidos

Define cómo se sincronizan los datos de los pedidos entre tu tienda Magento y Pushwoosh.


Rellena los siguientes campos:

| | |
|-------------|-----------------|
| **Habilitar Sincronización de Pedidos** | Establécelo en **Sí** para habilitar la sincronización automática de pedidos. Si está habilitado, el proceso seguirá el horario de cron definido. Establécelo en **No** para deshabilitar la sincronización automática. |
| **Configuración de Cron** | Disponible solo si la Sincronización de Pedidos está habilitada. Define cuándo debe ejecutarse el trabajo de cron utilizando los siguientes campos: `Minuto`, `Hora`, `Día`, `Mes`, `Día de la semana`. **Cron** es un programador basado en tiempo que se utiliza para ejecutar tareas automáticamente a intervalos especificados. |
| **Número de Pedidos a Sincronizar** | Especifica cuántos pedidos procesar durante cada ejecución de sincronización. |
| **Sincronización de Pedidos en Tiempo Real** | Establécelo en **Sí** para sincronizar los pedidos inmediatamente después de su realización. |

![Ajustes de configuración de sincronización de pedidos](/integrations-magento-integration-3.webp)

Aquí también puedes ver el estado de la sincronización de pedidos:

* **Total de Pedidos**: Muestra el número total de pedidos evaluados para la sincronización.
* **Pedidos Sincronizados**: Número de pedidos sincronizados con éxito con Pushwoosh.
* **Pedidos no Sincronizados**: Pedidos que aún no han sido sincronizados.
* **Pedidos con Sincronización Fallida**: Pedidos para los cuales los intentos de sincronización han fallado.



#### Configuración de sincronización de carritos abandonados

Configura la sincronización de los datos de los carritos de compra abandonados entre tu tienda Magento y Pushwoosh.

Rellena los siguientes campos:

| | |
|-------------|-----------------|
| **Sincronización de Carritos Abandonados** | Establécelo en **Sí** para habilitar la sincronización automática de los datos de los carritos abandonados. Si está habilitado, la sincronización se ejecuta según el horario de cron definido. |
| **Configuración del Horario de Cron** | Define cuándo debe ejecutarse la sincronización utilizando los siguientes campos: `Minuto`, `Hora`, `Día`, `Mes`, `Día de la semana`. **Cron** es un programador de tareas basado en tiempo que ejecuta tareas automáticamente a intervalos especificados. |
| **Número de Carritos Abandonados** | Especifica cuántos carritos abandonados se procesarán durante cada ejecución de sincronización. |
| **Tiempo Mínimo de Inactividad** | Establece el tiempo mínimo de inactividad (en minutos) para que un carrito se considere abandonado. Por ejemplo, `60` significa que los carritos inactivos durante al menos 60 minutos serán elegibles para la sincronización. |

![Ajustes de configuración de sincronización de carritos abandonados](/integrations-magento-integration-4.webp)

Aquí también puedes ver métricas en tiempo real sobre la actividad de sincronización:

* **Total de Carritos Abandonados**: Número total de carritos identificados como abandonados.
* **Carritos Abandonados Sincronizados**: Número de carritos sincronizados con éxito con Pushwoosh.
* **Carritos Abandonados no Sincronizados**: Número de carritos que aún no han sido sincronizados.
* **Carritos Abandonados con Sincronización Fallida**: Número de carritos para los cuales la sincronización ha fallado.

#### Configuración de sincronización de clientes

Configura la sincronización de los datos de los clientes desde tu tienda Magento a Pushwoosh para permitir la segmentación de la audiencia y la mensajería personalizada basada en los atributos del cliente.

Rellena los siguientes campos:


| | |
|-------------|-----------------|
| **Sincronización de Clientes** | Establécelo en **Sí** para habilitar la sincronización de todos los registros de clientes existentes y nuevos. La sincronización seguirá el horario de cron definido y utilizará los mapeos de atributos especificados. |
| **Configuración del Horario de Cron** | Define cuándo debe ejecutarse la sincronización utilizando los siguientes campos: `Minuto`, `Hora`, `Día`, `Mes`, `Día de la semana`. **Cron** es un programador de tareas basado en tiempo que se utiliza para ejecutar tareas automáticamente a intervalos especificados. |
| **Mapeo de Campos Personalizados del Cliente** | Mapea los atributos de los clientes de Magento a los campos personalizados de Pushwoosh para una transferencia de datos precisa. Ejemplos: `Fecha de Nacimiento → Cumpleaños`, `Nombre → firstName` |
| **Número de Clientes** | Establece el número máximo de clientes a sincronizar por ejecución de cron. |

![Ajustes de configuración de sincronización de clientes](/integrations-magento-integration-5.webp)

Aquí también puedes ver estadísticas de sincronización:

* **Total de Clientes**: Número total de registros de clientes identificados para la sincronización.
* **Clientes Sincronizados**: Número de clientes sincronizados con éxito con Pushwoosh.
* **Clientes no Sincronizados**: Clientes pendientes de sincronización.
* **Clientes con Sincronización Fallida**: Clientes que no se pudieron sincronizar debido a errores.

#### Configuración de notificaciones web

Establécelo en `Sí` para habilitar las notificaciones push web para los visitantes de tu tienda. Establécelo en `No` para deshabilitar esta funcionalidad.

Cuando está habilitado, tu tienda Magento puede enviar mensajes en tiempo real a los usuarios a través de su navegador. Las notificaciones se pueden utilizar para ofertas promocionales, actualizaciones del estado del pedido, recordatorios de carritos abandonados y otras comunicaciones de marketing.

![Configuración de notificaciones web en Magento](/integrations-magento-integration-6.webp)

#### Guardar configuración

Una vez que todos los campos requeridos estén completos, haz clic en el botón **Guardar Configuración** ubicado en la esquina superior derecha. Limpia la caché de Magento si se te solicita para aplicar los cambios.

![Botón Guardar Configuración en el Panel de Administración de Magento](/integrations-magento-integration-7.webp)

## Opciones de sincronización manual

#### Sincronizar clientes seleccionados con Pushwoosh

Si prefieres no sincronizar todos los clientes automáticamente, puedes sincronizar manualmente clientes individuales o seleccionados.

1. En el Panel de Administración de Magento, navega a **Clientes > Todos los Clientes**.
2. Localiza y selecciona el/los cliente(s) que deseas sincronizar.
3. En el menú desplegable **Acciones** sobre la lista de clientes, elige **Sincronizar con Pushwoosh**.

![Acción Sincronizar con Pushwoosh para clientes](/integrations-magento-integration-8.webp)

Una vez que la sincronización se complete, los datos del cliente aparecerán en la sección [User Explorer](/es/product/audience-data-and-segmentation/user-explorer/) de tu cuenta de Pushwoosh, con toda la información relevante transferida desde Magento.

#### Sincronizar pedidos seleccionados con Pushwoosh

Si prefieres no sincronizar todos los pedidos automáticamente, puedes sincronizar manualmente pedidos específicos. Para ello:

1. En el Panel de Administración de Magento, navega a **Ventas > Pedidos**.

2. Selecciona uno o más pedidos de la lista.

3. En el menú desplegable **Acciones**, elige **Sincronizar con Pushwoosh**.

![Acción Sincronizar con Pushwoosh para pedidos](/integrations-magento-integration-9.webp)

Después de la sincronización, el pedido aparecerá en la sección de Eventos del perfil del usuario en el [User Explorer](/es/product/audience-data-and-segmentation/user-explorer/) de Pushwoosh como un evento `PW_OrderCreated` o `PW_OrderUpdated` (si el estado del pedido ha cambiado), incluyendo información detallada del pedido.

#### Sincronizar carritos abandonados seleccionados

Para sincronizar manualmente los carritos abandonados seleccionados:

1. En el Panel de Administración de Magento, ve a la sección **Carritos Abandonados**.
2. Selecciona el carrito que deseas sincronizar.
3. En el menú desplegable **Acciones**, elige **Sincronizar con Pushwoosh**.

**Nota:** Asegúrate de haber configurado el período de inactividad requerido en los ajustes de **Sincronización de Carritos Abandonados** para determinar cuándo un carrito se considera abandonado.

![Acción Sincronizar con Pushwoosh para carritos abandonados](/integrations-magento-integration-10.webp)

Después de la sincronización, los datos del carrito abandonado aparecerán en la sección **Eventos** del perfil del usuario en el [User Explorer](/es/product/audience-data-and-segmentation/user-explorer/) de Pushwoosh como un evento `PW_AbandonedCart` con información detallada.

Además, se establecerán dos tags en el perfil del usuario:

* **Fecha del Carrito Abandonado** → `PW_AbandonedCartDate`
* **ID del Carrito Abandonado** → `PW_AbandonedCartID`

Estos tags se pueden utilizar para enviar recordatorios de carritos abandonados utilizando contenido conectado en tus plantillas de correo electrónico. [Aprende más](/es/product/personalization/liquid-templates/#connected-content)

### Verificar que la integración funciona

Para confirmar que la integración funciona correctamente:

1. Crea un cliente de prueba en Magento.
2. Sincroniza manualmente el cliente con Pushwoosh.
3. Abre el [User Explorer](/es/product/audience-data-and-segmentation/user-explorer/) en tu panel de control de Pushwoosh y busca al cliente.

Si el cliente aparece en el [User Explorer](/es/product/audience-data-and-segmentation/user-explorer/), indica que la sincronización fue exitosa.