---
# System prepended metadata

title: Custos Enterprise API - API-S01 社群媒體授權管理
tags: [SNS]

---

# 社群媒體授權管理 
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