# การตั้งค่ารางวัล

เกมลุ้นรางวัลอย่างวงล้อ กาชาปอง กล่องกริด ใช้ระบบการตั้งค่ารางวัล คู่มือนี้อธิบายวิธีตั้งค่าและจัดการรางวัล

## ประเภทรางวัล

### รหัสบัตรกำนัล

แจกรหัสเฉพาะจากชุดบัตรกำนัล:

- กำหนดรหัสอัตโนมัติเมื่อชนะ
- แสดงรหัสเฉพาะให้ผู้เล่น
- รหัสถูกทำเครื่องหมายเป็นรับแล้ว

**ใช้สำหรับ:**

- รหัสส่วนลด
- บัตรของขวัญ
- ข้อเสนอโปรโมชัน

### รางวัลไอเทม

รางวัลที่อธิบาย (ทางกายภาพหรือแนวคิด):

- แสดงชื่อรางวัลและรูปภาพ
- ผู้เล่นยืนยันการรับผ่านอีเมล/ฟอร์ม
- จัดส่งด้วยตนเอง

**ใช้สำหรับ:**

- สินค้าทางกายภาพ
- ผลิตภัณฑ์ฟรี
- อัปเกรดบริการ

### ชุดบัตรกำนัล

เชื่อมต่อโดยตรงกับชุดบัตรกำนัลสำหรับการแจกอัตโนมัติ:

- ดึงรหัสจากชุดที่เชื่อมต่อ
- จัดการสต็อกอัตโนมัติ
- ติดตามการรับรางวัล

### บัตรกำนัลแบบกำหนดเอง

แจกรหัสที่ออกโดยผู้ให้บริการภายนอก:

- เมื่อรับรางวัล ระบบจะส่ง webhook ไปยังผู้ให้บริการ
- ผู้ให้บริการส่งรหัสจริงกลับมา
- จัดการรหัสนอก DailyPlay (ในระบบของคุณเอง)

**ใช้สำหรับ:**

- กรณีที่รหัสของคุณอยู่ในแพลตฟอร์มอื่น เช่น ร้านค้าอีคอมเมิร์ซหรือระบบสะสมแต้ม

### ไม่มีรางวัล (ลองอีกครั้ง)

ช่องที่ผู้เล่นไม่ชนะ:

- แสดงข้อความ "ลองใหม่อีกครั้ง"
- จำเป็นสำหรับสมดุลความน่าจะเป็น
- รักษาแรงจูงใจให้ผู้เล่นลองใหม่

![การตั้งค่ารางวัล](/img/prize/prize-customization-voucher.jpg)

---

## บัตรกำนัลแบบกำหนดเอง (เชื่อมต่อผ่าน Webhook)

ประเภทบัตรกำนัลแบบกำหนดเองจะมอบหมายการจ่ายรางวัลให้**ผู้ให้บริการภายนอก** แทนที่จะดึงรหัสจากชุดบัตรกำนัลของ DailyPlay เมื่อผู้เล่นรับรางวัล ระบบจะส่ง webhook ไปยังผู้ให้บริการของคุณ ซึ่งจะส่งรหัสจริงกลับมา ใช้วิธีนี้เมื่อจัดการรหัสไว้นอก DailyPlay

:::note[ข้อกำหนดเบื้องต้น]
รางวัลบัตรกำนัลแบบกำหนดเองจะใช้งานได้ก็ต่อเมื่อผู้ดูแลองค์กรได้ตั้งค่า**การเชื่อมต่อ webhook บัตรกำนัล**แล้ว หากยังไม่มีการเชื่อมต่อ ตัวเลือกนี้จะไม่ปรากฏในตัวแก้ไขรางวัล ดูวิธีตั้งค่าได้ที่ [การเชื่อมต่อ](/th/connections/overview)
:::

### ผู้ให้บริการกับการเชื่อมต่อ

ประเภทรางวัลนี้มีสองชั้น:

| ชั้น             | คืออะไร                                                                  |
| ---------------- | ----------------------------------------------------------------------- |
| **ผู้ให้บริการ** | เทมเพลตที่กำหนดว่าผู้ให้บริการต้องการฟิลด์ใดและรูปแบบ webhook เป็นอย่างไร |
| **การเชื่อมต่อ** | อินสแตนซ์ที่องค์กรของคุณตั้งค่าไว้ (URL ของ webhook และข้อมูลรับรองจริง)  |

