# วิธีส่งข้อความ Transactional

ข้อความ Transactional เช่น การยืนยันคำสั่งซื้อ การต่ออายุการสมัครสมาชิก การรีเซ็ตรหัสผ่าน การอัปเดตการจัดส่ง หรือการแจ้งเตือนการชำระเงิน เป็นสิ่งจำเป็นสำหรับการให้ข้อมูลที่ทันท่วงทีและเกี่ยวข้องกับผู้ใช้ตามการกระทำที่เฉพาะเจาะจง Pushwoosh ช่วยให้คุณสามารถส่งข้อความเหล่านี้โดยอัตโนมัติโดยใช้เครื่องมือ **Customer Journey Builder**

## ข้อกำหนดเบื้องต้น
<Aside type="caution" icon="setting" title="ต้องการความช่วยเหลือจากทีมพัฒนา">
คุณจะต้องได้รับความช่วยเหลือจากทีมพัฒนาของคุณเพื่อทำการตั้งค่านี้ให้เสร็จสมบูรณ์
</Aside>

ก่อนที่จะตั้งค่าข้อความ Transactional ตรวจสอบให้แน่ใจว่า:

*   [**Pushwoosh SDK**](/th/developer/pushwoosh-sdk/pushwoosh-sdk-overview) ได้ถูกรวมเข้ากับแอปพลิเคชันมือถือหรือเว็บไซต์ของคุณแล้ว
*   Events ที่คุณต้องการใช้ใน Journey แบบ Transactional ได้ถูกสร้าง ตั้งค่า และติดตามใน Pushwoosh แล้ว [เรียนรู้เพิ่มเติมเกี่ยวกับการสร้าง Events](/th/product/audience-data-and-segmentation/events#implementation)

ด้านล่างนี้คือตัวอย่างของข้อความ Transactional ทั่วไปและขั้นตอนในการกำหนดค่าโดยใช้ [**Customer Journey Builder**](/th/product/customer-journey/pushwoosh-journey-overview)

## การส่งการยืนยันคำสั่งซื้อ

หากต้องการส่งข้อความยืนยันคำสั่งซื้อส่วนบุคคลโดยอัตโนมัติเมื่อมี Event การซื้อเกิดขึ้น ให้ทำตามขั้นตอนต่อไปนี้:

1.  ในบัญชี Pushwoosh ของคุณ ไปที่ **Campaigns > Customer Journey Builder** และคลิก **Create campaign** เพื่อเริ่มสร้างโฟลว์ข้อความ Transactional
2.  ใน **Customer Journey Builder** เพิ่ม **Trigger-based entry element** ลงบน canvas และเลือก Event [PW_InAppPurchase](/th/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase) (Event เริ่มต้น) ตรวจสอบให้แน่ใจว่า Event ได้รับการกำหนดค่าอย่างถูกต้อง [เรียนรู้เพิ่มเติม](/th/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase)

<Aside type="tip">
หากแอปของคุณต้องการ Event ที่กำหนดเอง ให้สร้างและตั้งค่าล่วงหน้า [เรียนรู้เพิ่มเติมเกี่ยวกับการสร้าง Events](/th/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 canvas แสดง Trigger-based entry element พร้อมเลือก Event PW_InAppPurchase สำหรับการตั้งค่าการยืนยันคำสั่งซื้อ"/>

3.  เพิ่มองค์ประกอบ [**push notification**](/th/product/customer-journey/journey-elements#push) ลงบน canvas สร้างเนื้อหาข้อความ และใช้ตัวยึดตำแหน่ง เช่น `{order_id}` เพื่อปรับแต่งข้อความให้เป็นส่วนตัว

### ตัวอย่างเนื้อหา Push

**หัวข้อ**: "การยืนยันคำสั่งซื้อ"

**ข้อความ**: "ขอบคุณสำหรับคำสั่งซื้อของคุณ `{order_id}`! สินค้าของคุณจะถูกจัดส่งในไม่ช้า"

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-2.webp" alt="ตัวอย่างเนื้อหา Push notification แสดงข้อความยืนยันคำสั่งซื้อพร้อมตัวยึดตำแหน่ง order_id สำหรับการปรับแต่งส่วนบุคคล"/>

4.  เพื่อให้แน่ใจว่าข้อความจะถูกส่งโดยไม่คำนึงถึงขีดจำกัดข้อความใดๆ ให้เลือก [**Send messages without global frequency capping**](/th/product/messaging-channels/global-frequency-capping/#ignore-global-frequency-capping) ในการตั้งค่าการส่ง

<img src="/shared-53.webp" alt="การตั้งค่าการส่งพร้อมเลือก Send messages without global frequency capping สำหรับข้อความ Transactional"/>

5.  **สรุปและเปิดใช้งาน Journey** กำหนดค่าข้อความ และขั้นตอนการแบ่งกลุ่มหรือการรอที่เป็นทางเลือก เพิ่ม [**Exit element**](/th/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 element ที่กำหนดค่าและพร้อมที่จะเปิดใช้งาน"/>

ตอนนี้ข้อความ Transactional จะถูกส่งโดยอัตโนมัติเมื่อตรงตามเงื่อนไขของทริกเกอร์

## การส่งอีเมลต่ออายุการสมัครสมาชิก

โดยการใช้บริการจัดการการสมัครสมาชิกของบุคคลที่สาม เช่น [**Adapty**](/th/product/integrations/adapty-integration), [**Apphud**](https://docs.apphud.com/docs/pushwoosh) ฯลฯ คุณสามารถส่งการแจ้งเตือนการต่ออายุหรืออีเมลไปยังผู้ใช้โดยอัตโนมัติเมื่อการสมัครสมาชิกของพวกเขาหมดอายุ เพื่อกระตุ้นให้พวกเขาต่ออายุ สำหรับสิ่งนี้ ให้ทำดังต่อไปนี้:

1.  ขั้นแรก กำหนดค่าการรวมบริการกับ Pushwoosh [เรียนรู้เพิ่มเติมเกี่ยวกับการรวมที่มีอยู่](/th/product/integrations/#in-app-purchases)
2.  ถัดไป ตั้งค่า Event **Subscription_expired** ในบริการจัดการการสมัครสมาชิกที่คุณเลือก เมื่อการสมัครสมาชิกของผู้ใช้หมดอายุ บริการจะส่ง Event **subscription expired** ไปยัง Pushwoosh
3.  เมื่อคุณตั้งค่า Event แล้ว ใน **Customer Journey Builder** คลิก **Create campaign** และเพิ่ม **Trigger-based entry element** ลงบน canvas
4.  เลือก Event **subscription expired** ที่ส่งมาจากบริการของบุคคลที่สาม

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-4.webp" alt="Trigger-based entry element ที่กำหนดค่าด้วย Event subscription expired จากบริการของบุคคลที่สาม"/>

5.  เพิ่ม [**email element**](/th/product/customer-journey/journey-elements#email) ลงบน canvas และเลือกเนื้อหาอีเมลที่คุณสร้างไว้ล่วงหน้า

### ตัวอย่างเนื้อหาอีเมล

***หัวเรื่อง**: "การสมัครสมาชิกของคุณหมดอายุแล้ว – ต่ออายุตอนนี้เพื่อไม่พลาดการเชื่อมต่อ!"*

***เนื้อหา:***

*สวัสดี,*

*เราสังเกตเห็นว่าการสมัครสมาชิกของคุณหมดอายุแล้ว และเราไม่ต้องการให้คุณพลาดสิทธิประโยชน์ดีๆ ทั้งหมด! ต่ออายุการสมัครสมาชิกของคุณวันนี้เพื่อเพลิดเพลินกับการเข้าถึงบริการของเราอย่างต่อเนื่อง*

*[ต่ออายุการสมัครสมาชิกของฉัน]*

*ขอบคุณที่เป็นลูกค้าคนสำคัญของเรา เราหวังว่าจะได้ต้อนรับคุณกลับมาอีกครั้ง!*

6.  เพื่อให้แน่ใจว่าข้อความจะถูกส่งโดยไม่คำนึงถึงขีดจำกัดข้อความใดๆ ให้เลือก [**Send messages without global frequency capping**](/th/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 อีเมลต่ออายุการสมัครสมาชิกที่เสร็จสมบูรณ์พร้อมสำหรับการเปิดใช้งาน"/>

เมื่อตั้งค่าแล้ว การแจ้งเตือนการต่ออายุจะถูกส่งโดยอัตโนมัติเมื่อ Event การสมัครสมาชิกหมดอายุถูกทริกเกอร์โดยบริการของบุคคลที่สาม

## การส่งข้อความรีเซ็ตรหัสผ่าน

ในการส่งอีเมลรีเซ็ตรหัสผ่าน คุณจะต้องตั้งค่า Event การรีเซ็ตรหัสผ่าน กำหนดค่าลิงก์รีเซ็ตรหัสผ่านในฝั่งของคุณ แล้วจึง [สร้าง Customer Journey](/th/product/customer-journey/create-a-customer-journey-for-your-project) เพื่อส่งอีเมล

ทำตามขั้นตอนด้านล่างเพื่อทำการตั้งค่าให้เสร็จสมบูรณ์:

### ขั้นตอนที่ 1. กำหนดค่า Event การรีเซ็ตรหัสผ่านใน Pushwoosh

เมื่อผู้ใช้ร้องขอการเปลี่ยนรหัสผ่าน คุณจะทริกเกอร์ Event เช่น **password change requested** คุณต้องตั้งค่า Event นี้ล่วงหน้า

1.  ไปที่ **Events** ในแดชบอร์ด Pushwoosh และคลิก **Create event**
2.  ตั้งชื่อ Event ตัวอย่างเช่น **Password reset request**
3.  เพิ่ม attributes ต่อไปนี้ลงใน Event:

| Attribute Name | Type | Description | Example Value |
| ----- | ----- | ----- | ----- |
| 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 |

attributes เหล่านี้ทำหน้าที่เป็นตัวยึดตำแหน่ง รับข้อมูลแบบไดนามิกจากระบบของคุณเมื่อ Event ถูกทริกเกอร์

<Aside type="caution" title="สำคัญ">
ใน attributes ของ Event คุณต้องส่งลิงก์รีเซ็ตรหัสผ่านที่ไม่ซ้ำกันที่คุณสร้างขึ้นในฝั่งของคุณ หรือคีย์ที่ไม่ซ้ำกันที่ต้องรวมอยู่ในลิงก์เพื่อให้ทำงานได้ ลิงก์นี้ต้องมีโทเค็นที่ไม่ซ้ำกันซึ่งปรับให้เป็นส่วนตัวสำหรับผู้ใช้แต่ละคนและฝังอยู่ใน URL ผ่าน attribute ของ Event ที่ส่งมาจากระบบของคุณ โทเค็นควรมีระยะเวลาหมดอายุ (เช่น 24 ชั่วโมง) เพื่อความปลอดภัย ทำให้ผู้ใช้สามารถรีเซ็ตรหัสผ่านได้เฉพาะภายในกรอบเวลาที่กำหนด
</Aside>

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-6.webp" alt="อินเทอร์เฟซการกำหนดค่า Event แสดง Event การร้องขอรีเซ็ตรหัสผ่านพร้อม attributes ที่จำเป็น"/>

ตั้งค่า Event ในแอปของคุณ [เรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่า Custom Events](/th/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.  รวมลิงก์รีเซ็ตใน attribute ของ Event `reset_link` เมื่อทริกเกอร์ Event **Password Reset Request**

### ขั้นตอนที่ 3. สร้างเนื้อหาอีเมล

1.  ไปที่ **Email content** ใน Pushwoosh และสร้างเนื้อหาอีเมลใหม่ [เรียนรู้เพิ่มเติม](/th/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="ตัวแก้ไขเนื้อหาอีเมลพร้อมตัวยึดตำแหน่งสำหรับฟิลด์ reset_link, user_name และ token_durability"/>

### ขั้นตอนที่ 4. สร้างแคมเปญ

1.  ไปที่ส่วน **Customer Journey** ใน Pushwoosh และคลิก **Create Campaign**
2.  ลากและวางองค์ประกอบ **Trigger-based entry** ลงบน canvas
3.  กำหนดค่าทริกเกอร์ให้เปิดใช้งานเมื่อระบบของคุณส่ง Event **Password Reset Request**

<img src="/how-to-create-campaigns-how-to-send-transactional-messages-8.webp" alt="Customer Journey canvas แสดง Trigger-based entry element ที่กำหนดค่าสำหรับ Event Password Reset Request"/>

4.  เพิ่มองค์ประกอบ **Email** ลงบน canvas

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="Journey อีเมลรีเซ็ตรหัสผ่านที่เสร็จสมบูรณ์พร้อม Exit element ที่กำหนดค่าและพร้อมที่จะเปิดใช้งาน"/>

เมื่อเปิดใช้งานแล้ว **ข้อความรีเซ็ตรหัสผ่าน** จะถูกส่งโดยอัตโนมัติเมื่อผู้ใช้ร้องขอการรีเซ็ตรหัสผ่าน ซึ่งมอบประสบการณ์ที่ราบรื่นและปลอดภัย