# Как отправлять транзакционные сообщения

Транзакционные сообщения, такие как подтверждения заказов, продления подписок, сброс пароля, обновления о доставке или уведомления об оплате, необходимы для предоставления пользователям своевременной и актуальной информации на основе их конкретных действий. Pushwoosh позволяет автоматизировать эти сообщения с помощью инструмента **Customer Journey Builder**.

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

Перед настройкой транзакционных сообщений убедитесь, что:

* В ваше мобильное приложение или на ваш сайт интегрирован [**Pushwoosh SDK**](/ru/developer/pushwoosh-sdk/pushwoosh-sdk-overview).
* События, которые вы хотите использовать в транзакционных Journey, созданы, настроены и отслеживаются в Pushwoosh. [Узнайте больше о создании событий](/ru/product/audience-data-and-segmentation/events#implementation)


Ниже приведены примеры распространенных транзакционных сообщений и шаги по их настройке с помощью [**Customer Journey Builder**](/ru/product/customer-journey/pushwoosh-journey-overview).

## Отправка подтверждения заказа

Чтобы автоматически отправлять персонализированные сообщения с подтверждением заказа при возникновении события покупки, выполните следующие шаги:

1. В вашем аккаунте Pushwoosh перейдите в **Campaigns > Customer Journey Builder** и нажмите **Create campaign**, чтобы начать создание потока транзакционных сообщений.
2. В **Customer Journey Builder** добавьте на холст элемент **Trigger-based entry** и выберите событие [PW_InAppPurchase](/ru/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase) (событие по умолчанию). Убедитесь, что событие настроено правильно. [Узнать больше](/ru/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase)

<Aside type="tip">
 Если для вашего приложения требуется пользовательское событие, создайте и настройте его заранее. [Узнайте больше о создании событий](/ru/product/audience-data-and-segmentation/events/custom-events).
</Aside>

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-1.webp" alt="Холст Customer Journey Builder, показывающий элемент Trigger-based entry с выбранным событием PW_InAppPurchase для настройки подтверждения заказа"/>

3. Добавьте на холст элемент [**push-уведомления**](/ru/product/customer-journey/journey-elements#push). Создайте содержимое сообщения и используйте плейсхолдеры, такие как `{order_id}`, для персонализации сообщения.

### Пример содержимого push-уведомления

**Заголовок**: "Подтверждение заказа"

**Сообщение**: "Спасибо за ваш заказ `{order_id}`! Ваши товары скоро будут отправлены."

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-2.webp" alt="Предпросмотр содержимого push-уведомления, показывающий сообщение о подтверждении заказа с плейсхолдером для персонализации order_id"/>

4. Чтобы убедиться, что сообщение будет доставлено независимо от ограничений на количество сообщений, выберите [**Send messages without global frequency capping**](/ru/product/messaging-channels/global-frequency-capping/#ignore-global-frequency-capping) в настройках доставки.

<img src="/shared-53.webp" alt="Настройки доставки с выбранной опцией Send messages without global frequency capping для транзакционного сообщения"/>

5. **Завершите и запустите Journey**. Настройте сообщение и любые необязательные шаги сегментации или ожидания. Добавьте [**элемент Exit**](/ru/product/customer-journey/journey-elements#exit-from-journey) и нажмите **Launch**, чтобы запустить Journey.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-3.webp" alt="Завершенный Customer Journey с настроенным элементом Exit, готовый к запуску"/>

Теперь транзакционное сообщение будет отправляться автоматически при выполнении условий триггера.

## Отправка email о продлении подписки

Используя сторонние сервисы управления подписками, такие как [**Adapty**](/ru/product/integrations/adapty-integration), [**Apphud**](https://docs.apphud.com/docs/pushwoosh) и др., вы можете автоматически отправлять пользователям уведомления или email о продлении, когда их подписка истекает, побуждая их к продлению. Для этого выполните следующие действия:

1. Сначала настройте интеграцию сервиса с Pushwoosh. [Узнайте больше о доступных интеграциях](/ru/product/integrations/#in-app-purchases)
2. Затем настройте событие **Subscription_expired** в выбранном вами сервисе управления подписками. Когда подписка пользователя истекает, сервис отправит событие **subscription expired** в Pushwoosh.
3. После настройки события в **Customer Journey Builder** нажмите **Create campaign** и добавьте на холст элемент **Trigger-based entry**.
4. Выберите событие **subscription expired**, отправленное сторонним сервисом.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-4.webp" alt="Элемент Trigger-based entry, настроенный на событие subscription expired от стороннего сервиса"/>

5. Добавьте на холст [**элемент email**](/ru/product/customer-journey/journey-elements#email) и выберите заранее созданное содержимое письма.

### Пример содержимого email

***Тема**: "Срок действия вашей подписки истек – продлите сейчас, чтобы оставаться на связи!"*

***Тело письма:***

*Здравствуйте,*

*Мы заметили, что срок действия вашей подписки истек, и мы не хотим, чтобы вы упустили все замечательные преимущества! Продлите подписку сегодня, чтобы продолжать пользоваться нашими услугами без перерыва.*

*[Продлить мою подписку]*

*Спасибо, что вы наш ценный клиент. Мы с нетерпением ждем вашего возвращения!*

6. Чтобы убедиться, что сообщение будет доставлено независимо от ограничений на количество сообщений, выберите [**Send messages without global frequency capping**](/ru/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 с email о продлении подписки, готовый к запуску"/>

После настройки уведомления о продлении будут отправляться автоматически, когда сторонний сервис вызовет событие истечения срока подписки.

## Отправка сообщения для сброса пароля

Чтобы отправить email для сброса пароля, вам необходимо настроить событие сброса пароля, сконфигурировать ссылку для сброса пароля на вашей стороне, а затем [создать Customer Journey](/ru/product/customer-journey/create-a-customer-journey-for-your-project) для отправки письма.

Выполните следующие шаги для завершения настройки:

### Шаг 1. Настройте событие сброса пароля в Pushwoosh

Когда пользователь запрашивает смену пароля, вы вызываете событие, например, **password change requested**. Вам необходимо настроить это событие заранее.

1. Перейдите в раздел **Events** в панели управления Pushwoosh и нажмите **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="Интерфейс настройки события, показывающий событие запроса на сброс пароля с необходимыми атрибутами"/>

Настройте событие в своем приложении. [Узнайте больше о настройке пользовательских событий](/ru/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. Включите ссылку для сброса в атрибут события `reset_link` при вызове события **Password Reset Request**.

### Шаг 3. Создайте содержимое email

1. Перейдите в раздел **Email content** в Pushwoosh и создайте новое содержимое email. [Узнать больше](/ru/product/content/email-content/drag-and-drop-email-editor/create-email-content-with-drag-and-drop-editor/#create-new-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="Редактор содержимого email с плейсхолдерами для полей reset_link, user_name и token_durability"/>

### Шаг 4. Создайте кампанию

1. Перейдите в раздел **Customer Journey** в Pushwoosh и нажмите **Create Campaign**.
2. Перетащите элемент **Trigger-based entry** на холст.
3. Настройте триггер на активацию, когда ваша система отправляет событие **Password Reset Request**.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-8.webp" alt="Холст Customer Journey, показывающий элемент Trigger-based entry, настроенный на событие Password Reset Request"/>

4. Добавьте на холст элемент **Email**.

5. Свяжите email с элементом **Trigger-based entry**.

6. Выберите ранее созданное содержимое email с плейсхолдерами для ссылки сброса и данных пользователя.

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-9.webp" alt="Элемент Email, связанный с триггерным входом, с содержимым email для сброса пароля и динамическими плейсхолдерами"/>

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="Завершенный Journey с email для сброса пароля с настроенным элементом Exit, готовый к запуску"/>

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