ผู้ให้บริการคือคำนิยาม ส่วนการเชื่อมต่อคือการตั้งค่าที่องค์กรของคุณเชื่อมต่อกับผู้ให้บริการนั้น องค์กรสามารถมีการเชื่อมต่อหลายรายการกับผู้ให้บริการเดียวกันได้ (เช่น ร้าน "ทดสอบ" และ "ใช้งานจริง")

### การเลือกการเชื่อมต่อ

ในตัวเลือก**ประเภท**ของรางวัล การเชื่อมต่อ webhook บัตรกำนัลที่ใช้งานอยู่แต่ละรายการจะปรากฏเป็นปุ่มของตัวเองเคียงข้างประเภทมาตรฐาน เมื่อเลือก:

- รางวัลจะถูกผูกกับการเชื่อมต่อนั้นและผู้ให้บริการ
- ชื่อรางวัลจะถูกเติมอัตโนมัติด้วยชื่อการเชื่อมต่อ (หากยังว่างอยู่)
- แผง**การจ่ายบัตรกำนัล**สำหรับการตั้งค่าผู้ให้บริการและจำนวนจะปรากฏขึ้น

หากองค์กรของคุณมีหลายการเชื่อมต่อ แต่ละรายการจะแสดงเป็นปุ่มแยกกัน เพื่อให้คุณเลือกได้ว่าจะใช้รายการใดจ่ายรางวัล

### การตั้งค่าผู้ให้บริการ (ฟิลด์)

ผู้ให้บริการบางรายต้องการการตั้งค่าเพิ่มเติมต่อรางวัล เช่น ตัวระบุส่วนลดหรือกฎตะกร้าสินค้า ฟิลด์เหล่านี้จะแสดงอัตโนมัติภายใต้**การตั้งค่าผู้ให้บริการ**เมื่อคุณเลือกการเชื่อมต่อ แต่ละฟิลด์อาจเป็น:

- ค่าข้อความ ตัวเลข หรือใช่/ไม่ใช่
- ทำเครื่องหมายว่า**จำเป็น** (จะบันทึกรางวัลไม่ได้จนกว่าจะกรอก)
- จำกัดด้วยค่าต่ำสุด/สูงสุด ความยาว หรือรูปแบบ (เช่น อีเมล)

DailyPlay ตรวจสอบฟิลด์เหล่านี้ทั้งในตัวแก้ไขและที่เซิร์ฟเวอร์ก่อนบันทึก และตรวจสอบซ้ำว่าองค์กรของคุณยังมีสิทธิ์เข้าถึงผู้ให้บริการ

### จำนวนและสต็อก

