## WYW Event API Documentation ### Base URL #### Production: - https://www.diageocrm.com.tw/api #### Testing: - https://diageocrm-com.diageoplatform.com/api ### Endpoints #### 1. Check WYW Event Membership ##### `POST /wyw-event/check` ###### Description Checks if a user is a loyalty member and returns their event member status. ###### Request Parameters | Parameter | Type | Required | Validation Rules | |-----------|------|----------|------------------| | `line_user_id` | String | Yes | Must be present | | `utm_campaign` | String | No | | | `utm_medium` | String | No | | | `utm_source` | String | No | | ###### Responses ###### Successful Response - **Status Code**: 200 OK - **Body**: ```json { "error": false, "message": "會員計劃會員", "data": { "id": 123, "line_user_id": "abc123", "point": 100, "is_referred": 0, "is_exchanged": 0, "is_new": 0, "is_answered": 0, "referral_count": 2, "referral_code": "WnwAl2", "created_at": "2023-04-01 12:00:00", "updated_at": "2023-04-05 15:30:00" } } ``` ###### Non-Loyalty Member - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "非會員計劃會員", "data": { "id": 123, "line_user_id": "abc123", "point": 100, "is_referred": 0, "is_exchanged": 0, "is_new": 0, "is_answered": 0, "referral_count": 2, "referral_code": "WnwAl2", "created_at": "2023-04-01 12:00:00", "updated_at": "2023-04-05 15:30:00" } } ``` #### 2. Save WYW Event Result ##### `POST /wyw-event/store` ###### Description Saves a user's WYW event result and checks for referral. ###### Request Parameters | Parameter | Type | Required | Validation Rules | |-----------|------|----------|------------------| | `line_user_id` | String | Yes | Must be present | | `result` | String | Yes | Must be present | | `referral_code` | String | No | - | ###### Responses ###### Successful Response - **Status Code**: 200 OK - **Body**: ```json { "error": false, "message": "儲存成功", "data": { "id": 123, "line_user_id": "abc123", "point": 100, "is_referred": 0, "is_exchanged": 0, "is_new": 0, "is_answered": 0, "referral_count": 2, "referral_code": "WnwAl2", "created_at": "2023-04-01 12:00:00", "updated_at": "2023-04-05 15:30:00" } } ``` ###### Non-Loyalty Member - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "非會員計劃會員" } ``` ###### User Not Found - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "查無此使用者" } ``` #### 3. Exchange WYW Event Reward ##### `POST /wyw-event/exchange` ###### Description Allows the user to exchange their WYW event reward. ###### Request Parameters | Parameter | Type | Required | Validation Rules | |-----------|------|----------|------------------| | `line_user_id` | String | Yes | Must be present | ###### Responses ###### Successful Response - **Status Code**: 200 OK - **Body**: ```json { "error": false, "message": "兌換成功", "data": { "id": 123, "line_user_id": "abc123", "point": 100, "is_referred": 0, "is_exchanged": 0, "is_new": 0, "referral_count": 2, "referral_code": "WnwAl2", "created_at": "2023-04-01 12:00:00", "updated_at": "2023-04-05 15:30:00" } } ``` ###### Already Exchanged - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "已兌換", "data": { "id": 123, "line_user_id": "abc123", "point": 100, "is_referred": 0, "is_exchanged": 0, "is_new": 0, "is_answered": 0, "referral_count": 2, "referral_code": "WnwAl2", "created_at": "2023-04-01 12:00:00", "updated_at": "2023-04-05 15:30:00" } } ``` ###### Non-Loyalty Member - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "非會員計劃會員" } ``` ###### User Not Found - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "查無此使用者" } ``` #### 4. Save WYW Event Image ##### `POST /wyw-event/save-image` ###### Description Saves a user-uploaded image for the WYW event. ###### Request Parameters | Parameter | Type | Required | Validation Rules | |-----------|------|----------|------------------| | `image` | String | Yes | Base64-encoded image data | ###### Responses ###### Successful Response - **Status Code**: 200 OK - **Body**: ```json { "error": false, "message": "成功", "image_url": "https://example.com/image.png" } ``` ###### Error Response - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "上傳圖片失敗" } ``` #### 5. Answer Question WYW Event ##### `POST /wyw-event/answer` ###### Description Saves a user-uploaded image for the WYW event. ###### Request Parameters | Parameter | Type | Required | Validation Rules | |-----------|------|----------|------------------| | `id` | int | Yes | wyw event member id | ###### Responses ###### Successful Response - **Status Code**: 200 OK - **Body**: ```json { "error": false, "message": "成功", } ``` ###### Error Response - **Status Code**: 400 Bad Request - **Body**: ```json { "error": true, "message": "無法領取點數" } ```