#e9693
Back
2026/02/06
5 min read

任務牆 - 建立審核編輯

任務牆 - 建立審核編輯.md
179 additions, 0 deletions
... ... @@ -1 +1,180 @@
1 +## SUMMARY
2 +建立審核以編輯正式任務牆主任務及子任務
3 +* 封測:所有欄位皆可修改
4 +* 啟用:
5 + * 主任務:任務名稱、任務簡述、任務指南、活動條款、顯示分享任務按鈕、
6 +領獎名額限制(增加)
7 +* * 子任務:子任務名稱、是否設定CTA、CTA按鈕名稱、CTA按鈕連結網址
8 +* 停用:不可編輯
9 +### REFERENCE TABLE
10 +* `DBMT.CMS_MISSION_RULE_PATTERN`
11 +* `DBMT.CMS_AUDIT`
12 +* `DBMT.CMS_AUDIT_ENTRY`
13 +### ATTRIBUTES
14 +* METHOD: **POST**
15 +* PATH: `/api/features/mission-board/mission/create`
16 +* LOGIN REQUIRED: **TRUE**
17 +* FEATURE: `MISSION_BOARD_MANAGEMENT`
18 +* PERMISSION: `CREATE`
19 +* CRYPTO: **None**
20 +
21 +### REQUEST
22 +#### HEADERS
23 +
24 +| Name | Type/Len | Required(*) | Desc |
25 +| ---| ---| ---| --- |
26 +| Content-Type | String | * | `"application/json"` |
27 +| Authorization | String | | JWT Token |
28 +| X-Request-Id | String | | X-Request-Id for api flow tracing |
29 +
30 +```json
31 +// Example:
32 +{
33 + "Content-Type": "application/json",
34 + "Authorization": "Bearer jwt-token",
35 + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb"
36 +}
37 +```
38 +
39 +#### PAYLOAD
40 +
41 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
42 +| ---| ---| ---| ---| ---| --- |
43 +| 1 | progress | String | * | | 審核進度 |
44 +| 1 | data | Dict | * | |  任務牆設定資料 |
45 +
46 +### DATA
47 +
48 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
49 +| ---| ---| ---| ---| ---| --- |
50 +| 2 | mission_board | Dict | * | | 主任務設定 |
51 +| 2 | sub_missions | List(Dict) | * | | 子任務條件設定 |
52 +| 2 | member_lists | List(Dict) | * | | 任務名單 |
53 +
54 +####
55 +
56 +#### mission_board
57 +
58 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
59 +| ---| ---| ---| ---| ---| --- |
60 +| 3 | id | Integer | | * | 任務牆 ID (新增時為 Null)<br>`MISSION_MASTER_SETTING.ID` |
61 +| 3 | is_draft | Integer | * | | 是否暫存:<br>True/False |
62 +| 3 | name | String | * | | 任務名稱 |
63 +| 3 | status | Enum | * | | 狀態:<br>PUBLISHED: 啟用<br>RETIRED: 停用<br>BETA: 封測<br>(新增時固定為封測) |
64 +| 3 | category | Enum | * | | 任務類別:<br>ASSINGED: 指定型<br>MILESTONE: 多門檻型<br>SEQUENTIAL: 關聯型 |
65 +| 3 | summary | String | * | | 任務簡述 |
66 +| 3 | description | String | * | | 任務指南 |
67 +| 3 | visible_start_time | Datetime | * | | 上架時間 |
68 +| 3 | visible_end_time | Datetime | * | | 下架時間 |
69 +| 3 | activity_start_time | Datetime | * | | 任務開始時間 |
70 +| 3 | activity_end_time | Datetime | * | | 任務結束時間 |
71 +| 3 | award_end_time | Datetime | * | | 領獎結束時間 |
72 +| 3 | dispaly_share_button | Boolean | * | | 是否顯示任務分享按鈕 |
73 +| 3 | term | String | * | | 活動條款 |
74 +| 3 | reward | Dict | * | * | 主任務獎項設定 |
75 +
76 +#### sub_missions
77 +
78 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
79 +| ---| ---| ---| ---| ---| --- |
80 +| 3 | id | Integer | | * | 子任務 ID (新增時為 Null)<br>`MISSION_SUB_SETTING.ID` |
81 +| 3 | action | Enum | * | | 執行動作類型:<br>CREATE<br>UPDATE<br>DELETE |
82 +| 3 | name | String | * | | 子任務名稱 |
83 +| 3 | activity_type | Enum | * | | 子任務類型:<br>EXCHNAGE_POINTS: 兌換點數 EXCHNAGE_VOUCHER: 兌換票券<br>REDEEM: 核銷票券<br>LOGIN: 登入<br>MGM: 會員推薦 MGM THIRD_PARTY: 第三方 |
84 +| 3 | target_count | Integer | * | | 完成目標數 |
85 +| 3 | duplicate | Boolean | * | | 是否可重覆計算同種票券 |
86 +| 3 | cta_visible | Boolean | * | | 是否設定 CTA<br>(當設定為 true 時,以下兩個欄位必填) |
87 +| 3 | cta_link | String | | | CTA 連結 |
88 +| 3 | cta_content | String | | | CTA 按鈕文字 |
89 +| 3 | tier | Integer | * | | 排序 (任務順序) |
90 +| 3 | mission_content | list(Dict) | * | | 任務條件<br>參考[](https://app.clickup.com/3626232/v/dc/3en7r-19300/3en7r-124058?block=block-81d8ab85-326e-4340-a34e-b8729395ac98) |
91 +| 3 | reward | Dict | * | * | 子任務獎項設定 |
92 +
93 +#### member_lists
94 +
95 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
96 +| ---| ---| ---| ---| ---| --- |
97 +| 3 | id | Integer | | * | `CMS_MISSION_MEMBER_LIST.id` |
98 +| 3 | type | Enum | * | | 名單類型<br>BETA: 封測 (目前只會有封測,且只會有一個名單)<br>WHITE: 白名單<br>BLACK: 黑名單 |
99 +| 3 | filepath | String | * | | 名單路徑 |
100 +| 3 | action | Enum | * | | 執行動作:<br>CREATE<br>UPDATE<br>DELETE |
101 +
102 +#### mission_board.reward / sub_mission.reward
103 +
104 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
105 +| ---| ---| ---| ---| ---| --- |
106 +| 4 | id | Integer | | * | 任務獎勵 ID `AWARD_MISSION_SETTING.ID` |
107 +| 4 | award_group_id | Integer | * | | 獎項群 ID<br>`AWARD_GROUP_ID` |
108 +| 4 | award_id | Integer | * | | 獎項 ID<br>`AWARD_ID` |
109 +| 4 | award_type | Enum | * | | 獎勵類型<br>POINT: 點數<br>VOUCHER: 票券 |
110 +| 4 | award_content | String | * | | 獎勵內容 (顯示於 APP) |
111 +| 4 | quota | Integer | * | | 領獎名額限制 |
112 +
113 +### 條件設定
114 +範例:
115 +
116 +```scheme
117 +[
118 + {
119 + "field": "product_name",
120 + "operator": "like",
121 + "values": ["現金券", "抵用券"]
122 + },
123 + {
124 + "field": "point_limit",
125 + "operator": "gt",
126 + "values": [500]
127 + }
128 +]
129 +```
130 +
131 +* 請參考 Table Schema ([https://app.clickup.com/3626232/docs/3en7r-19300/3en7r-123898](https://app.clickup.com/3626232/docs/3en7r-19300/3en7r-123898))下方說明
132 +* **欄位說明**
133 + * **field:**
134 + * serial_id 指定票券
135 + * brand_id 指定品牌
136 + * brand_name 品牌關鍵字
137 + * product_name 品名關鍵字
138 + * point_limit 點數限制
139 + * member_identity 會員身份 (第一階段不實作)
140 + * **operator:**
141 + * in 完全相符
142 + * like 包含
143 + * not_like (品牌關鍵字、品名關鍵字),not_in (指定票券、指定品牌) 不包含
144 + * gt 大於
145 + * lt 小於
146 + * eq 等於
147 + * **value:**不論一或多個值,皆以陣列形式表示
148 +
149 +### RESPONSE
150 +#### STATUS CODE
151 +* 201
152 +#### HEADERS
153 +
154 +| Name | Type/Len | Desc |
155 +| ---| ---| --- |
156 +| Authorization | String | JWT Token |
157 +| X-Request-Id | String | Returning Request-Id |
158 +
159 +```json
160 +// Example:
161 +{
162 + "Authorization": "Bearer jwt-token",
163 + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb"
164 +}
165 +```
166 +
167 +#### BODY
168 +
169 +| Level | Name | Type/Len | Nullable(*) | Desc |
170 +| ---| ---| ---| ---| --- |
171 +| 1 | status | String | | 回應狀態 (SUCCESS, FAILURE) |
172 +| 1 | data | Dict | | 通用資料包裝 |
173 +| 2 | id | Integer | | `CMS_MISSION_RULE_PATTERN`<br>`.id` |
174 +
175 +#### ERROR CODE
176 +
177 +| HTTP Status | ErrorCode | Message | Desc |
178 +| ---| ---| ---| --- |
179 +| | | | |