派獎異常處理紀錄.md
428 additions, 0 deletions
| ... | ... | @@ -1 +1,429 @@ |
| 1 | +# 派獎 - 派獎異常處理紀錄 | |
| 2 | +### SUMMARY | |
| 3 | +取得補派獎紀錄列表,包含補派獎事件及其關聯的獎項、獎項群組、會員資訊、執行結果。 | |
| 4 | + | |
| 5 | +### REFERENCE TABLE | |
| 6 | + | |
| 7 | +**補派獎相關** | |
| 8 | +* `DBMT.AWARD_COMPENSATE` | |
| 9 | +* `DBMT.AWARD_COMPENSATE_LOG` | |
| 10 | +* `DBMT.CMS_TASK` | |
| 11 | + | |
| 12 | +**獎項相關** | |
| 13 | +* `DBMT.AWARD` | |
| 14 | +* `DBMT.AWARD_GROUP` | |
| 15 | +* `DBMT.AWARD_GP_ENTITY` | |
| 16 | +* `DBMT.AWARD_RECORD` | |
| 17 | + | |
| 18 | +**會員與執行者** | |
| 19 | +* `DBMT.ACCOUNT` | |
| 20 | +* `DBMT.CMS_USER` | |
| 21 | + | |
| 22 | +### ATTRIBUTES | |
| 23 | +* METHOD: **GET** | |
| 24 | +* PATH: `/api/features/award/compensate/logs` | |
| 25 | +* LOGIN REQUIRED: **TRUE** | |
| 26 | +* FEATURE: `AWARD_COMPENSATE` | |
| 27 | +* PERMISSION: `READ` | |
| 28 | +* CRYPTO: **None** | |
| 29 | + | |
| 30 | +### REQUEST | |
| 31 | +#### HEADERS | |
| 32 | + | |
| 33 | +| Name | Type/Len | Required(*) | Desc | | |
| 34 | +| ---| ---| ---| --- | | |
| 35 | +| Content-Type | String | * | `"application/json"` | | |
| 36 | +| Authorization | String | * | JWT Token | | |
| 37 | +| X-Request-Id | String | | X-Request-Id for api flow tracing | | |
| 38 | + | |
| 39 | +```json | |
| 40 | +// Example: | |
| 41 | +{ | |
| 42 | + "Content-Type": "application/json", | |
| 43 | + "Authorization": "Bearer jwt-token", | |
| 44 | + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb" | |
| 45 | +} | |
| 46 | +``` | |
| 47 | + | |
| 48 | +#### QUERY STRING | |
| 49 | + | |
| 50 | +| Level | Name | Type/Len | Required(*) | Nullable(*) | Desc | | |
| 51 | +| ---| ---| ---| ---| ---| --- | | |
| 52 | +| 1 | page | Integer | | * | 頁籤 DEFAULT = 1 | | |
| 53 | +| 1 | per_page | Integer | | * | 資料筆數,下拉選單: 20, 50, 100, 500<br>DEFAULT = 20 | | |
| 54 | +| 1 | compensate__task_id | String | | | 事件編號,精準查詢 | | |
| 55 | +| 1 | compensate__id | Integer | | | 補派獎 ID,精準查詢 | | |
| 56 | +| 1 | compensate_log__status | Enum | | | 補派結果,下拉選單:<br>success: 成功<br>failure: 失敗<br>progress: 補派中 | | |
| 57 | +| 1 | compensate__create_time__ge | Datetime | | | 補派獎發起開始時間<br>僅選擇時 → 搜尋 >= 選擇時間 | | |
| 58 | +| 1 | compensate__create_time__le | Datetime | | | 補派獎發起結束時間<br>僅選擇時 → 搜尋 <= 選擇時間 | | |
| 59 | +| 1 | record__user_id | String | | | 身份證字號,精準查詢 | | |
| 60 | +| 1 | account__invite_code | String | | | 會員編號(推薦碼),精準查詢 | | |
| 61 | +| 1 | award_group__id | Integer | | | 獎項群 ID,下拉選單 | | |
| 62 | +| 1 | award_group__name | String | | | 獎項群名稱,模糊搜尋 | | |
| 63 | +| 1 | award__code | String | | | 獎項代號,精準查詢 | | |
| 64 | +| 1 | award__name | String | | | 獎項名稱,模糊搜尋 | | |
| 65 | +| 1 | compensate__requester_id | Integer | | | 執行者 ID (CMS_USER.ID),精準查詢 | | |
| 66 | +| 1 | compensate__requester_username | String | | | 執行者帳號 (CMS_USER.USERNAME),精準查詢 | | |
| 67 | + | |
| 68 | +**排序**: 預設以 `compensate__create_time DESC` (補派獎發起時間降冪) | |
| 69 | + | |
| 70 | +```markdown | |
| 71 | +// Example | |
| 72 | +/api/features/award/compensates?page=1&per_page=20&award_group__name=星巴克&compensate_log__status=success&compensate__create_time__ge=2024/12/01 00:00:00 | |
| 73 | +``` | |
| 74 | + | |
| 75 | +### RESPONSE | |
| 76 | +#### STATUS CODE | |
| 77 | +* 200 | |
| 78 | + | |
| 79 | +#### HEADERS | |
| 80 | + | |
| 81 | +| Name | Type/Len | Desc | | |
| 82 | +| ---| ---| --- | | |
| 83 | +| Authorization | String | JWT Token | | |
| 84 | +| X-Request-Id | String | Returning Request-Id | | |
| 85 | + | |
| 86 | +```json | |
| 87 | +// Example: | |
| 88 | +{ | |
| 89 | + "Authorization": "Bearer jwt-token", | |
| 90 | + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb" | |
| 91 | +} | |
| 92 | +``` | |
| 93 | + | |
| 94 | +#### BODY | |
| 95 | + | |
| 96 | +| Level | Name | Type/Len | Nullable(*) | Desc | | |
| 97 | +| ---| ---| ---| ---| --- | | |
| 98 | +| 1 | status | String | | 回應狀態 (SUCCESS, FAILURE) | | |
| 99 | +| 1 | data | Dict | | 通用資料包裝 | | |
| 100 | + | |
| 101 | +#### Data | |
| 102 | + | |
| 103 | +| Level | Name | Type/Len | Nullable(*) | Desc | | |
| 104 | +| ---| ---| ---| ---| --- | | |
| 105 | +| 2 | items | List | | 結果列表 | | |
| 106 | +| 2 | pagination | Dict | | 分頁資訊 | | |
| 107 | + | |
| 108 | +#### Items | |
| 109 | + | |
| 110 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 111 | +| ---| ---| ---| ---| ---| --- | | |
| 112 | +| 3 | compensate | Dict | | 補派獎資訊 (AWARD_COMPENSATE) | - | | |
| 113 | +| 3 | compensate_log | Dict | | 補派獎日誌資訊 (AWARD_COMPENSATE_LOG) | - | | |
| 114 | +| 3 | record | Dict | | 派獎紀錄資訊 (AWARD_RECORD) | - | | |
| 115 | +| 3 | task | Dict | | 任務資訊 (CMS_TASK) | - | | |
| 116 | +| 3 | award | Dict | | 獎項資訊 (AWARD) | - | | |
| 117 | +| 3 | award_group | Dict | | 獎項群資訊 (AWARD_GROUP) | - | | |
| 118 | +| 3 | member | Dict | | 會員資訊 (ACCOUNT) | - | | |
| 119 | +| 3 | requester | Dict | | 執行者資訊 (CMS_USER) | - | | |
| 120 | + | |
| 121 | +#### compensate | |
| 122 | + | |
| 123 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 124 | +| ---| ---| ---| ---| ---| --- | | |
| 125 | +| 4 | id | Integer | | 補派獎 ID | `AWARD_COMPENSATE.ID` | | |
| 126 | +| 4 | award_id | Integer | | 獎項 ID | `AWARD_COMPENSATE.AWARD_ID` | | |
| 127 | +| 4 | task_id | String | | 主排程 ID (事件編號) | `AWARD_COMPENSATE.TASK_ID` | | |
| 128 | +| 4 | requester_id | Integer | | 執行者 ID | `AWARD_COMPENSATE.REQUESTER_ID` | | |
| 129 | +| 4 | create_time | Datetime | | 建立時間 (補派獎發起時間) | `AWARD_COMPENSATE.CREATE_TIME` | | |
| 130 | +| 4 | update_time | Datetime | | 修改時間 | `AWARD_COMPENSATE.UPDATE_TIME` | | |
| 131 | + | |
| 132 | +#### compensate_log | |
| 133 | + | |
| 134 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 135 | +| ---| ---| ---| ---| ---| --- | | |
| 136 | +| 4 | id | Integer | | 補派獎日誌 ID | `AWARD_COMPENSATE_LOG.ID` | | |
| 137 | +| 4 | compensate_id | Integer | | 補派獎 ID | `AWARD_COMPENSATE_LOG.COMPENSATE_ID` | | |
| 138 | +| 4 | record_id | Integer | | 派獎紀錄 ID | `AWARD_COMPENSATE_LOG.RECORD_ID` | | |
| 139 | +| 4 | status | Enum | | 補派結果:<br>progress: 處理中<br>success: 成功<br>failure: 失敗 | `AWARD_COMPENSATE_LOG.STATUS` | | |
| 140 | +| 4 | error | String | * | 錯誤訊息 | `AWARD_COMPENSATE_LOG.ERROR` | | |
| 141 | +| 4 | create_time | Datetime | | 日誌建立時間 (補派獎完成時間) | `AWARD_COMPENSATE_LOG.CREATE_TIME` | | |
| 142 | + | |
| 143 | +#### record | |
| 144 | + | |
| 145 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 146 | +| ---| ---| ---| ---| ---| --- | | |
| 147 | +| 4 | id | Integer | | 派獎紀錄 ID | `AWARD_RECORD.ID` | | |
| 148 | +| 4 | trans_id | String | | 交易 ID (UUID) | `AWARD_RECORD.TRANS_ID` | | |
| 149 | +| 4 | award_id | Integer | | 獎項 ID | `AWARD_RECORD.AWARD_ID` | | |
| 150 | +| 4 | user_id | String | | 身份證字號 | `AWARD_RECORD.USER_ID` | | |
| 151 | +| 4 | deliver_amount | Integer | | 派送數量 | `AWARD_RECORD.DELIVER_AMOUNT` | | |
| 152 | +| 4 | status | Enum | | 執行狀態:<br>PENDING: 待派獎<br>PROGRESS: 處理中<br>DONE: 完成<br>ERROR_PROGRESS: 異常處理中 | `AWARD_RECORD.STATUS` | | |
| 153 | +| 4 | result | Enum | * | 執行結果:<br>SUCCESS: 成功<br>CHECK: 確認中<br>FAIL: 失敗 | `AWARD_RECORD.RESULT` | | |
| 154 | +| 4 | channel_source | Enum | | 派獎來源通路:<br>WEBA: WEBA<br>MISSION_BOARD: 任務牆<br>PERSONAL_ACTIVITY: 個人化專屬活動 | `AWARD_RECORD.CHANNEL_SOURCE` | | |
| 155 | +| 4 | push_batch_id | String | * | 推播 BATCH ID | `AWARD_RECORD.PUSH_BATCH_ID` | | |
| 156 | +| 4 | queue_time | Datetime | * | 進 QUEUE 時間 | `AWARD_RECORD.QUEUE_TIME` | | |
| 157 | +| 4 | claim_time | Datetime | | 領獎時間 | `AWARD_RECORD.CLAIM_TIME` | | |
| 158 | +| 4 | issue_time | Datetime | * | 派獎成功時間 | `AWARD_RECORD.ISSUE_TIME` | | |
| 159 | +| 4 | estimate_deliver_time | Datetime | | 預計執行時間 | `AWARD_RECORD.ESTIMATE_DELIVER_TIME` | | |
| 160 | +| 4 | create_time | Datetime | | 建立時間 | `AWARD_RECORD.CREATE_TIME` | | |
| 161 | +| 4 | update_time | Datetime | * | 更新時間 | `AWARD_RECORD.UPDATE_TIME` | | |
| 162 | + | |
| 163 | +#### task | |
| 164 | + | |
| 165 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 166 | +| ---| ---| ---| ---| ---| --- | | |
| 167 | +| 4 | id | String | | 任務 ID (UUID) | `CMS_TASK.ID` | | |
| 168 | +| 4 | task_id | String | | Celery 任務 ID | `CMS_TASK.TASK_ID` | | |
| 169 | +| 4 | name | String | | 任務名稱 | `CMS_TASK.NAME` | | |
| 170 | +| 4 | state | Enum | | 任務狀態 | `CMS_TASK.STATE` | | |
| 171 | +| 4 | type | Enum | | 任務類型 | `CMS_TASK.TYPE` | | |
| 172 | +| 4 | queue | String | * | 佇列名稱 | `CMS_TASK.QUEUE` | | |
| 173 | +| 4 | eta | Datetime | * | 預計執行時間 | `CMS_TASK.ETA` | | |
| 174 | +| 4 | retries | Integer | | 重試次數 | `CMS_TASK.RETRIES` | | |
| 175 | +| 4 | root_id | String | * | 根任務 ID | `CMS_TASK.ROOT_ID` | | |
| 176 | +| 4 | parent_id | String | * | 父任務 ID | `CMS_TASK.PARENT_ID` | | |
| 177 | +| 4 | create_time | Datetime | | 建立時間 | `CMS_TASK.CREATE_TIME` | | |
| 178 | +| 4 | update_time | Datetime | | 更新時間 | `CMS_TASK.UPDATE_TIME` | | |
| 179 | + | |
| 180 | +#### award | |
| 181 | + | |
| 182 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 183 | +| ---| ---| ---| ---| ---| --- | | |
| 184 | +| 4 | id | Integer | | 獎項 ID | `AWARD.ID` | | |
| 185 | +| 4 | code | String | | 獎項代號 | `AWARD.CODE` | | |
| 186 | +| 4 | name | String | | 獎項名稱 | `AWARD.NAME` | | |
| 187 | +| 4 | group_id | Integer | | 獎項群 ID | `AWARD.GROUP_ID` | | |
| 188 | +| 4 | active_status | Enum | | 獎項狀態:<br>ACTIVE: 啟用<br>INACTIVE: 停用 | `AWARD.ACTIVE_STATUS` | | |
| 189 | +| 4 | process_status | Enum | | 執行狀態:<br>AVAILABLE: 可用<br>FULL: 已額滿<br>EXECUTED: 排程已執行 | `AWARD.PROCESS_STATUS` | | |
| 190 | +| 4 | award_type | Enum | | 獎項類型:<br>ORCA_POINT: 小樹點<br>QWARE: Qware 點數<br>SELFGEN_VOUCHER: 自建票券<br>EDENRED: Edenred<br>SYSTEX: Systex | `AWARD.AWARD_TYPE` | | |
| 191 | +| 4 | deliver_type | Enum | | 發送類型:<br>IMMEDIATE: 立即<br>ETA: 指定時間 | `AWARD.DELIVER_TYPE` | | |
| 192 | +| 4 | deliver_amount | Integer | | 發送數量(每次) | `AWARD.DELIVER_AMOUNT` | | |
| 193 | +| 4 | deliver_limit | Integer | | 發送次數上限 | `AWARD.DELIVER_LIMIT` | | |
| 194 | +| 4 | deliver_time | Datetime | * | 發送時間 | `AWARD.DELIVER_TIME` | | |
| 195 | +| 4 | create_time | Datetime | | 建立時間 | `AWARD.CREATE_TIME` | | |
| 196 | +| 4 | update_time | Datetime | * | 更新時間 | `AWARD.UPDATE_TIME` | | |
| 197 | + | |
| 198 | +#### award_group | |
| 199 | + | |
| 200 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 201 | +| ---| ---| ---| ---| ---| --- | | |
| 202 | +| 4 | id | Integer | | 獎項群 ID | `AWARD_GROUP.ID` | | |
| 203 | +| 4 | name | String | | 獎項群名稱 | `AWARD_GROUP.NAME` | | |
| 204 | +| 4 | status | Enum | | 獎項群狀態:<br>ACTIVE: 上架<br>INACTIVE: 下架<br>RETIRED: 永久下架 | `AWARD_GROUP.STATUS` | | |
| 205 | +| 4 | start_time | Datetime | * | 獎項群開始時間 | `AWARD_GROUP.START_TIME` | | |
| 206 | +| 4 | end_time | Datetime | * | 獎項群結束時間 | `AWARD_GROUP.END_TIME` | | |
| 207 | +| 4 | create_time | Datetime | | 建立時間 | `AWARD_GROUP.CREATE_TIME` | | |
| 208 | +| 4 | update_time | Datetime | * | 更新時間 | `AWARD_GROUP.UPDATE_TIME` | | |
| 209 | + | |
| 210 | +#### member | |
| 211 | + | |
| 212 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 213 | +| ---| ---| ---| ---| ---| --- | | |
| 214 | +| 4 | id | String | | 身份證字號 (台灣 ID) | `ACCOUNT.ID` | | |
| 215 | +| 4 | invite_code | String | * | 推薦碼 (會員編號) | `ACCOUNT.INVITE_CODE` | | |
| 216 | +| 4 | isverified | String | | 是否會員驗身 | `ACCOUNT.ISVERIFIED` | | |
| 217 | + | |
| 218 | +#### requester | |
| 219 | + | |
| 220 | +| Level | Name | Type/Len | Nullable(*) | Desc | Source | | |
| 221 | +| ---| ---| ---| ---| ---| --- | | |
| 222 | +| 4 | id | Integer | | 使用者 ID | `CMS_USER.ID` | | |
| 223 | +| 4 | username | String | | 帳號 | `CMS_USER.USERNAME` | | |
| 224 | +| 4 | name | String | | 姓名 | `CMS_USER.NAME` | | |
| 225 | +| 4 | enterprise_id | String | * | 集團員編 | `CMS_USER.ENTERPRISE_ID` | | |
| 226 | +| 4 | department | String | * | 處部 | `CMS_USER.DEPARTMENT` | | |
| 227 | +| 4 | division | String | * | 科 | `CMS_USER.DIVISION` | | |
| 228 | +| 4 | title | String | * | 職稱 | `CMS_USER.TITLE` | | |
| 229 | + | |
| 230 | +```json | |
| 231 | +// Example: | |
| 232 | +{ | |
| 233 | + "status": "SUCCESS", | |
| 234 | + "data": { | |
| 235 | + "items": [ | |
| 236 | + { | |
| 237 | + "compensate": { | |
| 238 | + "id": 1001, | |
| 239 | + "award_id": 5001, | |
| 240 | + "task_id": "TASK_2024120501", | |
| 241 | + "requester_id": 101, | |
| 242 | + "create_time": "2024/12/05 10:30:00", | |
| 243 | + "update_time": "2024/12/05 10:30:00" | |
| 244 | + }, | |
| 245 | + "compensate_log": { | |
| 246 | + "id": 2001, | |
| 247 | + "compensate_id": 1001, | |
| 248 | + "record_id": 3001, | |
| 249 | + "status": "success", | |
| 250 | + "error": null, | |
| 251 | + "create_time": "2024/12/05 10:35:00" | |
| 252 | + }, | |
| 253 | + "record": { | |
| 254 | + "id": 3001, | |
| 255 | + "trans_id": "uuid-trans-12345-abcde", | |
| 256 | + "award_id": 5001, | |
| 257 | + "user_id": "A123456789", | |
| 258 | + "deliver_amount": 100, | |
| 259 | + "status": "DONE", | |
| 260 | + "result": "SUCCESS", | |
| 261 | + "channel_source": "WEBA", | |
| 262 | + "push_batch_id": null, | |
| 263 | + "queue_time": "2024/12/05 10:30:00", | |
| 264 | + "claim_time": "2024/12/05 10:30:00", | |
| 265 | + "issue_time": "2024/12/05 10:35:00", | |
| 266 | + "estimate_deliver_time": "2024/12/05 10:30:00", | |
| 267 | + "create_time": "2024/12/05 10:30:00", | |
| 268 | + "update_time": "2024/12/05 10:35:00" | |
| 269 | + }, | |
| 270 | + "task": { | |
| 271 | + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", | |
| 272 | + "task_id": "celery-task-uuid-12345", | |
| 273 | + "name": "award_compensate_task", | |
| 274 | + "state": "SUCCESS", | |
| 275 | + "type": "ASYNC", | |
| 276 | + "queue": "default", | |
| 277 | + "eta": null, | |
| 278 | + "retries": 0, | |
| 279 | + "root_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", | |
| 280 | + "parent_id": null, | |
| 281 | + "create_time": "2024/12/05 10:30:00", | |
| 282 | + "update_time": "2024/12/05 10:35:00" | |
| 283 | + }, | |
| 284 | + "award": { | |
| 285 | + "id": 5001, | |
| 286 | + "code": "STARBUCKS_GIFT_100", | |
| 287 | + "name": "星巴克100元禮券", | |
| 288 | + "group_id": 100, | |
| 289 | + "active_status": "ACTIVE", | |
| 290 | + "process_status": "AVAILABLE", | |
| 291 | + "award_type": "ORCA_POINT", | |
| 292 | + "deliver_type": "IMMEDIATE", | |
| 293 | + "deliver_amount": 100, | |
| 294 | + "deliver_limit": 1, | |
| 295 | + "deliver_time": null, | |
| 296 | + "create_time": "2024/11/01 00:00:00", | |
| 297 | + "update_time": "2024/11/15 10:20:00" | |
| 298 | + }, | |
| 299 | + "award_group": { | |
| 300 | + "id": 100, | |
| 301 | + "name": "星巴克12月活動", | |
| 302 | + "status": "ACTIVE", | |
| 303 | + "start_time": "2024/12/01 00:00:00", | |
| 304 | + "end_time": "2024/12/31 23:59:59", | |
| 305 | + "create_time": "2024/11/15 00:00:00", | |
| 306 | + "update_time": "2024/11/20 10:00:00" | |
| 307 | + }, | |
| 308 | + "member": { | |
| 309 | + "id": "A123456789", | |
| 310 | + "invite_code": "ABC12345", | |
| 311 | + "isverified": "Y" | |
| 312 | + }, | |
| 313 | + "requester": { | |
| 314 | + "id": 101, | |
| 315 | + "username": "admin001", | |
| 316 | + "name": "張三", | |
| 317 | + "enterprise_id": "E001", | |
| 318 | + "department": "資訊處", | |
| 319 | + "division": "開發科", | |
| 320 | + "title": "工程師" | |
| 321 | + } | |
| 322 | + }, | |
| 323 | + { | |
| 324 | + "compensate": { | |
| 325 | + "id": 1002, | |
| 326 | + "award_id": 5002, | |
| 327 | + "task_id": "TASK_2024120502", | |
| 328 | + "requester_id": 102, | |
| 329 | + "create_time": "2024/12/05 11:00:00", | |
| 330 | + "update_time": "2024/12/05 11:00:00" | |
| 331 | + }, | |
| 332 | + "compensate_log": { | |
| 333 | + "id": 2002, | |
| 334 | + "compensate_id": 1002, | |
| 335 | + "record_id": 3002, | |
| 336 | + "status": "failure", | |
| 337 | + "error": "API connection timeout", | |
| 338 | + "create_time": "2024/12/05 11:05:00" | |
| 339 | + }, | |
| 340 | + "record": { | |
| 341 | + "id": 3002, | |
| 342 | + "trans_id": "uuid-trans-67890-fghij", | |
| 343 | + "award_id": 5002, | |
| 344 | + "user_id": "B987654321", | |
| 345 | + "deliver_amount": 50, | |
| 346 | + "status": "ERROR_PROGRESS", | |
| 347 | + "result": "FAIL", | |
| 348 | + "channel_source": "MISSION_BOARD", | |
| 349 | + "push_batch_id": "BATCH_20241205_001", | |
| 350 | + "queue_time": "2024/12/05 11:00:00", | |
| 351 | + "claim_time": "2024/12/05 11:00:00", | |
| 352 | + "issue_time": null, | |
| 353 | + "estimate_deliver_time": "2024/12/05 11:00:00", | |
| 354 | + "create_time": "2024/12/05 11:00:00", | |
| 355 | + "update_time": "2024/12/05 11:05:00" | |
| 356 | + }, | |
| 357 | + "task": { | |
| 358 | + "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", | |
| 359 | + "task_id": "celery-task-uuid-67890", | |
| 360 | + "name": "award_compensate_task", | |
| 361 | + "state": "FAILURE", | |
| 362 | + "type": "ASYNC", | |
| 363 | + "queue": "default", | |
| 364 | + "eta": null, | |
| 365 | + "retries": 3, | |
| 366 | + "root_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", | |
| 367 | + "parent_id": null, | |
| 368 | + "create_time": "2024/12/05 11:00:00", | |
| 369 | + "update_time": "2024/12/05 11:05:00" | |
| 370 | + }, | |
| 371 | + "award": { | |
| 372 | + "id": 5002, | |
| 373 | + "code": "SEVEN_GIFT_50", | |
| 374 | + "name": "7-11 50元禮券", | |
| 375 | + "group_id": 101, | |
| 376 | + "active_status": "ACTIVE", | |
| 377 | + "process_status": "AVAILABLE", | |
| 378 | + "award_type": "QWARE", | |
| 379 | + "deliver_type": "IMMEDIATE", | |
| 380 | + "deliver_amount": 50, | |
| 381 | + "deliver_limit": 1, | |
| 382 | + "deliver_time": null, | |
| 383 | + "create_time": "2024/11/01 00:00:00", | |
| 384 | + "update_time": "2024/11/20 14:30:00" | |
| 385 | + }, | |
| 386 | + "award_group": { | |
| 387 | + "id": 101, | |
| 388 | + "name": "7-11禮券活動", | |
| 389 | + "status": "ACTIVE", | |
| 390 | + "start_time": "2024/12/01 00:00:00", | |
| 391 | + "end_time": "2024/12/31 23:59:59", | |
| 392 | + "create_time": "2024/11/10 00:00:00", | |
| 393 | + "update_time": "2024/11/25 15:00:00" | |
| 394 | + }, | |
| 395 | + "member": { | |
| 396 | + "id": "B987654321", | |
| 397 | + "invite_code": "XYZ98765", | |
| 398 | + "isverified": "Y" | |
| 399 | + }, | |
| 400 | + "requester": { | |
| 401 | + "id": 102, | |
| 402 | + "username": "admin002", | |
| 403 | + "name": "李四", | |
| 404 | + "enterprise_id": "E002", | |
| 405 | + "department": "業務處", | |
| 406 | + "division": "營運科", | |
| 407 | + "title": "專員" | |
| 408 | + } | |
| 409 | + } | |
| 410 | + ], | |
| 411 | + "pagination": { | |
| 412 | + "page": 1, | |
| 413 | + "per_page": 20, | |
| 414 | + "total": 2, | |
| 415 | + "pages": 1 | |
| 416 | + } | |
| 417 | + } | |
| 418 | +} | |
| 419 | +``` | |
| 420 | + | |
| 421 | +#### ERROR CODE | |
| 422 | + | |
| 423 | +| HTTP Status | ErrorCode | Message | Desc | | |
| 424 | +| ---| ---| ---| --- | | |
| 425 | +| 400 | INVALID_PARAMETER | Invalid parameter | 參數錯誤 | | |
| 426 | +| 401 | UNAUTHORIZED | Unauthorized | 未授權 | | |
| 427 | +| 403 | FORBIDDEN | Forbidden | 無權限 | | |
| 428 | +| 500 | INTERNAL_SERVER_ERROR | Internal server error | 系統錯誤 | |