# 社群媒體授權管理
Custos-Enterprise-API-S01
V1.0
針對使用者個人之社群媒體 (例:facebook),若使用者同意授權 Custos Enterprise APP 可讀取貼文資料,日後於貼文內標註指定之 hashtag (例:#custos-lifestyle-bag),Custos 即可取得使用者貼文照片圖檔,視為完成 lifestyle 項目,無須重複上傳照片。
本 API 針對使用者之社群媒體授權 token 進行新增/查詢/刪除等操作。
==作業啟動之前使用者應已完成授權,社群媒體 API 回傳其 user id 與 token==
[toc]
## 作業啟動
1. 傳入下列參數
(1) 使用者社群媒體 id #emp_sns_user_id
(2) 社群媒體授權 token #emp_sns_token1
(3) 使用者企業流水編號 #emp_corp_data_id
(4) 使用者流水編號 #emp_data_id
(5) 進行授權之社群媒體名稱 #sns_name
(6) 國別語系設定 #language_setting
(7) 欲操作之行為 #action (C:新增, R:查詢,D:刪除)
2. 記錄 SystemLog:#emp_data_id|進行社群媒體 #sns_name 授權管理|作業啟動
## 新增授權紀錄
1. 將取得之 #token 寫入資料表 corp_member_emp_sns_connection
*insert into corp_member_emp_sns_connection ('emp_corp_data_id', 'emp_data_id', 'sns_name', 'emp_sns_user_id', 'emp_sns_token1', 'emp_sns_token2', 'language_setting') values (#emp_corp_data_id, #emp_data_id, '#sns_name', '#emp_sns_user_id', '#emp_sns_token1', '', '#language_setting');*
==若有第二組 token 回傳,則寫入至 emp_sns_token_2 欄位==
2. 記錄 SystemLog:#emp_data_id|新增社群媒體 #sns_name 授權|作業完成
## 查詢授權紀錄
以使用者流水編號 #emp_data_id、社群媒體名稱 #sns_name 進行查詢,取得資料流水編號與 token
*select data_id, emp_sns_token1 from corp_member_emp_sns_connection where emp_data_id = '#emp_data_id' and sns_name = '#sns_name';*
若查詢結果為 null,表示無授權紀錄。
## 刪除授權紀錄
1. 使用者於 APP 中操作移除授權相關功能,即透過此 API 執行刪除。先執行查詢,取得該筆資料流水編號 #data_id 後執行下列 SQL 指令
*delete from corp_member_emp_sns_connection where data_id = #data_id;*
2. 記錄 SystemLog:#emp_data_id|刪除社群媒體 #sns_name 授權|作業完成
## 作業結束
記錄 SystemLog:#emp_data_id|進行社群媒體 #sns_name 授權管理|作業結束
## 例外處理
若執行中有發生異常,將攔截到的 exception 訊息記錄 ErrorLog:[YYYYMMDDHHMMSS] Enterprise-API-S01 發生異常:【#攔截到的 exception 訊息】
## 規格與範例
|API No.|Enterprise-API-S01|
|-|-|
|API Name|setSNSAuthorization|
|URL|${url}/APP/setData/setSNSAuthorization|
|Purpose|社群媒體授權管理|
|Description|管理使用者之社群媒體授權|
|Content Type|application/json|
**Request**
|參數|型態|必填|長度|說明|
|-|-|:-:|:-:|-|
|token|String|Y||使用者的token
|emp_sns_user_id|String|N|45|使用者社群媒體 id,新增時必填|
|emp_sns_token_1|String|N||社群媒體授權 token,新增時必填|
|emp_corp_data_id|INT|N||使用者所屬企業流水編號,新增時必填|
|emp_data_id|INT|Y||使用者流水編號|
|sns_name|String|Y|45|進行授權之社群媒體名稱|
|language_setting|String|N|10|國別語系設定,新增時必填|
|action|String|Y|1|C:新增, R:查詢,D:刪除|
|modify_oper|String|Y| |使用裝置|
**Response**
|參數|型態|必回|說明|
|-|-|:-:|-|
|result|String|Y|API 執行結果,Y:成功, N:失敗|
|message|String|N|API 執行失敗的訊息說明|
**Request Sample**
```javascript
var input = {
"token":"",
"emp_sns_user_id": "georgeliu",
"emp_sns_token_1": "xxxxxxxx",
"emp_corp_data_id": 1,(不需要)
"emp_data_id": 3,(不需要)
"sns_name": "facebook",
"language_setting": "zh-TW",
"action": "C",
"modify_oper": "Native Android"
}
```
**Response Sample**
```javascript
{
"result": "Y", //API 執行結果
"message": "..." //API 訊息,例如:"執行失敗,原因:XXXXX"
}
```
facebook測試上傳貼文照片後要打以下網址:
https://dev-api.custoscarbon.com/fb.php