---
# System prepended metadata

title: Custos Enterprise API - API-P03 合作店家操作會員點數 (樹)
tags: [合作店家]

---

# 合作店家操作會員點數 (樹)

Custos-Enterprise API-P03
V1.0
	
提供合作店家操作 Custos 會員點數 (樹)。

[toc]
## 作業啟動

1. 傳入下列參數：
(1) Custos 會員手機號碼 (#emp_phone)
(2) 合作店家 ID (#vendor_corp_data_id)
(3)	操作動作 (#action): R 為查詢、U 為更新
(4) 更新樹數 (#update_tree_num)
2. 記錄 SystemLog：合作店家 #vendor_corp_data_id|會員 #emp_phone 點數操作 #action|作業啟動

## API 作業啟動
1. 若 #action 為 R，則以 #會員手機號碼 (#emp_phone) 查詢 corp_member_emp 資料表，取得
(1)	使用者企業流水編號 (#corp_data_id)
(2)	使用者流水編號 (#emp_data_id)
(3) 再以上述資料，查詢 corp_ls_emp_carbon_records 資料表，取得會員點數 (樹)；參考 SQL
*select trees_accum from corp_ls_emp_carbon_records where corp_data_id = #corp_data_id and emp_data_id = #emp_data_id*

2. 若 #action 為 U，則以 #會員手機號碼 (#emp_phone) 查詢 corp_member_emp 資料表，取得
(1)	使用者企業流水編號 (#corp_data_id)
(2)	使用者流水編號 (#emp_data_id)
(3) 再以上述資料，更新 corp_ls_emp_carbon_records 資料表；參考 SQL
*update corp_ls_emp_carbon_records set trees_accum = trees_accum + #update_tree_num where corp_data_id = #corp_data_id and emp_data_id = #emp_data_id*

## 作業結束
記錄 SystemLog：合作店家 #vendor_corp_data_id|會員 #emp_phone 點數操作 #action|作業結束

## 例外處理
若執行中有發生異常，將攔截到的 exception 訊息記錄 ErrorLog：[YYYYMMDDHHMMSS] Enterprise-API-P03 發生異常：【#攔截到的 exception 訊息】

## 規格及範例
|API No.|Enterprise-API-P03|
|-|-|
|API Name|mgtMemberTrees|
|URL|${url}/APP/setData/mgtMemberTrees|
|Purpose|合作店家操作會員點數 (樹)|
|Description|透過 API 提供合作店家操作 Custos 會員點數 (樹)|
|Content-Type|application/json|

**Request**
|參數|型態|必填|長度|說明|
|-|-|:-:|:-:|-|
|emp_phone|String|Y|16|會員手機號碼|
|vendor_corp_data_id|INT|Y||合作店家企業流水號代碼|
|action|String|Y|1|R 為查詢、U 為更新|
|update_tree_num|INT|N||action 為 U 時必填，為整數值|

**Response**
|參數|型態|必回|說明|
|-|-|:-:|-|
|result|String|Y|API 執行結果，Y:成功, N:失敗|
|message|String|N|API 執行失敗的訊息說明|
|trees_accum|INT|N|action 為 R 時回傳會員點數 (樹)|

**Request Sample 1**
```javascript
var input = {
  "emp_phone": "0912345678",
  "vendor_corp_data_id": 12,
  "action": "R"
}
```

**Request Sample 2**
```javascript
var input = {
  "emp_phone": "0912345678",
  "vendor_corp_data_id": 12,
  "action": "U",
  "update_tree_num": 3
}
```

**Response Sample 1 (action = 'R')**
```javascript
{	
  "result": "Y",	//API 結果
  "message": "...",	//API 訊息 例如："執行失敗, 原因：XXXXXXXXX"
  "trees_accum": 6     //會員點數 (樹)
}	
```

**Response Sample 2 (action = 'U')**
```javascript
{	
  "result": "Y",	//API 結果
  "message": "..."	//API 訊息 例如："執行失敗, 原因：XXXXXXXXX"
}	
```