# 트랜잭션 메시지 전송 방법

주문 확인, 구독 갱신, 비밀번호 재설정, 배송 업데이트 또는 결제 알림과 같은 트랜잭션 메시지는 특정 작업에 기반하여 사용자에게 시기적절하고 관련성 있는 정보를 제공하는 데 필수적입니다. Pushwoosh에서는 **Customer Journey Builder** 도구를 사용하여 이러한 메시지를 자동화할 수 있습니다.

## 전제 조건
<Aside type="caution" icon="setting" title="개발자 지원 필요">
이 설정을 완료하려면 개발팀의 지원이 필요합니다.
</Aside>

트랜잭션 메시지를 설정하기 전에 다음을 확인하세요:

*   [**Pushwoosh SDK**](/ko/developer/pushwoosh-sdk/pushwoosh-sdk-overview)가 모바일 앱 또는 웹사이트에 통합되어 있어야 합니다.
*   트랜잭션 Journey에서 사용하려는 이벤트가 Pushwoosh에서 생성, 설정 및 추적되고 있어야 합니다. [이벤트 생성에 대해 자세히 알아보기](/ko/product/audience-data-and-segmentation/events#implementation)


아래는 일반적인 트랜잭션 메시지의 예시와 [**Customer Journey Builder**](/ko/product/customer-journey/pushwoosh-journey-overview)를 사용하여 구성하는 단계입니다.

## 주문 확인 메시지 전송

구매 이벤트가 발생했을 때 개인화된 주문 확인 메시지를 자동으로 보내려면 다음 단계를 따르세요:

1.  Pushwoosh 계정에서 **Campaigns > Customer Journey Builder**로 이동하여 **Create campaign**을 클릭하여 트랜잭션 메시지 흐름을 구축하기 시작합니다.
2.  **Customer Journey Builder**에서 캔버스에 **Trigger-based entry element**를 추가하고 [PW_InAppPurchase](/ko/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase) 이벤트(기본 이벤트)를 선택합니다. 이벤트가 올바르게 구성되었는지 확인하세요. [자세히 알아보기](/ko/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase)

<Aside type="tip">
앱에 사용자 지정 이벤트가 필요한 경우 미리 생성하고 설정하세요. [이벤트 생성에 대해 자세히 알아보기](/ko/product/audience-data-and-segmentation/events/custom-events).
</Aside>

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-1.webp" alt="주문 확인 설정을 위해 PW_InAppPurchase 이벤트가 선택된 Trigger-based entry element를 보여주는 Customer Journey Builder 캔버스"/>

3.  캔버스에 [**푸시 알림**](/ko/product/customer-journey/journey-elements#push) 요소를 추가합니다. 메시지 내용을 만들고 `{order_id}`와 같은 플레이스홀더를 사용하여 메시지를 개인화합니다.

### 푸시 콘텐츠 예시

**제목**: "주문 확인"

**메시지**: "주문 `{order_id}`에 감사드립니다! 상품이 곧 배송될 예정입니다."

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-2.webp" alt="order_id 개인화 플레이스홀더가 포함된 주문 확인 메시지를 보여주는 푸시 알림 콘텐츠 미리보기"/>

4.  메시지 제한에 관계없이 메시지가 전달되도록 하려면 전송 설정에서 [**전역 빈도 제한 없이 메시지 보내기**](/ko/product/messaging-channels/global-frequency-capping/#ignore-global-frequency-capping)를 선택합니다.

<img src="/shared-53.webp" alt="트랜잭션 메시지에 대해 '전역 빈도 제한 없이 메시지 보내기'가 선택된 전송 설정"/>

5.  **Journey 완료 및 시작**. 메시지와 선택적 세분화 또는 대기 단계를 구성합니다. [**Exit element**](/ko/product/customer-journey/journey-elements#exit-from-journey)를 추가하고 **Launch**를 클릭하여 Journey를 시작합니다.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-3.webp" alt="Exit element가 구성되어 시작 준비가 된 최종 Customer Journey"/>

이제 트리거 조건이 충족되면 트랜잭션 메시지가 자동으로 전송됩니다.

## 구독 갱신 이메일 전송

[**Adapty**](/ko/product/integrations/adapty-integration), [**Apphud**](https://docs.apphud.com/docs/pushwoosh) 등과 같은 타사 구독 관리 서비스를 사용하면 구독이 만료될 때 사용자에게 갱신 알림이나 이메일을 자동으로 보내 갱신을 유도할 수 있습니다. 이를 위해 다음을 수행하세요:

1.  먼저, 서비스와 Pushwoosh의 통합을 구성합니다. [사용 가능한 통합에 대해 자세히 알아보기](/ko/product/integrations/#in-app-purchases)
2.  다음으로, 선택한 구독 관리 서비스에서 **Subscription_expired** 이벤트를 설정합니다. 사용자의 구독이 만료되면 서비스는 Pushwoosh에 **subscription expired** 이벤트를 보냅니다.
3.  이벤트를 설정한 후, **Customer Journey Builder**에서 **Create campaign**을 클릭하고 캔버스에 **Trigger-based entry element**를 추가합니다.
4.  타사 서비스에서 보낸 **subscription expired** 이벤트를 선택합니다.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-4.webp" alt="타사 서비스의 subscription expired 이벤트로 구성된 Trigger-based entry element"/>

5.  캔버스에 [**이메일 요소**](/ko/product/customer-journey/journey-elements#email)를 추가하고 미리 만들어 둔 이메일 콘텐츠를 선택합니다.

### 이메일 콘텐츠 예시

***제목**: "구독이 만료되었습니다 – 지금 갱신하여 계속 연결하세요!"*

***본문:***

*안녕하세요,*

*구독이 만료된 것을 확인했으며, 모든 훌륭한 혜택을 놓치지 않으셨으면 합니다! 오늘 구독을 갱신하여 중단 없이 서비스를 계속 이용하세요.*

*[내 구독 갱신하기]*

*소중한 고객이 되어주셔서 감사합니다. 다시 뵙기를 기대합니다!*

6.  메시지 제한에 관계없이 메시지가 전달되도록 하려면 전송 설정에서 [**전역 빈도 제한 없이 메시지 보내기**](/ko/product/messaging-channels/global-frequency-capping/#ignore-global-frequency-capping)를 선택합니다.

7.  Journey 구성을 완료하고 **Launch campaign**을 클릭합니다.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-5.webp" alt="시작 준비가 완료된 구독 갱신 이메일 Journey"/>

설정이 완료되면 타사 서비스에 의해 subscription expired 이벤트가 트리거될 때 갱신 알림이 자동으로 전송됩니다.

## 비밀번호 재설정 메시지 전송

비밀번호 재설정 이메일을 보내려면 비밀번호 재설정 이벤트를 설정하고, 사용자 측에서 비밀번호 재설정 링크를 구성한 다음, 이메일을 보내기 위한 [Customer Journey를 구축](/ko/product/customer-journey/create-a-customer-journey-for-your-project)해야 합니다.

아래 단계를 따라 설정을 완료하세요:

### 1단계. Pushwoosh에서 비밀번호 재설정 이벤트 구성

사용자가 비밀번호 변경을 요청하면 **password change requested**와 같은 이벤트를 트리거합니다. 이 이벤트는 미리 설정해야 합니다.

1.  Pushwoosh 대시보드에서 **Events**로 이동하여 **Create event**를 클릭합니다.
2.  이벤트 이름을 지정합니다(예: **Password reset request**).
3.  이벤트에 다음 속성을 추가합니다:

| 속성 이름 | 유형 | 설명 | 예시 값 |
| ----- | ----- | ----- | ----- |
| reset_link | String | 고유한 비밀번호 재설정 링크입니다. | https://yourapp.com/reset-password?token=abc |
| user_name | String | 개인화를 위한 사용자 이름입니다. | John |
| token_durability | Integer | 토큰 유효 기간(초 단위, 예: 24시간)입니다. | 86400 |
| date | Date | 재설정 요청 날짜 및 시간입니다. | 2024-11-18T10:00:00Z |

이러한 속성은 이벤트가 트리거될 때 시스템에서 동적 데이터를 수신하는 플레이스홀더 역할을 합니다.

<Aside type="caution" title="중요">
이벤트 속성에는 사용자 측에서 생성하는 고유한 비밀번호 재설정 링크 또는 링크가 작동하기 위해 포함되어야 하는 고유 키를 전달해야 합니다. 이 링크에는 각 사용자에 대해 개인화되고 시스템에서 보낸 이벤트 속성을 통해 URL에 포함된 고유 토큰이 포함되어야 합니다. 토큰은 보안을 보장하기 위해 만료 기간(예: 24시간)을 가져야 하며, 사용자는 지정된 시간 내에만 비밀번호를 재설정할 수 있습니다.
</Aside>

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-6.webp" alt="필수 속성이 포함된 비밀번호 재설정 요청 이벤트를 보여주는 이벤트 구성 인터페이스"/>

앱에서 이벤트를 설정합니다. [사용자 지정 이벤트 설정에 대해 자세히 알아보기](/ko/product/audience-data-and-segmentation/events#implementation)

### 2단계. 비밀번호 재설정 링크 생성

사용자가 비밀번호 재설정을 요청할 때(예: "비밀번호 찾기" 클릭), 다음을 수행해야 합니다:

1.  **고유 토큰 생성**. 사용자를 위해 안전하고 무작위로 생성된 토큰을 만듭니다. 예: 12345-abcde-67890.
2.  토큰을 비밀번호 재설정 URL과 결합합니다. 예: https://yourapp.com/reset-password?token=12345-abcde-67890.
3.  토큰을 데이터베이스에 저장하고 사용자 계정과 연결한 다음 만료 시간(예: 24시간)을 설정합니다.
4.  **Password Reset Request** 이벤트를 트리거할 때 `reset_link` 이벤트 속성에 재설정 링크를 포함합니다.

### 3단계. 이메일 콘텐츠 생성

1.  Pushwoosh에서 **Email content**로 이동하여 새 이메일 콘텐츠를 만듭니다. [자세히 알아보기](/ko/product/content/email-content/drag-and-drop-email-editor#create-email-content)
2.  동적 콘텐츠를 위한 플레이스홀더를 추가합니다:
    1.  비밀번호 재설정 링크를 위한 `{reset_link}`.
    2.  사용자 이름을 위한 `{user_name}`.
    3.  링크 만료 시간을 위한 `{token_durability}`.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-7.webp" alt="reset_link, user_name, token_durability 필드에 대한 플레이스홀더가 있는 이메일 콘텐츠 편집기"/>

### 4단계. 캠페인 생성

1.  Pushwoosh에서 **Customer Journey** 섹션으로 이동하여 **Create Campaign**을 클릭합니다.
2.  **Trigger-based entry** 요소를 캔버스로 끌어다 놓습니다.
3.  시스템이 **Password Reset Request** 이벤트를 보낼 때 활성화되도록 트리거를 구성합니다.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-8.webp" alt="비밀번호 재설정 요청 이벤트에 대해 구성된 Trigger-based entry element를 보여주는 Customer Journey 캔버스"/>

4.  **Email** 요소를 캔버스에 추가합니다.

5.  이메일을 **Trigger-based entry** 요소에 연결합니다.

6.  재설정 링크 및 사용자 세부 정보에 대한 플레이스홀더가 있는 이전에 생성된 이메일 콘텐츠를 선택합니다.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-9.webp" alt="비밀번호 재설정 이메일 콘텐츠 및 동적 플레이스홀더가 있는 트리거 항목에 연결된 이메일 요소"/>

7.  메시지 제한에 관계없이 메시지가 전달되도록 하려면 전송 설정에서 **Send messages without global frequency capping**을 선택합니다.

8.  메시지 콘텐츠를 추가한 후 Journey의 모든 단계가 올바르게 구성되었는지 확인합니다. **Exit** 요소를 추가하고 **Launch campaign**을 클릭하여 Journey를 시작합니다.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-10.webp" alt="Exit element가 구성되어 시작 준비가 완료된 비밀번호 재설정 이메일 Journey"/>

활성화되면 사용자가 비밀번호 재설정을 요청할 때 **비밀번호 재설정 메시지**가 자동으로 전송되어 원활하고 안전한 경험을 제공합니다.