รางวัลบัตรกำนัลแบบกำหนดเองใช้ตัวควบคุม**ขีดจำกัดรางวัล**เดียวกับประเภทรางวัลที่ชนะได้อื่น ๆ (ดู [จำนวนและสต็อก](#จำนวนและสต็อก) ด้านล่าง):

| ฟิลด์           | คำอธิบาย                                                                                              |
| --------------- | ---------------------------------------------------------------------------------------------------- |
| **จำนวนทั้งหมด** | จำนวนครั้งสูงสุดที่ชนะได้ตลอดแคมเปญ เว้นว่างไว้สำหรับไม่จำกัด (สูงสุด 1,000,000)                         |
| **ขีดจำกัดรายวัน** | จำนวนครั้งชนะสูงสุดต่อวันปฏิทินขององค์กร รีเซ็ตเที่ยงคืนตามเขตเวลาองค์กร เว้นว่างไว้สำหรับไม่จำกัด       |
| **คงเหลือ**     | อ่านอย่างเดียว แสดง `คงเหลือ / ทั้งหมด` สำหรับรางวัลใหม่จะสะท้อนค่าทั้งหมด หลังบันทึกจะสะท้อนการชนะจริง |
| **คงเหลือวันนี้** | อ่านอย่างเดียว แสดง `คงเหลือวันนี้ / ขีดจำกัดรายวัน` เมื่อตั้งขีดจำกัดรายวัน                           |

เมื่อรางวัลบัตรกำนัลแบบกำหนดเองถึงขีดจำกัดทั้งหมดหรือรายวัน จะถูกตัดออกจากการจับรางวัลจนกว่าสต็อกจะฟื้น (ทั้งหมด) หรือถึงวันองค์กรถัดไป (ขีดจำกัดรายวัน) และความน่าจะเป็นจะถูกกระจายใหม่ในรางวัลที่เหลือ (เช่นเดียวกับรางวัลประเภทอื่น)

### การจ่ายรางวัลทำงานอย่างไร

1. ผู้เล่นชนะรางวัลบัตรกำนัลแบบกำหนดเองและกดรับ
2. DailyPlay ส่ง webhook ไปยังผู้ให้บริการที่เชื่อมต่อ พร้อมการตั้งค่าผู้ให้บริการของรางวัลและข้อมูลผู้เล่น
3. ผู้ให้บริการส่งรหัสบัตรกำนัลจริงกลับมา
4. รหัสจะแสดงให้ผู้เล่น

---

## การตั้งค่ารางวัล

### ในตัวแก้ไขเกม

เมื่อสร้างหรือแก้ไขเกม แต่ละรางวัลคือ "ช่อง" ที่คุณเพิ่มและตั้งค่า ขั้นตอนพื้นฐานสำหรับหนึ่งช่องมีดังนี้:

1. คลิก**เพิ่มช่องรางวัล** — การ์ดช่องใหม่จะปรากฏขึ้น
2. กรอก**ชื่อ** — ชื่อที่แสดงให้ผู้เล่นเห็น (เช่น "ลด 10%")
3. เลือก**ประเภท** — เลือกประเภทรางวัล (ชุดบัตรกำนัล, บัตรกำนัล, ไอเทม, ลิงก์ภายนอก, บัตรกำนัลแบบกำหนดเอง, ไม่มีรางวัล)
4. ตั้ง**ความน่าจะเป็นในการชนะ (%)** — โอกาสของช่องนั้นในการจับรางวัล
5. ทำซ้ำสำหรับแต่ละรางวัล และตรวจสอบว่าความน่าจะเป็นทั้งหมดรวมกันเท่ากับ 100%

เมื่อเลือกประเภทแล้ว ฟิลด์เฉพาะของประเภทนั้น (ชุดบัตรกำนัล, URL ภายนอก, การตั้งค่าผู้ให้บริการ ฯลฯ) จะปรากฏขึ้นอัตโนมัติ

**การจัดเรียง:** ใช้ปุ่ม**เลื่อนขึ้น / เลื่อนลง**บนการ์ดรางวัลแต่ละใบเพื่อเปลี่ยนลำดับการแสดงผล ลำดับการแสดงผลไม่มีผลต่อความน่าจะเป็นในการชนะ

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/prize/reorder-prize.mp4" type="video/mp4" />
</video>

**ตัวอย่าง: วิธีตั้งค่ารางวัลรหัสบัตรกำนัลในเกม:**

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/prize/voucher-code-prize.mp4" type="video/mp4" />
</video>

**ตัวอย่าง: วิธีตั้งค่ารางวัลไอเทมในเกม:**

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/prize/add-code-to-game-voucher.mp4" type="video/mp4" />
</video>

### การตั้งค่าช่องรางวัล

ตั้งค่าแต่ละช่องรางวัล:

| ฟิลด์            | คำอธิบาย                                                                                    |
| ---------------- | ------------------------------------------------------------------------------------------- |
| ชื่อ             | ชื่อที่แสดง (เช่น "ลด 10%")                                                                |
| ประเภท           | รหัสบัตรกำนัล, ไอเทม, ไม่มีรางวัล                                                          |
| ความน่าจะเป็น   | โอกาสชนะ (0-100%)                                                                          |
| จำนวนทั้งหมด     | ขีดจำกัดการชนะตลอดแคมเปญ (เว้นว่างสำหรับไม่จำกัด) ไม่แสดงสำหรับ**ไม่มีรางวัล**              |
| ขีดจำกัดรายวัน   | จำนวนชนะสูงสุดต่อวันปฏิทินขององค์กร (รีเซ็ตเที่ยงคืนตามเขตเวลาองค์กร) ไม่แสดงสำหรับ**ไม่มีรางวัล** |
| ชุดบัตรกำนัล     | เชื่อมต่อชุดบัตรกำนัล (สำหรับประเภทบัตรกำนัล)                                              |
| รูปภาพ           | รูปรางวัลที่กำหนดเอง                                                                       |

อัปโหลดรูปภาพที่กำหนดเองสำหรับแต่ละรางวัลเพื่อให้ผู้เล่นเห็นในเกม รูปจะถูกปรับขนาดเป็น 256×256 พิกเซลโดยอัตโนมัติ

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/prize/example-upload-image-prize.mp4" type="video/mp4" />
</video>

### กฎความน่าจะเป็น

ความน่าจะเป็นของทุกช่องต้องรวมกันเท่ากับ 100%:

**ตัวอย่าง:**

- รางวัลใหญ่ (5%)
- รางวัลรอง (15%)
- รางวัลเล็ก (30%)
- ไม่มีรางวัล (50%)
- **รวม: 100%** ✅

:::caution[การตั้งค่าไม่ถูกต้อง]
หากความน่าจะเป็นไม่รวมกันเท่ากับ 100% เกมจะทำงานไม่ถูกต้อง DailyPlay จะแสดงคำเตือนก่อนเผยแพร่
:::

หากผลรวมไม่ถูกต้อง ตัวแก้ไขจะแสดงคำเตือนแบบอินไลน์ และจะไม่ให้ไปต่อจนกว่าจะแก้ไข

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/prize/prize-validiation-prize.mp4" type="video/mp4" />
</video>

---

## คะแนนขั้นต่ำและระดับสูงสุด

สำหรับเกมที่ผสมผสานทักษะกับโชค คุณสามารถตั้ง**คะแนนขั้นต่ำ**ต่อช่องรางวัลได้ ผู้เล่นต้องทำคะแนนถึงเกณฑ์นั้นก่อน รางวัลนั้นจึงจะเข้าร่วมการจับรางวัล

### เฉพาะระดับสูงสุด

สำหรับเกมที่รองรับคะแนนขั้นต่ำ จะมีปุ่มสลับ**เฉพาะระดับสูงสุด**ปรากฏที่ด้านบนของตัวแก้ไขรางวัล เมื่อเปิดใช้ ผู้เล่นจะจับรางวัลจาก**ระดับคะแนนสูงสุดที่ตนปลดล็อกได้เท่านั้น** แทนที่จะรวมทุกระดับที่มีสิทธิ์เข้าด้วยกัน

- **ปิด (ค่าเริ่มต้น):** รางวัลทั้งหมดที่ `min_score ≤ คะแนนของผู้เล่น` จะถูกรวมเข้าด้วยกันในการจับรางวัล
- **เปิด:** เฉพาะรางวัลในระดับสูงสุดที่ผู้เล่นปลดล็อกเท่านั้นที่มีสิทธิ์ ระดับที่ต่ำกว่าจะถูกตัดออก

ใช้เมื่อคุณต้องการให้ผู้เล่นระดับท็อปแข่งกันเพื่อรางวัลที่ดีที่สุดเท่านั้น

![ปุ่มสลับเฉพาะระดับสูงสุด](/img/prize/highest-tier-only.png)

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/prize/highest-tier-only-prize.mp4" type="video/mp4" />
</video>

---

## ตัวอย่างช่องรางวัล

### วงล้อ (8 ช่อง)

| ช่อง | รางวัล           | ประเภท        | โอกาส | ทั้งหมด   | ขีดจำกัดรายวัน |
| ---- | ---------------- | ------------- | ----- | --------- | -------------- |
| 1    | บัตรของขวัญ $50  | ชุดบัตรกำนัล  | 5%    | 10        | 2              |
| 2    | ลด 20%           | ชุดบัตรกำนัล  | 10%   | 50        | ไม่จำกัด       |
| 3    | ลด 10%           | บัตรกำนัล     | 15%   | ไม่จำกัด  | ไม่จำกัด       |
| 4    | ลองอีกครั้ง      | ไม่มีรางวัล   | 20%   | —         | —              |
| 5    | ส่งฟรี           | บัตรกำนัล     | 10%   | ไม่จำกัด  | ไม่จำกัด       |
| 6    | ลองอีกครั้ง      | ไม่มีรางวัล   | 15%   | —         | —              |
| 7    | ไปที่บล็อก       | ลิงก์ภายนอก   | 15%   | ไม่จำกัด  | ไม่จำกัด       |
| 8    | ลองอีกครั้ง      | ไม่มีรางวัล   | 10%   | —         | —              |
| —    | **รวม**          |               | **100%** |         |                |

---

## จำนวนและสต็อก

ทุกประเภทรางวัลยกเว้น**ไม่มีรางวัล**จะมีส่วน**ขีดจำกัดรางวัล**ในตัวแก้ไข พร้อมขีดจำกัดสองแบบที่ตั้งได้และตัวนับอ่านอย่างเดียวสองตัว

| ฟิลด์             | คำอธิบาย                                                                                              |
| ----------------- | ---------------------------------------------------------------------------------------------------- |
| **จำนวนทั้งหมด**  | จำนวนชนะสูงสุดตลอดแคมเปญ เว้นว่างไว้สำหรับไม่จำกัด (สูงสุด 1,000,000)                                  |
| **ขีดจำกัดรายวัน** | จำนวนชนะสูงสุดต่อวันปฏิทินขององค์กร รีเซ็ตเที่ยงคืนตาม**เขตเวลาองค์กร** เว้นว่างไว้สำหรับไม่จำกัด       |
| **คงเหลือ**       | อ่านอย่างเดียว `คงเหลือ / ทั้งหมด` เมื่อตั้งขีดจำกัดทั้งหมด                                          |
| **คงเหลือวันนี้** | อ่านอย่างเดียว `คงเหลือวันนี้ / ขีดจำกัดรายวัน` เมื่อตั้งขีดจำกัดรายวัน                              |

:::tip[กระจายรางวัลมูลค่าสูงตามวัน]
ตั้งขีดจำกัดรายวันโดยไม่มีขีดจำกัดทั้งหมดเพื่อควบคุมจังหวะการแจก (เช่น "รางวัลใหญ่ 5 รางวัลต่อวัน") หรือตั้งทั้งสองอย่างเพื่อจำกัดทั้งแคมเปญและปริมาณรายวัน (เช่น ทั้งหมด 100 วันละ 10)
:::

### กฎการตรวจสอบ

- แต่ละขีดจำกัดต้องเป็นจำนวนเต็มบวกเมื่อตั้งค่า หรือเว้นว่างสำหรับไม่จำกัด
- **ขีดจำกัดรายวัน**ต้องไม่เกิน**จำนวนทั้งหมด**เมื่อตั้งทั้งสองอย่าง
- ขีดจำกัดใช้กับทุกประเภทรางวัลที่ชนะได้ (ชุดบัตรกำนัล, บัตรกำนัล, ไอเทม, ลิงก์ภายนอก, บัตรกำนัลแบบกำหนดเอง) — ไม่ใช่**ไม่มีรางวัล**

### จำนวนจำกัด (ทั้งหมด)

ตั้งจำนวนทั้งหมดสำหรับรางวัลมูลค่าสูงหรือสต็อกจำกัด:

- `remaining_quantity` ลดลงทุกครั้งที่ชนะ
- เมื่อถึง 0 จะถูกตัดออกจากการจับรางวัลจนกว่าจะเพิ่มขีดจำกัด
- ความน่าจะเป็นของรางวัลที่เหลือจะปรับสัดส่วนอัตโนมัติ

### ขีดจำกัดรายวัน

ตั้งขีดจำกัดรายวันเพื่อจำกัดจำนวนครั้งที่ชนะได้ในหนึ่งวันขององค์กร:

- นับการชนะตั้งแต่เที่ยงคืนถึงเที่ยงคืนตามเขตเวลาองค์กร
- เมื่อถึงขีดจำกัดรายวัน รางวัลจะถูกข้ามในวันนั้น
- ตัวนับรีเซ็ตอัตโนมัติเที่ยงคืนถัดไปขององค์กร — สต็อกทั้งหมดไม่เปลี่ยน
- เหมาะสำหรับควบคุมจังหวะแคมเปญระยะสั้นหรือปกป้องความสามารถในการจ่ายรางวัล

### รางวัลไม่จำกัด

เว้นทั้งสองฟิลด์ว่างสำหรับรางวัลที่จ่ายได้เสมอ:

- รหัสดิจิทัล ชุดบัตรกำนัลขนาดใหญ่ ลิงก์ภายนอก
- ไม่ต้องติดตามสต็อกหรือรายวัน

### เมื่อถึงขีดจำกัด

1. รางวัลที่ถึงขีดจำกัดจะถูกข้ามในการจับรางวัล (หมดสต็อกทั้งหมดหรือถึงขีดจำกัดรายวัน)
2. ระบบกระจายความน่าจะเป็นให้รางวัลที่เหลือที่มีสิทธิ์
3. หากรางวัล**ทั้งหมด**ไม่มีสิทธิ์ เกมจะไม่มีรางวัล
4. รางวัลที่ถูกบล็อกด้วย**ขีดจำกัดรายวัน**จะมีสิทธิ์อีกครั้งหลังเที่ยงคืนขององค์กร หากสต็อกทั้งหมดยังเหลืออยู่