- [版本紀錄](#版本紀錄) - [文件說明](#文件說明) - [API使用說明](#API使用說明) ## 版本紀錄 | 版本 | 說明 | 日期 | |:----:|:--------:|:----------:| | V1 | 初版建立 | 2023-08-21 | | V1.1 | 新增註冊推薦人欄位 | 2023-08-28 | ### 文件說明 此文件為團霸兔官網與直播大賽官網串接文件 * [團霸兔會員驗證](#團霸兔會員驗證) * [取得會員下線總數](#取得會員下線總數) * [取得會員下線訂單](#取得會員下線訂單) ### API使用說明 #### 使用限制 - 因資安考量,需要特定IP才能存取此頁面。 #### 使用說明 - 主要網址 ``` https://api.mr22.com.tw/{path} ``` - token 於信件中提供 --- #### 團霸兔會員驗證 * [Request](#request_1) * [Response](#response_1) :::info 透過LINE uuid確認團霸兔是否有已存在的會員,如果沒有則自動新增一個會員,並返回當前會員相關資料,若會員已存在則直接返回此會員資料。 ::: <div class='title' id='request_1'>Request</div><br/> <table> <tr> <td>method</td> <td>POST</td> </tr> <tr> <td>path</td> <td>/member</td> </tr> </table> - header <table> <tr> <td>Content-Type</td> <td>Application/json</td> </tr> <tr> <td>token</td> <td>{token}</td> </tr> </table> - body | 名稱 | 型態 | 說明 | 備註 | | -------- | -------- | -------- | -------- | | api_service | String | 服務代號 | <span class='point'>請填寫 memberSSO</span> | | card_no | String | 會員卡號 | <span class='point'>請填寫 membersso</span> | | api_info | Object | 請參考下方api_info說明 | - api_info | 名稱 | 型態 | 說明 | 備註 | | -------- | -------- | -------- | -------- | | social_type | String | 社群類型 |line | social_id | String | 社群 uuid | | social_name | String | 使用者名稱 | 會員註冊用 | | social_email | String | 使用者信箱 | 會員註冊用 | | social_photo | String | 使用者大頭貼 | 會員註冊用 | | member_referrer_card_no | String | 推薦人卡號 | 會員註冊用 | - 範例 ```json= { "api_service": "memberSSO", "card_no": "membersso", "api_info": { "social_type": "line", "social_id": "U89be43d507fe22685d79fabdc9228700", "social_name": "matrixec", "social_email": "email@matrixec.com", "social_photo": "photo_url" "member_referrer_card_no": "A1234567" } } ``` <div class='title' id='response_1'>Response</div><br/> - body | 名稱 | 型態 | 說明 | 備註 | | -------- | -------- | -------- | -------- | | api_service | String | 服務代號 | | card_no | String | 會員卡號 | | status | String | API狀態| S 代表成功,F 代表失敗| | status_code | String | [狀態碼](#member_status) | | message | String | 回覆訊息| | result | Object | 參考下方result說明 | - result | 名稱 | 型態 | 說明 | 備註 | | -------- | -------- | -------- | -------- | | name | String | 會員姓名 | | nickname | String | 暱稱(社群軟體名稱) | | email | String | 信箱 | | sex | String | 性別 | 男生 male / 女生 female | | member_level | String | 會員等級名稱| | birthday | String | 生日 | 格式 yyyy-mm-dd | | address | String | 地址 | | photo | String | 社群頭像網址 | | total_profit | number | 會員點數 | - 範例 ``` json= { "api_service": "memberSSO", "card_no": "A1234567", "status": "S", "status_code": "0000", "message": "SUCCESS", "result": { "email": "email@matrixec.com", "member_level": "M2官方團購主", "name": "matrixec", "nickname": "matrixec_line", "sex": "male", "birthday": "2013-03-01", "address": "台北市信義區...", "photo": "https://profile.line-scdn.net/...", "total_profit": 142265 } } ``` - <span id='member_status'>狀態碼</span> | 代碼 | 說明 | | ---- | ---- | | 0000 | 成功 | | M0001 | 錯誤的HTTP請求方式 | | M0002 | 授權失敗 | | M0003 | 參數錯誤 | | M0004 | 授權失敗 | --- #### 取得會員下線總數 * [Request](#request_2) * [Response](#response_2) :::info 利用會員卡號取得會員下線總數。 ::: <div class='title' id='request_2'>Request</div><br/> <table> <tr> <td>method</td> <td>GET</td> </tr> <tr> <td>path</td> <td>/members</td> </tr> </table> - header <table> <tr> <td>Content-Type</td> <td>Application/json</td> </tr> <tr> <td>token</td> <td>{token}</td> </tr> </table> - param | 名稱 | 型態 | 說明 | 備註 | | -------- | -------- | -------- | -------- | | mode | string | API模式 | 請填寫 get_total_sub_member | card_no_list | string | 會員卡號 | 用逗號將卡號串在一起並使用URL encode - 範例 ``` https://api.mr22.com.tw/members ?mode=get_total_sub_member&card_no_list=A1234567%2CB1234567%2CC1234567%0A ``` <div class='title' id='response_2'>Response</div><br/> - body | 名稱 | 型態 | 說明 | | -------- | -------- | -------- | | status | String | 請參考下方[狀態碼](#members_status) | | res_data | Object | 回覆資料 | | res_data.card_no | String | 會員卡號| | res_data.card_no.level | Object | 每層的下線總數| | res_data.card_no.total | Number | 全部的下線總數| - 範例 ``` json= { "status": "000", "message": "success", "res_data": { "wilson_line": { "level": { "1": 17, "2": 8 }, "total": 25 } } } ``` - <span id='members_status'>狀態碼</span> | 代碼 | 說明 | | ---- | ---- | | 000 | 成功 | | 101 | 錯誤的HTTP請求方式 | | 102 | 授權失敗 | | 103 | 參數錯誤 | --- #### 取得會員下線訂單 * [Request](#request_3) * [Response](#response_3) :::info 利用會員卡號取得會員所有下線訂單資訊,以及訂單商品金額明細。 ::: <div class='title' id='request_3'>Request</div><br/> <table> <tr> <td>method</td> <td>GET</td> </tr> <tr> <td>path</td> <td>/order_m2</td> </tr> </table> - header <table> <tr> <td>Content-Type</td> <td>Application/json</td> </tr> <tr> <td>token</td> <td>{token}</td> </tr> </table> - param | 名稱 | 型態 | 說明 | 備註 | | -------- | -------- | -------- | -------- | | mode | string | API模式 | 請填寫 get_member_m2_order | card_no_list | string | 會員卡號 | A1234567,B1234567,C1234567... | start_day | string | 起始訂購日期 | 日期範例:2023-01-01 | end_day | string | 截止訂購日期 | 日期範例:2023-01-31 - 範例 ``` https://api.mr22.com.tw/order_m2 ?mode=get_member_m2_order&card_no_list=A1234567,B1234567,C1234567&start_day=2023-01-01&end_day=2023-01-31 ``` <div class='title' id='response_3'>Response</div><br/> - body | 名稱 | 型態 | 說明 | | -------- | -------- | -------- | | status | String | [狀態碼](#get_member_m2_order_status) | | message | String | 成功訊息 | | res_data | Array | 回覆資料 | | res_data.card_no | String |會員卡號| | res_data.card_no.order_list | Array |訂單資料| | res_data.card_no.order_list.sn | Integer |訂單流水號| | res_data.card_no.order_list.order_no | String |訂單編號| | res_data.card_no.order_list.order_day | String |訂購日期| | res_data.card_no.order_list.order_date | String |訂購日期時間| | res_data.card_no.order_list.member_sn | String |會員流水號| | res_data.card_no.order_list.total_price | Integer |訂單總金額| | res_data.card_no.order_list.status | String |[訂單狀態](#order_status)| | res_data.card_no.order_list.datail | Array |訂單明細資料| | res_data.card_no.order_list.datail.order_detail_sn | Integer |訂單明細流水號| | res_data.card_no.order_list.datail.product_sn | Integer |商品流水號| | res_data.card_no.order_list.datail.product_no | String |商品編號| | res_data.card_no.order_list.datail.product_name | String |商品名稱| | res_data.card_no.order_list.datail.standard_sn | Integer |規格流水號| | res_data.card_no.order_list.datail.standard_no | String |規格編號| | res_data.card_no.order_list.datail.standard_name | String |規格名稱| | res_data.card_no.order_list.datail.quantity | Integer |訂購數量| | res_data.card_no.order_list.datail.price | Integer |商品金額| - 範例 ``` json= { "status": "000", "message": "success", "res_data": { "wilson_line": { "order_list": [ { "sn": 12345, "order_no": "D3080347712", "order_day": "2023-08-03", "order_date": "2023-08-0317: 37: 54", "member_sn": 41954, "total_price": 2000, "status": "5", "datail": [ { "order_detail_sn": 23456, "product_sn": 19716, "product_type": 1, "product_no": "0602", "product_name": "\u6c34\u679c\u67f3\u4e01", "standard_sn": 19867, "standard_no": "0605001", "standard_name": "\u516d\u9846", "quantity": 5, "price": 2000 } ] } ] } } } ``` - <span id='get_member_m2_order_status'>API狀態碼</span> | 代碼 | 說明 | | ---- | ---- | | 000 | 成功 | | 101 | 錯誤的HTTP請求方式 | | 102 | 授權失敗 | | 103 | 參數錯誤 | - <span id='order_status'>訂單狀態碼</span> | 代碼 | 說明 | | ---- | ---- | | 1 | 未付款 | | 2 | 付款失敗 | | 3 | 付款完成 | | 4 | 再次出貨 | | 5 | 出貨完畢 | | 8 | 申請退貨 | | 9 | 申請退款 | | 11 | 訂購結單 | --- <!-- 樣式 --> <style> .title { font-weight: 900; } .point { color: red; } </style>