#0dc29
Back
2026/01/29
2 min read

編輯條件樣板

編輯條件樣板.md
113 additions, 0 deletions
... ... @@ -1 +1,114 @@
1 +## SUMMARY
2 +* 建立任務牆子任務條件 template,樣板不需過審可直接修改
3 +* 當條件為 `serial_id` 時需檢核是否存在
4 +### REFERENCE TABLE
5 +* `DBMT.CMS_MISSION_RULE_PATTERN`
6 +### ATTRIBUTES
7 +* METHOD: **POST**
8 +* PATH: `/api/features/mission-board/pattern/update/{id: int}`
9 +* LOGIN REQUIRED: **TRUE**
10 +* FEATURE: `MISSION_BOARD`
11 +* PERMISSION: UPDATE
12 +* CRYPTO: **None**
13 +
14 +### REQUEST
15 +#### HEADERS
16 +
17 +| Name | Type/Len | Required(*) | Desc |
18 +| ---| ---| ---| --- |
19 +| Content-Type | String | * | `"application/json"` |
20 +| Authorization | String | | JWT Token |
21 +| X-Request-Id | String | | X-Request-Id for api flow tracing |
22 +
23 +```json
24 +// Example:
25 +{
26 + "Content-Type": "application/json",
27 + "Authorization": "Bearer jwt-token",
28 + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb"
29 +}
30 +```
31 +
32 +#### PAYLOAD
33 +
34 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
35 +| ---| ---| ---| ---| ---| --- |
36 +| 1 | data | Dict | * | | |
37 +
38 +### DATA
39 +
40 +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc |
41 +| ---| ---| ---| ---| ---| --- |
42 +| 2 | id | Number | * | | id |
43 +| 2 | name | String | * | | 條件樣板名稱 |
44 +| 2 | category | Enum | * | | 條件樣板類型<br>voucher 指定票券<br>member_referral 會員推薦 |
45 +| 2 | criteria | List(Dict) | * | | 條件內容 |
46 +
47 +### 條件設定
48 +範例:
49 +
50 +```scheme
51 +[
52 + {
53 + "field": "product_name",
54 + "operator": "like",
55 + "values": ["現金券", "抵用券"]
56 + },
57 + {
58 + "field": "point_limit",
59 + "operator": "gt",
60 + "values": [500]
61 + }
62 +]
63 +```
64 +
65 +* 請參考 Table Schema ([https://app.clickup.com/3626232/docs/3en7r-19300/3en7r-123898](https://app.clickup.com/3626232/docs/3en7r-19300/3en7r-123898))下方說明
66 +* **欄位說明**
67 + * **field:**
68 + * serial_id 指定票券
69 + * brand_id 指定品牌
70 + * brand_name 品牌關鍵字
71 + * product_name 品名關鍵字
72 + * point_limit 點數限制
73 + * member_identity 會員身份 (第一階段不實作)
74 + * **operator:**
75 + * in 完全相符
76 + * like 包含
77 + * not_like (品牌關鍵字、品名關鍵字),not_in (指定票券、指定品牌) 不包含
78 + * gt 大於
79 + * lt 小於
80 + * eq 等於
81 + * **value:**不論一或多個值,皆以陣列形式表示
82 +
83 +### RESPONSE
84 +#### STATUS CODE
85 +* 201
86 +#### HEADERS
87 +
88 +| Name | Type/Len | Desc |
89 +| ---| ---| --- |
90 +| Authorization | String | JWT Token |
91 +| X-Request-Id | String | Returning Request-Id |
92 +
93 +```json
94 +// Example:
95 +{
96 + "Authorization": "Bearer jwt-token",
97 + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb"
98 +}
99 +```
100 +
101 +#### BODY
102 +
103 +| Level | Name | Type/Len | Nullable(*) | Desc |
104 +| ---| ---| ---| ---| --- |
105 +| 1 | status | String | | 回應狀態 (SUCCESS, FAILURE) |
106 +| 1 | data | Dict | | 通用資料包裝 |
107 +| 2 | id | Integer | | `CMS_MISSION_RULE_PATTERN`<br>`.id` |
108 +
109 +#### ERROR CODE
110 +
111 +| HTTP Status | ErrorCode | Message | Desc |
112 +| ---| ---| ---| --- |
113 +| 400 | ValidationError | Product serial_id not exists | 商品 serial_id 不存在 |