# Integração com Magento

<Aside type="caution" icon="setting" title="Assistência do desenvolvedor necessária">
 Você precisará da ajuda da sua equipe de desenvolvimento para configurar a integração. Por favor, compartilhe este guia com eles.
</Aside>

## Visão geral da integração

[Magento](https://business.adobe.com/products/commerce.html) é uma plataforma de e-commerce líder que ajuda as empresas a gerenciar produtos, clientes e pedidos em escala. Ao integrar o Magento com a Pushwoosh, você pode sincronizar automaticamente clientes, pedidos e carrinhos abandonados para permitir mensagens em tempo real, segmentação direcionada e automação de marketing multicanal, ajudando você a engajar usuários e aumentar as conversões diretamente da atividade da sua loja.

### Tipo de integração

**Destino**: Esta integração envia dados da sua loja Magento para a Pushwoosh.

### Pré-requisitos

Antes de prosseguir, certifique-se do seguinte:

* Acesso ao Painel de Administração do Magento 
    
* Uma conta Pushwoosh válida  
    
* Seu [token de acesso à API](/pt/developer/api-reference/api-access-token/) e [código do aplicativo](/pt/developer/api-reference/api-identifiers/#application-code) da Pushwoosh  
    
* [Composer](https://getcomposer.org/) instalado no seu servidor Magento  
    
* Requisitos de sistema atendidos:  
    
  * PHP 7.4 / 8.x  
  * Magento 2.3 / 2.4  
  * Elasticsearch 7  
  * RabbitMQ

### Glossário
Mapeamento de nomes de entidades se forem diferentes:

| Magento  | Pushwoosh  |
| :---- | :---- |
| Cliente | Usuário |

### Lista de entidades sincronizadas: 

* Clientes  
* Pedidos  
* Carrinhos abandonados

### Casos de uso

* Envie notificações push com base em eventos de criação de pedidos e abandono de carrinho.

* Segmente clientes com base em atributos (por exemplo, localização, aniversário) e envie campanhas direcionadas.

* Envie notificações promocionais baseadas no navegador.

## Configure a integração

### Instalação
<Aside>Para instalar a integração da Pushwoosh, certifique-se de que você tem o [Composer](https://getcomposer.org/) instalado.</Aside>

1. Execute o seguinte comando do Composer na raiz do seu projeto Magento:

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


2. Assim que o pacote for instalado, execute a configuração do Magento para instalar o módulo:

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

### Configuração pós-instalação

Após concluir a instalação:

1. Faça login no painel de Administração do Magento.  
     
2. Navegue para **Lojas > Configuração > Pushwoosh > Configuração**.

![Configuração da Pushwoosh no Painel de Administração do Magento](/integrations-magento-integration-1.webp)

#### Configurações gerais

Na seção **Geral**, configure os seguintes campos:

* **Status**: Defina como `Enable` para ativar a integração.  
* **URL da API**: Insira o endpoint da API da Pushwoosh: `https://api.pushwoosh.com/`  
* **Chave da API**: Cole sua Chave da API da Pushwoosh necessária para autenticar as solicitações. [Saiba mais sobre a chave de acesso à API da Pushwoosh](/pt/developer/api-reference/api-access-token/)  
* **Código do Aplicativo**: Insira o [Código do Aplicativo Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) correspondente ao seu aplicativo móvel ou web. 

Abaixo estão as opções de configuração disponíveis para sincronizar clientes, pedidos e carrinhos abandonados.

#### Configuração de sincronização de pedidos

Defina como os dados do pedido são sincronizados entre sua loja Magento e a Pushwoosh.   


Preencha os seguintes campos: 

|  | |
|-------------|-----------------|
| **Ativar Sincronização de Pedidos** | Defina como **Sim** para ativar a sincronização automática de pedidos. Se ativado, o processo seguirá o agendamento cron definido. Defina como **Não** para desativar a sincronização automática. |
| **Configurações do Cron** | Disponível apenas se a Sincronização de Pedidos estiver ativada. Defina quando o trabalho cron deve ser executado usando os seguintes campos: `Minuto`, `Hora`, `Dia`, `Mês`, `Dia da Semana`. **Cron** é um agendador baseado em tempo usado para executar tarefas automaticamente em intervalos especificados. |
| **Número de Pedidos para Sincronizar** | Especifique quantos pedidos processar durante cada execução de sincronização. |
| **Sincronização de Pedidos em Tempo Real** | Defina como **Sim** para sincronizar pedidos imediatamente após a sua realização. |

![Configurações de sincronização de pedidos](/integrations-magento-integration-3.webp) 

Aqui você também pode ver o status da sincronização de pedidos:

* **Total de Pedidos**: Exibe o número total de pedidos avaliados para sincronização.  
* **Pedidos Sincronizados**: Número de pedidos sincronizados com sucesso com a Pushwoosh.  
* **Pedidos Não Sincronizados**: Pedidos que ainda não foram sincronizados.  
* **Pedidos com Falha na Sincronização**: Pedidos para os quais as tentativas de sincronização falharam.



#### Configuração de sincronização de carrinhos abandonados

Configure a sincronização de dados de carrinhos de compras abandonados entre sua loja Magento e a Pushwoosh. 

Preencha os seguintes campos: 

|  |  |
|-------------|-----------------|
| **Sincronização de Carrinhos Abandonados** | Defina como **Sim** para ativar a sincronização automática de dados de carrinhos abandonados. Se ativado, a sincronização é executada de acordo com o agendamento cron definido. |
| **Configuração de Agendamento do Cron** | Defina quando a sincronização deve ser executada usando os seguintes campos: `Minuto`, `Hora`, `Dia`, `Mês`, `Dia da Semana`. **Cron** é um agendador de tarefas baseado em tempo que executa tarefas automaticamente em intervalos especificados. |
| **Número de Carrinhos Abandonados** | Especifique quantos carrinhos abandonados serão processados durante cada execução de sincronização. |
| **Tempo Mínimo de Inatividade** | Defina o tempo mínimo de inatividade (em minutos) para que um carrinho seja considerado abandonado. Por exemplo, `60` significa que carrinhos inativos por pelo menos 60 minutos serão elegíveis para sincronização. |

![Configurações de sincronização de carrinhos abandonados](/integrations-magento-integration-4.webp) 

Aqui você também pode ver métricas em tempo real sobre a atividade de sincronização:

* **Total de Carrinhos Abandonados**: Número total de carrinhos identificados como abandonados.  
* **Carrinhos Abandonados Sincronizados**: Número de carrinhos sincronizados com sucesso com a Pushwoosh.  
* **Carrinhos Abandonados Não Sincronizados**: Número de carrinhos que ainda não foram sincronizados.  
* **Carrinhos Abandonados com Falha na Sincronização**: Número de carrinhos para os quais a sincronização falhou.

#### Configuração de sincronização de clientes

Configure a sincronização de dados de clientes da sua loja Magento para a Pushwoosh para permitir a segmentação de público e mensagens personalizadas com base nos atributos do cliente.

Preencha os seguintes campos: 


|  |  |
|-------------|-----------------|
| **Sincronização de Clientes** | Defina como **Sim** para ativar a sincronização de todos os registros de clientes existentes e novos. A sincronização seguirá o agendamento cron definido e usará os mapeamentos de atributos especificados. |
| **Configuração de Agendamento do Cron** | Defina quando a sincronização deve ser executada usando os seguintes campos: `Minuto`, `Hora`, `Dia`, `Mês`, `Dia da Semana`. **Cron** é um agendador de tarefas baseado em tempo usado para executar tarefas automaticamente em intervalos especificados. |
| **Mapeamento de Campos Personalizados do Cliente** | Mapeie os atributos do cliente do Magento para os campos personalizados da Pushwoosh para uma transferência de dados precisa. Exemplos: `Data de Nascimento → Aniversário`, `Primeiro Nome → primeiroNome` |
| **Número de Clientes** | Defina o número máximo de clientes a serem sincronizados por execução do cron. |

![Configurações de sincronização de clientes](/integrations-magento-integration-5.webp) 

Aqui você também pode ver as estatísticas de sincronização:

* **Total de Clientes**: Número total de registros de clientes identificados para sincronização.  
* **Clientes Sincronizados**: Número de clientes sincronizados com sucesso com a Pushwoosh.  
* **Clientes Não Sincronizados**: Clientes pendentes de sincronização.  
* **Clientes com Falha na Sincronização**: Clientes que não foram sincronizados devido a erros.

#### Configuração de notificações da web

Defina como `Sim` para ativar as notificações push da web para os visitantes da sua loja. Defina como `Não` para desativar esta funcionalidade.

Quando ativado, sua loja Magento pode enviar mensagens em tempo real para os usuários através do navegador deles. As notificações podem ser usadas para ofertas promocionais, atualizações de status de pedidos, lembretes de carrinho abandonado e outras comunicações de marketing.

![Configuração de notificações da web no Magento](/integrations-magento-integration-6.webp) 

#### Salvar configuração

Depois que todos os campos obrigatórios forem preenchidos, clique no botão **Salvar Configuração** localizado no canto superior direito. Limpe o cache do Magento se solicitado para aplicar as alterações.

![Botão Salvar Configuração no Painel de Administração do Magento](/integrations-magento-integration-7.webp) 

## Opções de sincronização manual

#### Sincronizar clientes selecionados para a Pushwoosh 

Se você preferir não sincronizar todos os clientes automaticamente, pode sincronizar manualmente clientes individuais ou selecionados.

1. No Painel de Administração do Magento, navegue para **Clientes > Todos os Clientes**.  
2. Localize e selecione o(s) cliente(s) que deseja sincronizar.  
3. No menu suspenso **Ações** acima da lista de clientes, escolha **Sincronizar com a Pushwoosh**.

![Ação Sincronizar com a Pushwoosh para clientes](/integrations-magento-integration-8.webp) 

Após a conclusão da sincronização, os dados do cliente aparecerão na seção [Explorador de Usuários](/pt/product/audience-data-and-segmentation/user-explorer/) da sua conta Pushwoosh, com todas as informações relevantes transferidas do Magento.

#### Sincronizar pedidos selecionados para a Pushwoosh 

Se você preferir não sincronizar todos os pedidos automaticamente, pode sincronizar manualmente pedidos específicos. Para isso: 

1. No Painel de Administração do Magento, navegue para **Vendas > Pedidos**.

2. Selecione um ou mais pedidos da lista.

3. No menu suspenso **Ações**, escolha **Sincronizar com a Pushwoosh**.

![Ação Sincronizar com a Pushwoosh para pedidos](/integrations-magento-integration-9.webp) 

Após a sincronização, o pedido aparecerá na seção Eventos do perfil do usuário no [Explorador de Usuários](/pt/product/audience-data-and-segmentation/user-explorer/) da Pushwoosh como um evento `PW_OrderCreated` ou `PW_OrderUpdated` (se o status do pedido tiver mudado), incluindo informações detalhadas do pedido.

#### Sincronizar carrinhos abandonados selecionados 

Para sincronizar manualmente carrinhos abandonados selecionados:

1. No Painel de Administração do Magento, vá para a seção **Carrinhos Abandonados**.  
2. Selecione o carrinho que deseja sincronizar.  
3. No menu suspenso **Ações**, escolha **Sincronizar com a Pushwoosh**.

**Nota:** Certifique-se de ter configurado o período de inatividade necessário nas configurações de **Sincronização de Carrinhos Abandonados** para determinar quando um carrinho é considerado abandonado.

![Ação Sincronizar com a Pushwoosh para carrinhos abandonados](/integrations-magento-integration-10.webp) 

Após a sincronização, os dados do carrinho abandonado aparecerão na seção **Eventos** do perfil do usuário no [Explorador de Usuários](/pt/product/audience-data-and-segmentation/user-explorer/) da Pushwoosh como um evento `PW_AbandonedCart` com informações detalhadas.

Além disso, duas tags serão definidas no perfil do usuário:

* **Data do Carrinho Abandonado** → `PW_AbandonedCartDate`
* **ID do Carrinho Abandonado** → `PW_AbandonedCartID`

Essas tags podem ser usadas para enviar lembretes de carrinho abandonado usando conteúdo conectado em seus modelos de e-mail. [Saiba mais](/pt/product/personalization/liquid-templates/#connected-content) 

### Verifique se a integração está funcionando

Para confirmar que a integração está funcionando corretamente:

1. Crie um cliente de teste no Magento.  
2. Sincronize manualmente o cliente com a Pushwoosh.  
3. Abra o [Explorador de Usuários](/pt/product/audience-data-and-segmentation/user-explorer/) no seu painel da Pushwoosh e encontre o cliente.

Se o cliente aparecer no [Explorador de Usuários](/pt/product/audience-data-and-segmentation/user-explorer/), isso indica que a sincronização foi bem-sucedida.