# Интеграция с Magento

<Aside type="caution" icon="setting" title="Требуется помощь разработчика">
 Для настройки интеграции вам понадобится помощь вашей команды разработчиков. Пожалуйста, поделитесь с ними этим руководством.
</Aside>

## Обзор интеграции

[Magento](https://business.adobe.com/products/commerce.html) — это ведущая платформа для электронной коммерции, которая помогает компаниям управлять продуктами, клиентами и заказами в больших масштабах. Интегрируя Magento с Pushwoosh, вы можете автоматически синхронизировать клиентов, заказы и брошенные корзины, чтобы обеспечить обмен сообщениями в реальном времени, целевую сегментацию и кросс-канальную автоматизацию маркетинга, что поможет вам вовлекать пользователей и увеличивать конверсии непосредственно на основе активности в вашем магазине.

### Тип интеграции

**Назначение**: Эта интеграция передает данные из вашего магазина Magento в Pushwoosh.

### Предварительные требования

Прежде чем продолжить, убедитесь в следующем:

*   Доступ к панели администратора Magento
    
*   Действующий аккаунт Pushwoosh
    
*   Ваш [токен доступа API Pushwoosh](/ru/developer/api-reference/api-access-token/) и [код приложения](/ru/developer/api-reference/api-identifiers/#application-code)
    
*   [Composer](https://getcomposer.org/), установленный на вашем сервере Magento
    
*   Соответствие системным требованиям:
    
    *   PHP 7.4 / 8.x
    *   Magento 2.3 / 2.4
    *   Elasticsearch 7
    *   RabbitMQ

### Глоссарий
Сопоставление названий сущностей, если они различаются:

| Magento | Pushwoosh |
| :---- | :---- |
| Клиент | Пользователь |

### Список синхронизируемых сущностей:

*   Клиенты
*   Заказы
*   Брошенные корзины

### Варианты использования

*   Отправка push-уведомлений на основе событий создания заказа и брошенной корзины.

*   Сегментация клиентов на основе атрибутов (например, местоположение, день рождения) и отправка целевых кампаний.

*   Отправка рекламных уведомлений в браузере.

## Настройка интеграции

### Установка
<Aside>Чтобы установить интеграцию с Pushwoosh, убедитесь, что у вас установлен [Composer](https://getcomposer.org/).</Aside>

1.  Выполните следующую команду Composer в корневом каталоге вашего проекта Magento:

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

2.  После установки пакета запустите настройку Magento для установки модуля:

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

### Конфигурация после установки

После завершения установки:

1.  Войдите в панель администратора Magento.
    
2.  Перейдите в **Stores > Configuration > Pushwoosh > Configuration**.

![Конфигурация Pushwoosh в панели администратора Magento](/integrations-magento-integration-1.webp)

#### Общие настройки

В разделе **General** настройте следующие поля:

*   **Status**: Установите значение `Enable`, чтобы активировать интеграцию.
*   **API URL**: Введите эндпоинт API Pushwoosh: `https://api.pushwoosh.com/`
*   **API Key**: Вставьте ваш ключ API Pushwoosh, необходимый для аутентификации запросов. [Узнайте больше о ключе доступа API Pushwoosh](/ru/developer/api-reference/api-access-token/)
*   **App Code**: Введите [код приложения Pushwoosh](/ru/developer/api-reference/api-identifiers/#application-code), соответствующий вашему мобильному или веб-приложению.

Ниже приведены доступные опции конфигурации для синхронизации клиентов, заказов и брошенных корзин.

#### Конфигурация синхронизации заказов

Определите, как данные о заказах будут синхронизироваться между вашим магазином Magento и Pushwoosh.

Заполните следующие поля:

| | |
|---|---|
| **Order Sync Enable** | Установите **Yes**, чтобы включить автоматическую синхронизацию заказов. Если включено, процесс будет следовать определенному расписанию cron. Установите **No**, чтобы отключить автоматическую синхронизацию. |
| **Cron Settings** | Доступно только если включена синхронизация заказов. Определите, когда должно выполняться задание cron, используя следующие поля: `Minute`, `Hour`, `Day`, `Month`, `Weekday`. **Cron** — это планировщик на основе времени, используемый для автоматического выполнения задач с заданными интервалами. |
| **Order Sync Numbers** | Укажите, сколько заказов обрабатывать при каждом запуске синхронизации. |
| **Order Sync in Real Time** | Установите **Yes**, чтобы синхронизировать заказы сразу после их размещения. |

![Настройки конфигурации синхронизации заказов](/integrations-magento-integration-3.webp)

Здесь вы также можете видеть статус синхронизации заказов:

*   **Total Orders**: Отображает общее количество заказов, оцененных для синхронизации.
*   **Synced Orders**: Количество заказов, успешно синхронизированных с Pushwoosh.
*   **Not Synced Orders**: Заказы, которые еще не были синхронизированы.
*   **Fail Synced Orders**: Заказы, для которых попытки синхронизации завершились неудачей.

#### Конфигурация синхронизации брошенных корзин

Настройте синхронизацию данных о брошенных корзинах между вашим магазином Magento и Pushwoosh.

Заполните следующие поля:

| | |
|---|---|
| **Abandoned Cart Syncing** | Установите **Yes**, чтобы включить автоматическую синхронизацию данных о брошенных корзинах. Если включено, синхронизация будет выполняться в соответствии с определенным расписанием cron. |
| **Cron Schedule Configuration** | Определите, когда должна выполняться синхронизация, используя следующие поля: `Minute`, `Hour`, `Day`, `Month`, `Weekday`. **Cron** — это планировщик заданий на основе времени, который автоматически выполняет задачи с заданными интервалами. |
| **Number of Abandoned Cart** | Укажите, сколько брошенных корзин будет обрабатываться при каждом запуске синхронизации. |
| **Minimum Inactivity Time** | Установите минимальное время неактивности (в минутах), по истечении которого корзина будет считаться брошенной. Например, `60` означает, что корзины, неактивные в течение как минимум 60 минут, будут подлежать синхронизации. |

![Настройки конфигурации синхронизации брошенных корзин](/integrations-magento-integration-4.webp)

Здесь вы также можете видеть метрики активности синхронизации в реальном времени:

*   **Total Abandoned Carts**: Общее количество корзин, определенных как брошенные.
*   **Synced Abandoned Carts**: Количество корзин, успешно синхронизированных с Pushwoosh.
*   **Not Synced Abandoned Carts**: Количество корзин, которые еще не были синхронизированы.
*   **Fail Synced Abandoned Carts**: Количество корзин, для которых синхронизация завершилась неудачей.

#### Конфигурация синхронизации клиентов

Настройте синхронизацию данных о клиентах из вашего магазина Magento в Pushwoosh, чтобы обеспечить сегментацию аудитории и персонализированные сообщения на основе атрибутов клиентов.

Заполните следующие поля:

| | |
|---|---|
| **Customer Syncing** | Установите **Yes**, чтобы включить синхронизацию всех существующих и новых записей о клиентах. Синхронизация будет следовать определенному расписанию cron и использовать указанные сопоставления атрибутов. |
| **Cron Schedule Configuration** | Определите, когда должна выполняться синхронизация, используя следующие поля: `Minute`, `Hour`, `Day`, `Month`, `Weekday`. **Cron** — это планировщик заданий на основе времени, который автоматически выполняет задачи с заданными интервалами. |
| **Mapping Customer Custom Fields** | Сопоставьте атрибуты клиентов Magento с пользовательскими полями Pushwoosh для точной передачи данных. Примеры: `Date of Birth → Birthday`, `First Name → firstName` |
| **Number of Customers** | Установите максимальное количество клиентов для синхронизации за один запуск cron. |

![Настройки конфигурации синхронизации клиентов](/integrations-magento-integration-5.webp)

Здесь вы также можете видеть статистику синхронизации:

*   **Total Customer**: Общее количество записей о клиентах, определенных для синхронизации.
*   **Synced Customer**: Количество клиентов, успешно синхронизированных с Pushwoosh.
*   **Not Synced Customer**: Клиенты, ожидающие синхронизации.
*   **Fail Synced Customer**: Клиенты, которые не удалось синхронизировать из-за ошибок.

#### Конфигурация веб-уведомлений

Установите `Yes`, чтобы включить веб-push-уведомления для посетителей вашего магазина. Установите `No`, чтобы отключить эту функцию.

Когда функция включена, ваш магазин Magento может отправлять сообщения пользователям в реальном времени через их браузер. Уведомления можно использовать для рекламных предложений, обновлений статуса заказа, напоминаний о брошенных корзинах и других маркетинговых коммуникаций.

![Конфигурация веб-уведомлений в Magento](/integrations-magento-integration-6.webp)

#### Сохранение конфигурации

После заполнения всех обязательных полей нажмите кнопку **Save Config**, расположенную в правом верхнем углу. Очистите кэш Magento, если будет предложено, чтобы применить изменения.

![Кнопка Save Config в панели администратора Magento](/integrations-magento-integration-7.webp)

## Опции ручной синхронизации

#### Синхронизация выбранных клиентов в Pushwoosh

Если вы предпочитаете не синхронизировать всех клиентов автоматически, вы можете вручную синхронизировать отдельных или выбранных клиентов.

1.  В панели администратора Magento перейдите в **Customers > All Customers**.
2.  Найдите и выберите клиента(ов), которого(ых) вы хотите синхронизировать.
3.  В выпадающем меню **Actions** над списком клиентов выберите **Sync to Pushwoosh**.

![Действие Sync to Pushwoosh для клиентов](/integrations-magento-integration-8.webp)

После завершения синхронизации данные о клиенте появятся в разделе [User Explorer](/ru/product/audience-data-and-segmentation/user-explorer/) вашего аккаунта Pushwoosh со всей соответствующей информацией, переданной из Magento.

#### Синхронизация выбранных заказов в Pushwoosh

Если вы предпочитаете не синхронизировать все заказы автоматически, вы можете вручную синхронизировать определенные заказы. Для этого:

1.  В панели администратора Magento перейдите в **Sales > Orders**.

2.  Выберите один или несколько заказов из списка.

3.  В выпадающем меню **Actions** выберите **Sync to Pushwoosh**.

![Действие Sync to Pushwoosh для заказов](/integrations-magento-integration-9.webp)

После синхронизации заказ появится в разделе Events профиля пользователя в [User Explorer](/ru/product/audience-data-and-segmentation/user-explorer/) Pushwoosh как событие `PW_OrderCreated` или `PW_OrderUpdated` (если статус заказа изменился), включая подробную информацию о заказе.

#### Синхронизация выбранных брошенных корзин

Чтобы вручную синхронизировать выбранные брошенные корзины:

1.  В панели администратора Magento перейдите в раздел **Abandoned Carts**.
2.  Выберите корзину, которую вы хотите синхронизировать.
3.  В выпадающем меню **Actions** выберите **Sync to Pushwoosh**.

**Примечание:** Убедитесь, что вы настроили необходимый период неактивности в настройках **Abandoned Cart Sync**, чтобы определить, когда корзина считается брошенной.

![Действие Sync to Pushwoosh для брошенных корзин](/integrations-magento-integration-10.webp)

После синхронизации данные о брошенной корзине появятся в разделе **Events** профиля пользователя в [User Explorer](/ru/product/audience-data-and-segmentation/user-explorer/) Pushwoosh как событие `PW_AbandonedCart` с подробной информацией.

Кроме того, в профиле пользователя будут установлены два тега:

*   **Abandoned Cart Date** → `PW_AbandonedCartDate`
*   **Abandoned Cart ID** → `PW_AbandonedCartID`

Эти теги можно использовать для отправки напоминаний о брошенных корзинах. Полную инструкцию по настройке email-кампании с блоком Products и Customer Journey см. в статье [Как настроить кампанию по брошенным корзинам](/ru/product/how-to-guides/lifecycle-marketing-campaigns/how-to-set-up-an-abandoned-cart-campaign/). Вы также можете использовать [Connected content](/ru/product/personalization/liquid-templates/#connected-content) в шаблонах электронных писем.

### Проверка работы интеграции

Чтобы убедиться, что интеграция работает правильно:

1.  Создайте тестового клиента в Magento.
2.  Вручную синхронизируйте клиента в Pushwoosh.
3.  Откройте [User Explorer](/ru/product/audience-data-and-segmentation/user-explorer/) в вашей панели управления Pushwoosh и найдите клиента.

Если клиент появится в [User Explorer](/ru/product/audience-data-and-segmentation/user-explorer/), это означает, что синхронизация прошла успешно.