# Magento 연동

<Aside type="caution" icon="setting" title="개발자 지원 필요">
 연동을 설정하려면 개발팀의 도움이 필요합니다. 이 가이드를 개발팀과 공유해주세요.
</Aside>

## 연동 개요

[Magento](https://business.adobe.com/products/commerce.html)는 기업이 제품, 고객, 주문을 대규모로 관리할 수 있도록 돕는 선도적인 전자상거래 플랫폼입니다. Magento를 Pushwoosh와 연동하면 고객, 주문, 버려진 장바구니를 자동으로 동기화하여 실시간 메시징, 타겟 세분화, 교차 채널 마케팅 자동화를 활성화할 수 있습니다. 이를 통해 스토어 활동에서 직접 사용자의 참여를 유도하고 전환율을 높일 수 있습니다.

### 연동 유형

**대상**: 이 연동은 Magento 스토어의 데이터를 Pushwoosh로 푸시합니다.

### 전제 조건

진행하기 전에 다음 사항을 확인하세요:

* Magento 관리자 패널에 대한 액세스 권한 
    
* 유효한 Pushwoosh 계정  
    
* Pushwoosh [API 액세스 토큰](/ko/developer/api-reference/api-access-token/) 및 [앱 코드](/ko/developer/api-reference/api-identifiers/#application-code)  
    
* Magento 서버에 설치된 [Composer](https://getcomposer.org/)  
    
* 충족된 시스템 요구 사항:  
    
  * PHP 7.4 / 8.x  
  * Magento 2.3 / 2.4  
  * Elasticsearch 7  
  * RabbitMQ

### 용어집
엔티티 이름이 다른 경우 매핑:

| Magento  | Pushwoosh  |
| :---- | :---- |
| 고객 | 사용자 |

### 동기화된 엔티티 목록: 

* 고객  
* 주문  
* 버려진 장바구니

### 사용 사례

* 주문 생성 및 장바구니 포기 이벤트를 기반으로 푸시 알림을 보냅니다.

* 속성(예: 위치, 생일)을 기반으로 고객을 세분화하고 타겟 캠페인을 보냅니다.

* 브라우저 기반 프로모션 알림을 보냅니다.

## 연동 설정

### 설치
<Aside>Pushwoosh 연동을 설치하려면 [Composer](https://getcomposer.org/)가 설치되어 있는지 확인하세요.</Aside>

1. Magento 프로젝트의 루트에서 다음 Composer 명령을 실행합니다:

```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**으로 이동합니다.

![Magento 관리자 패널의 Pushwoosh 구성](/integrations-magento-integration-1.webp)

#### 일반 설정

**일반** 섹션에서 다음 필드를 구성합니다:

* **Status**: 연동을 활성화하려면 `Enable`로 설정합니다.  
* **API URL**: Pushwoosh API 엔드포인트를 입력합니다: `https://api.pushwoosh.com/`  
* **API Key**: 요청을 인증하는 데 필요한 Pushwoosh API 키를 붙여넣습니다. [Pushwoosh API 액세스 키에 대해 자세히 알아보기](/ko/developer/api-reference/api-access-token/)  
* **App Code**: 모바일 또는 웹 애플리케이션에 해당하는 [Pushwoosh 앱 코드](/ko/developer/api-reference/api-identifiers/#application-code)를 입력합니다. 

아래는 고객, 주문, 버려진 장바구니 동기화를 위한 구성 옵션입니다.

#### 주문 동기화 구성

Magento 스토어와 Pushwoosh 간에 주문 데이터가 동기화되는 방식을 정의합니다.   


다음 필드를 채웁니다: 

|  | |
|-------------|-----------------|
| **Order Sync Enable** | 자동 주문 동기화를 활성화하려면 **예**로 설정합니다. 활성화된 경우, 프로세스는 정의된 cron 스케줄을 따릅니다. 자동 동기화를 비활성화하려면 **아니요**로 설정합니다. |
| **Cron Settings** | 주문 동기화가 활성화된 경우에만 사용할 수 있습니다. `Minute`, `Hour`, `Day`, `Month`, `Weekday` 필드를 사용하여 cron 작업이 실행되어야 하는 시점을 정의합니다. **Cron**은 지정된 간격으로 작업을 자동으로 실행하는 데 사용되는 시간 기반 스케줄러입니다. |
| **Order Sync Numbers** | 각 동기화 실행 중에 처리할 주문 수를 지정합니다. |
| **Order Sync in Real Time** | 주문이 접수되는 즉시 동기화하려면 **예**로 설정합니다. |

![주문 동기화 구성 설정](/integrations-magento-integration-3.webp) 

여기에서 주문 동기화 상태도 볼 수 있습니다:

* **Total Orders**: 동기화를 위해 평가된 총 주문 수를 표시합니다.  
* **Synced Orders**: Pushwoosh와 성공적으로 동기화된 주문 수입니다.  
* **Not Synced Orders**: 아직 동기화되지 않은 주문입니다.  
* **Fail Synced Orders**: 동기화 시도가 실패한 주문입니다.



#### 버려진 장바구니 동기화 구성

Magento 스토어와 Pushwoosh 간에 버려진 장바구니 데이터의 동기화를 구성합니다. 

다음 필드를 채웁니다: 

|  |  |
|-------------|-----------------|
| **Abandoned Cart Syncing** | 버려진 장바구니 데이터의 자동 동기화를 활성화하려면 **예**로 설정합니다. 활성화된 경우, 동기화는 정의된 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** | 모든 기존 및 신규 고객 기록의 동기화를 활성화하려면 **예**로 설정합니다. 동기화는 정의된 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`로 설정합니다. 이 기능을 비활성화하려면 `No`로 설정합니다.

활성화되면 Magento 스토어는 브라우저를 통해 사용자에게 실시간 메시지를 보낼 수 있습니다. 알림은 프로모션 제안, 주문 상태 업데이트, 버려진 장바구니 알림 및 기타 마케팅 커뮤니케이션에 사용될 수 있습니다.

![Magento의 웹 알림 구성](/integrations-magento-integration-6.webp) 

#### 구성 저장

필요한 모든 필드를 완료한 후, 오른쪽 상단에 있는 **Save Config** 버튼을 클릭합니다. 변경 사항을 적용하라는 메시지가 표시되면 Magento 캐시를 지웁니다.

![Magento 관리자 패널의 구성 저장 버튼](/integrations-magento-integration-7.webp) 

## 수동 동기화 옵션

#### 선택한 고객을 Pushwoosh로 동기화 

모든 고객을 자동으로 동기화하지 않으려면 개별 또는 선택한 고객을 수동으로 동기화할 수 있습니다.

1. Magento 관리자 패널에서 **Customers > All Customers**로 이동합니다.  
2. 동기화하려는 고객을 찾아 선택합니다.  
3. 고객 목록 위의 **Actions** 드롭다운에서 **Sync to Pushwoosh**를 선택합니다.

![고객에 대한 Pushwoosh로 동기화 작업](/integrations-magento-integration-8.webp) 

동기화가 완료되면 고객 데이터는 Pushwoosh 계정의 [User Explorer](/ko/product/audience-data-and-segmentation/user-explorer/) 섹션에 나타나며, 모든 관련 정보가 Magento에서 전송됩니다.

#### 선택한 주문을 Pushwoosh로 동기화 

모든 주문을 자동으로 동기화하지 않으려면 특정 주문을 수동으로 동기화할 수 있습니다. 이를 위해: 

1. Magento 관리자 패널에서 **Sales > Orders**로 이동합니다.

2. 목록에서 하나 이상의 주문을 선택합니다.

3. **Actions** 드롭다운에서 **Sync to Pushwoosh**를 선택합니다.

![주문에 대한 Pushwoosh로 동기화 작업](/integrations-magento-integration-9.webp) 

동기화 후, 주문은 Pushwoosh [User Explorer](/ko/product/audience-data-and-segmentation/user-explorer/)의 사용자 프로필의 이벤트 섹션에 `PW_OrderCreated` 또는 `PW_OrderUpdated` 이벤트(주문 상태가 변경된 경우)로 나타나며, 상세한 주문 정보가 포함됩니다.

#### 선택한 버려진 장바구니 동기화 

선택한 버려진 장바구니를 수동으로 동기화하려면:

1. Magento 관리자 패널에서 **Abandoned Carts** 섹션으로 이동합니다.  
2. 동기화하려는 장바구니를 선택합니다.  
3. **Actions** 드롭다운에서 **Sync to Pushwoosh**를 선택합니다.

**참고:** 장바구니가 언제 버려진 것으로 간주되는지 결정하려면 **Abandoned Cart Sync** 설정에서 필요한 비활성 기간을 구성했는지 확인하세요.

![버려진 장바구니에 대한 Pushwoosh로 동기화 작업](/integrations-magento-integration-10.webp) 

동기화 후, 버려진 장바구니 데이터는 Pushwoosh [User Explorer](/ko/product/audience-data-and-segmentation/user-explorer/)의 사용자 프로필의 **Events** 섹션에 상세 정보와 함께 `PW_AbandonedCart` 이벤트로 나타납니다.

또한, 사용자 프로필에 두 개의 태그가 설정됩니다:

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

이 태그들은 이메일 템플릿에서 연결된 콘텐츠를 사용하여 버려진 장바구니 알림을 보내는 데 사용될 수 있습니다. [자세히 알아보기](/ko/product/personalization/liquid-templates/#connected-content) 

### 연동이 작동하는지 확인

연동이 올바르게 작동하는지 확인하려면:

1. Magento에서 테스트 고객을 생성합니다.  
2. 고객을 Pushwoosh로 수동 동기화합니다.  
3. Pushwoosh 대시보드에서 [User Explorer](/ko/product/audience-data-and-segmentation/user-explorer/)를 열고 고객을 찾습니다.

고객이 [User Explorer](/ko/product/audience-data-and-segmentation/user-explorer/)에 나타나면 동기화가 성공적으로 이루어졌음을 나타냅니다.