---
# System prepended metadata

title: 說明

---


# 說明
## 名詞說明

 **將針對Chatannie 系統目錄功能說明。** 
 
![image](https://hackmd.io/_uploads/r1Wob_J5T.png)

* `對話設定` `scenario` 聊天情境(scenario)設定
* `圖形選單` `menu` LINE 聊天室下方選單
* `標籤清單` `tag` 聊天情境的每個node 可以添加標籤
* `用戶分類` `segment` 用戶分類
* `發送對話` `broadcast` 預約時間發送對話、可以條件分類用戶群
* `聯動信息設定` `externalapi` cors連接時使用
* `Icon設定` `IconUrl` LINE機器人圖像


## API 順序

**各API基本順序的原則是依需求使用新增→取得→刪除、所有API使用前需要在Login後取得tokein, 在Request Header使用Bearer token**

| Step 1 | Step 2 | Step 3 | Step 4 |
| -------- | -------- | -------- | -------- |
| [Login](#login)     | 新增(save開頭API)     | 取得(get開頭API)     |刪除(delete開頭API)     |

## 開放給人人直接存取API
* [getChatHistoryCsv](#getChatHistoryCsv)
* [getReportCsv](#getReportCsv)
* [getUserHistoryCsv](#getUserHistoryCsv)
* [getUserVariableCsv](#getUserVariableCsv)
* [pushLineMessages](#pushLineMessages)
* [api/penglue/send](#api/penglue/send)
* [api/chichatcat/send](#api/chichatcat/send)
* [api/userclick/send](#api/userclick/send)

## 時間格式

> YYYY-MM-DD HH:MM:SS.ZZZ

**ex: 2024-01-28 06:04:25.693**

# API

## createAccount

**新增帳號**

### Request Body
    
``` json
{
    "adminId" : "0001",
    "accountId":"f09y0xfcvnn-desn-anus-07s4-ftq370e334fd45",
    "accountName":"測試帳號1",
    "accountType":"line",
    "accountIcon":"https://i.imgur.com/aitiO6X.png",
    "accountWebhookUrl":"https://dev.chatannie.com/api/LineMessage/send?adminid=0001&accountid=f09y0xfcvnn-desn-anus-07s4-ftq370e334fd45",
    "accountToken":"P3RYNmaFZN0Uh+iazRpmoGPyMZ4OHWKd269NnbiXSl7N6BmV3ZlC53z3VVsuKVCS9NGo7qrFeTljRimAInI1SM4x6IHndptnx90xE6GO+anHMPf9cfUYPlNCac/Vk5zOGdKACDxTgcjMxoSeHqM0/wdB04t89/1O/w1cDnyilFU=",
    "accountSecret":"1ccfd15d289ab89d1b25479314d20f71",
    "accountClone":""
}
```

#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID、需自行產生UUID碼、需唯一.
- `accountName` (string, required) - 帳號名稱.
- `accountType` (string, required) - 帳號類型 
    - line
    - wechat
    - fb
- `accountIcon` (string, required) - 帳號圖片連結 (ex: https://i.imgur.com/aitiO6X.pngEndFragment).
- `accountWebhookUrl` (string, required) - 社群帳號連結到chatannie 綁定的webhook url,格式固定為https://chatannie.com/api/LineMessage/send?adminid={adminid}&accountid={accountId}. {adminId}, {accountId}需等於上列adminId/accountId
- `accountToken` (string, required) - SNS連結的Token.
- `accountSecret` (string, required) - SNS連結的Secret.
- `accountClone` (string, required): 複製帳號功能、輸入頻道ID(accountId)、雖然是必填欄位、沒使用到此功能請保持空白。
 
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

---
## deleteBroadcast

**刪除發送對話**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "broadcastIds":["2d76f8ac-b9c6-11ee-8b58-d6a4610da5ec"]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `broadcastIds` (array, required): broadcastId、至少輸入一個、可以從getBroadcastPlan取得
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}

 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}

 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

---------------------------------

## deleteForm

**刪除表單設定**


### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "formId":"99a2d0f0-b8fe-11ee-9229-f26f34ad4bbe"
}
```

#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `formId` (array, required): 表單ID、可以從getForm取得
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null


---------------------------

## deleteIconUrl

**刪除bot圖像Icon、比方LINE對話視窗左側機器人圖像**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "accountIconUrl":[
        {
            "id": "cd0b7895-05b1-4102-81fd-cfc4f92bc0ff"
        }
    ]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `accountIconUrl` (array, required): 
    - `id`(string, required): bot icon 的id, 可以從getIconUrl 取得

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null
---------------------------

## deleteMenu

**刪除用戶選單**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "richmenuId":"richmenu-971a954e8c80f5a7ff4c8e3986a4f69d"
}
```
#### 說明

- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道帳號
- `richmenuId` (string, required): RichmenuID、可以從getMenu取得
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

-----------------------------

## deleteScenario

**刪除對話設定**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "scenarioId":"0b55ee90-bb79-11ee-b1cb-3289ab88e76e"
}
```

#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `scenarioId` (string, required): RichmenuID、可以從getScenario取得
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```


#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

---------------------

## deleteTag

**刪除標籤**


### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "tag":{
        "color":"red-filter",
        "name":"tag name"
    }
}
```
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `tag` (object):
    - `color` (text, required): 標籤顏色、可以從getTag取得.
    - `name` (text, required): 標籤名稱、可以從getTag取得.

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

---------------

## deleteUserData

**刪除所有追蹤用戶**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null


-----------------

## deleteUserSegment

**刪除用戶分類**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "segmentId":"01dda98c-bb7b-11ee-86cf-fadf1953c744"
}
```

#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `segmentId` (string, required):用戶分類ID、可以從getSegment取得
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

----------------

## deleteVariable

**刪除使用者變數**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "accountVariable":["var2"]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `accountVariable` (array, required): 變數名稱、可以從getVariable 取得
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

-------------------


## getAccount

**取得帳號資訊**

### Request Body

``` json
{
    "adminId" : "0001"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "accounts": [
            {
                "accountId": "2bsb3y38l9d-gzhb-1jnq-tn7h-f3ci454dd2101",
                "accountName": "GaryFB_TEST",
                "accountType": "fb",
                "accountIcon": "https://i.imgur.com/CBzw1py.png",
                "accountWebhookUrl": "https://dev.chatannie.com/api/facebook?adminid=0001&accountid=2bsb3y38l9d-gzhb-1jnq-tn7h-f3ci454dd2101",
                "accountToken": "EAAQU1tbLc5wBALb0CJ1VZA8R1PhYzc6r0i5uZCbJmODCkdt3tCqMu02Cs6fwhEZA3DhZCTjmmQfpwL8sDYNjL0VlnN63LZCH8RcarxHpseZBFTlaeT4QT4ZC2oM4v4VuBiBcT506OnpxtYulRBZBisJFuzuQcJT8pB7G1UtpzSQzZC1ttucprS0Pm",
                "accountSecret": "015c5e744f935a11b317e66b4cc42752",
                "appId": "",
                "setting": {
                    "cros": {
                        "endpoint": "https://stg.acs-tpkg.com/api/cros/v1/place_order",
                        "key": "xKSpcnl92HS8yalSLdi0a92j2sjk7X",
                        "clientid": "2015010004",
                        "params": {
                            "user_id": "a"
                        }
                    }
                }
            }
        ]
    }
}
            
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object):
    - `accounts` (array):
        - `accountId` (string): 帳號ID
        - `accountName` (string): 帳號名稱.
        - `accountType` (string): 帳號類型 
            - line
            - wechat
            - fb
        - `accountIcon` (string): 帳號使用圖片.
        - `accountWebhookUrl` (string): Webhook URL.
        - `accountToken` (string): SNS token.
        - `accountSecret` (string): SNS secret .
        - `appId` (string): 帳號類型選擇wechat需應用程式ID.
        - `setting` (object): 設定CROS設定.
            - `cros` cros專用設定
                - `endpoint`(string):cros 連結網址
                - `key`(string):依據帳號不同來填入cros給予的value
                - `clientId`(string):依據帳號不同來填入cros給予的value
                - `params`(object): 用於使用user variable收集到的資訊來做為連接cros的Parameter
                    - `key`: `value`


 
 ------------------
 
 
## getBroadcastHistory

**取得歷史"發送對話"清單**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "broadcastId": "e47f4370-bda8-11ee-90d4-dea4f76151b9",
                "broadcastName": "PM00002",
                "broadcastScenarioId": "22b0cc7e-26a3-11ee-90ac-a698574f3611",
                "broadcastScenarioName": "01_營業稅申報",
                "segmentNames": [],
                "broadcastUsers": [
                    {
                        "userId": "Ucca1dab9cdaa6abf621f352b6a20e24b",
                        "userName": "Rex曾",
                        "accountType": "line"
                    }
                ],
                "broadcastStatus": "done",
                "broadcastTime": "2024-01-28 06:45:00",
                "createTime": "2024-01-28 06:45:58.076",
                "updateTime": "2024-01-28 06:50:09.720",
                "failed": 0,
                "success": 1
            }
        ]
    
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 
#### 說明

- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 
    - `data` (array): .
        - `broadcastId` (string): 推播的唯一碼.
        - `broadcastName` (string): 堆播設定的一個名稱.
        - `broadcastScenarioId` (string): 推播設定的發送對話ID.
        - `broadcastScenarioName` (string): 推播設定的發送對話名稱.
        - `segmentNames` (array): 推播設定的Segment Name 陣列
        - `broadcastUsers` (array): 廣播對象.
            - `userId` (string): 用戶ID.
            - `userName` (string): 用戶名稱.
            - `accountType` (string): 帳號類型.
                - line
                - wechat
                - fb
        - `broadcastStatus` (string): 推播目前狀態.
        - `broadcastTime` (string): 推播預計時間.
        - `createTime` (string): 推播建立時間.
        - `updateTime` (string): 推播更新時間.
        - `failed` (number): 失敗數目.
        - `success` (number): 成功數目.


 
 ------------------
 
 ## getBroadcastPlan

**取得預計"發送對話"清單**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
    
### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "broadcastId": "441e61ea-bda8-11ee-90d4-dea4f76151b9",
                "broadcastName": "PM00001",
                "broadcastScenarioId": "22b0cc7e-26a3-11ee-90ac-a698574f3611",
                "broadcastScenarioName": "01_營業稅申報",
                "segmentNames": [
                    "forreal"
                ],
                "broadcastUsersCount": 1,
                "broadcastStatus": "pending",
                "broadcastTime": "2024-01-29 06:40:00",
                "createTime": "2024-01-28 06:41:29.006",
                "updateTime": "2024-01-28 06:41:29.006",
                "failed": null,
                "success": null
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 
    - `data` (array): .
        - `broadcastId` (string): 推播的唯一碼.
        - `broadcastName` (string): 堆播設定的一個名稱.
        - `broadcastScenarioId` (string): 推播設定的發送對話ID.
        - `broadcastScenarioName` (string): 推播設定的發送對話名稱.
        - `segmentNames` (array): An array of segment names.
        - `broadcastUsersCount` (number): 發送用戶數量.
        - `broadcastStatus` (string): 推播目前狀態.
        - `broadcastTime` (string): 推播預計時間.
        - `createTime` (string): 推播建立時間.
        - `updateTime` (string): 推播更新時間.
        - `failed` (number): 失敗數目.
        - `success` (number): 成功數目.


 
 
 -----------------
 
## getChatHistory

**取得對話歷史紀錄**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "userId": "Ucca1dab9cdaa6abf621f352b6a20e24b",
                "userName": "Rex曾",
                "userPicture": "https://sprofile.line-scdn.net/0hrXdIYP7nLXdJMD9Dk6VTCDlgLh1qQXRlNQE3FX9lJE4hCWonZV9nQS9kekUgUD5yZlJnQSlkcRBFI1oRV2bRQ04Ac0BzAWImZF5jkQ",
                "accountType": "line",
                "accountStatus": "0",
                "nodeId": "",
                "tags": [],
                "followTime": "2024-01-28 06:04:25.693",
                "accessTime": "2024-01-28 06:05:33.830",
                "createTime": "2024-01-28 06:04:25.695"
            }
        ]
    }
}
```
#### Fail


``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
  #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): .
    - `data` (array): .
        - `userId` (string): 用戶SNS ID.
        - `userName` (string): 用戶SNS 名稱.
        - `userPicture` (string): 用戶SNS頭貼.
        - `accountType` (string): 帳號類型 
            - line
            - wechat
            - fb
        - `accountStatus` (string): 帳號狀態
            - 0 失效
            - 1 有效
        - `nodeId` (string): node ID.
        - `tags` (array): 該對話使用的標籤.
            - `name` (string): 標籤名稱.
            - `color` (string): 標籤顏色、參考[#saveTag](#saveTag)說明.
        - `followTime` (string): 用戶追蹤時間.
        - `accessTime` (string): 用戶更新時間.
        - `createTime` (string): 用戶新建時間.

 -------------
 
 
## getChatHistoryCsv

**取得對話歷史紀錄、CSV格式輸出**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "startTime":"2023-07-20 02:19:15",
    "endTime":"2024-01-25 02:19:15"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `startTime` (string, required): 查詢開始時間
- `endTime` (string, required): 查詢結束時間
    

### Response


#### Success

``` csv
userid,username,userpicture,accounttype,accountstatus,nodeid,tags,followtime,accesstime,createtime
Ucca1dab9cdaa6abf621f352b6a20e24b,Rex曾,https://sprofile.line-scdn.net/0hrXdIYP7nLXdJMD9Dk6VTCDlgLh1qQXRlNQE3FX9lJE4hCWonZV9nQS9kekUgUD5yZlJnQSlkcRBFI1oRV2bRQ04Ac0BzAWImZF5jkQ,line,0,,[],2024-01-28 06:04:25.693,2024-01-28 06:05:33.830,2024-01-28 06:04:25.695
```

#### 說明
CSV結果如上面格式  
#### Fail


``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
  #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null
   

------------------

## getCheckTest

**給SNS平台測試服務是否正常用**

### Request Body

``` json
{
    "adminId" : "0001",
    "int":"xxx",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `int` (text, required): 沒有意義的字串
- `accountId` (string, required): 頻道ID
    

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "result": "Check Test OK"
    }
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 
    - `result` (string): 成功的話回傳"Check Test OK"
 
 ------------------
 
 ## getCorsError

取得cors 錯誤

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
    

### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "msg": "'account_id' in request parameter is empty.",
                "code": "E0001"
            }
        ]
    }
}
```
##### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 
    - `data` (object array): 
        - `msg`(string): 錯誤訊息
        - `code`(string): 參考excelチャットAPI_仕様整理rev07 エラーコード表.
            
 
 
 ----------------
 
 ## getForm

**取得表單設定**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
### Response

#### Success
```json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "id": "b0582c7e-bd8f-11ee-88bb-f231805ff397",
                "name": "testname",
                "fields": [
                    {
                        "var_name": "employee_count"
                    },
                    {
                        "var_name": "apply_count"
                    }
                ]
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- Result (object):
    - data (array):
        - id (string): 表單 ID
        - name (string): 表單名稱.
        - fields (array): 使用變數
            - var_name (string): 變數名稱與值對應.


 
 -----------------
 ## getIconUrl
 
 **取得LINE圖像ICON**
 
 ### Request Body
 ``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
### Response

#### Success
```json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "id": "218e8a16-e504-431b-aa0f-181810e859b3",
                "name": "1",
                "url": "2"
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- Result (object):
    - data (array):
        - id (string): icon ID
        - name (string): icon 名稱.
        - url (array): icon url
 ----------------
 
 ## getMenu

**取得頻道選單資訊**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response

#### Success
```json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "id": "richmenu-f1218d48a7d6b7dfaad1864778b2b665",
                "name": "選單",
                "user_segment": [
                    "richAllUser"
                ],
                "layout": "B",
                "chat_bar_text": "選單",
                "area_opt": {
                    "A": {
                        "type": "text",
                        "data": "營業稅申報"
                    },
                    "B": {
                        "type": "uri",
                        "data": "https://liffdev.chatannie.com/biz-demo-resource/financial-data.jpg"
                    },
                    "C": {
                        "type": "text",
                        "data": "重要訊息"
                    },
                    "D": {
                        "type": "text",
                        "data": "尋找會計事務所"
                    }
                },
                "image_width": 2500,
                "image_height": 1686,
                "createTime": "2023-07-20 02:37:08.939",
                "start_time": "2024-03-20T15:35:00.000Z",
                "end_time": "2024-03-30T15:35:00.000Z",
                "use_datetime_trigger": true,
                                "tab_menu": [
                    {
                        "name": "tt",
                        "width": "1250",
                        "yAxis": "0",
                        "xAxis": "0",
                        "height": "200"
                    },
                    {
                        "name": "bb",
                        "width": "1250",
                        "yAxis": "0",
                        "xAxis": "1250",
                        "height": "200"
                    }
                ],
                "open_menu": false
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object):
    - `data` (array):
        - `id` (string): 選單ID.
        - `name` (string): 選單名稱.
        - `user_segment` (array): 選單對應的user segment
        - `layout` (string): 使用的Layout、請參考[#saveMenu](#saveMenu)說明
        - `chat_bar_text` (string): 顯示再SNS 下方的名稱
        - `area_opt` (object): 圖片對應的區域、詳細參考[saveMenu](#saveMenu)說明
        - `image_width` (integer): 圖片寬.
        - `image_height` (integer): 圖片高.
        - `createTime` (string): 建立時間
        - `open_menu`(boolean): LINE 頻道menu是否持續開啟狀態
        - `use_datetime_trigger`(boolean): 是否使用時間切換LINE menu
        - `start_time` (string): LINE menu有效的套用時間開始、如果use_datetime_trigger=true的話
        - `end_time`(string): LINE menu有效的套用時間結束、如果use_datetime_trigger=true的話
        - `tab_menu`(object array): 請參考[#saveMenu](#saveMenu)


 
 --------------------
 
 ## getReportCSV

**取得csv報表連結**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "download_url": "https://asnet-dev-lambda-working-bucket.s3.amazonaws.com/asnet-dev-getReportCsv/275cb0d2-0831-4b11-81a9-58fd2c045da4/0001_n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436_20240128094050.csv?AWSAccessKeyId=ASIA3C5XXPPOULUNCB2P&Signature=IAG4wwXXITm7dead1NQa4koWmrs%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEBoaDmFwLW5vcnRoZWFzdC0xIkYwRAIgE%2Bn9sx4cdKlmRR%2BtHv9epKQ%2FcGTym%2FeZgloAgaF%2FZGECICz4ArRcKO41vvZN2%2FxLtdiIy1RRgwE9UOn1fa0yGdRfKo8DCNP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQAhoMNzYyMjA1MTQxOTgxIgxOW8KIQ0LeqCT9YKUq4wIjFA%2Bu%2FXJyhGftHF%2BPjHJ0L%2FwacloRT6GeOW24mV6pUK0UKWZwbD9dPaLPtoJDsH1r2zJZF2Y2bxaHyzP%2BfaBicIj20aIG1bEY45U1f4uUFWlckeTAVidJkMPhy3RH5QWi6hPbBnTiwwnVCtS60TG%2F97KsrqTSWgXACg1fYt9gKdd15H0C3wHtHH3DQazZy5Mkh%2FhR%2BGwufVl6d1TbENIw8sQu2HnWS4pJxLgcC6Gsi3VVxpK0q4MMhiD7kkFujjx4jKJqVdJU%2B8N3WkvEVVmdo0FXA0DIF0eItShhpiR6ej1nsGbDBd11xGteMIJ0vTICyvwXi9NEjAjHwgH0m5LrJbEQOeaXBguMH0UQEOgc%2FS5NlZKpHvbYZxiE06bIHmMSWHsphoapvngs7XeMFg9HMW9CRJkrHpkxIUTrw6clyxChxn0yBfMBimI76Vqq21qBnMFbKV7xFeeAD7DBAaioRyvUMKHC2K0GOp4ByUVoeRoNoOxn2ous8oUa9WyIipeE%2FQ11RUWN6CTNJ38hOzkwmkPLEHgMVB1znVyQAPkJaEaiClqLc%2BTTDYb%2BYG9YdxX6qsBVChr4g8sZtqLITRCO4L4UFfMpCuC%2Fd3ggwcKI8eTFHH%2FlvLUJGkkuoUSaIRziIpAxI1xOVBmsst1ZMAMKAxlIK8%2FHPzKrKIWDMmBHQzuTRMqnHebCT54%3D&Expires=1706438450"
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result`: 
    - `download_url` (string): csv的檔案路徑
    


 
 ---------------
 
 ## getScenario

取得一個頻道的所有對話

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "id": "21626a18-bd9c-11ee-9576-5e3d17951793",
                "scenario": {
                    "scenarioId": "21626a18-bd9c-11ee-9576-5e3d17951793",
                    "scenarioName": "C00010",
                    "iconUrlId": "",
                    "trigger": "",
                    "keywords": []
                },
                "nodes": [],
                "createTime": "2024-01-28 05:14:36.771",
                "updateTime": "2024-01-28 05:14:36.771"
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}

 ```
 #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 結果詳細請參考[#saveScenario](#saveScenario)
 
 -----------------
 
 ## getTag

**取得一個頻道的所有標籤**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "name": "12",
                "color": "red-filter",
                "values": [
                    "1324"
                ]
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object)
    - `data` (array)
        - `name` (string) - 標籤名稱
        - `color` (string) - 標籤顏色
        - `values` (string array) - 標籤值、請參考[#saveTag](#saveTag)取得詳細資訊


 
 -----------
 
## getUserCount

**取得該頻道追蹤人數**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
**Response**

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": 1
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object):
    - `data` (number): 追蹤人數


 
 ----------------
 
 ## getUserForm

**取得該表單使用者填寫結果**


### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "userId": "Ucca1dab9cdaa6abf621f352b6a20e24b",
                "formId": "7159da30-b8f9-11ee-97a4-4e4b96481df1",
                "formName": "test",
                "formData": {
                    "apply_count": "2",
                    "apply_tel": "08-1234-343"
                },
                "createTime": "2024-01-22 07:27:29.743"
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 
 #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- Result:
    - data
        - `userId`使用者ID
        - `formId` 表單ID
        - `formName` 表單名稱
        - `formData` 表單變數集
            - `var_name` 變數與值對應
        - `createTime` 建立時間


 -------------
 
 ## getUserHistoryCsv
 
 **取得該頻道使用者填寫結果**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response
#### Success

```json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "download_url": "csv url"
    }
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 
    - `download_url` (string) csv下載的url
 -----------
 
## getUserVariableHistory

**取得該頻道使用者填寫結果歷史**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
 -----------
 
 ## getUserSegment

**取得該頻道用戶分類資訊**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response
#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "id": "c087b316-bda4-11ee-a942-6a92a112c05d",
                "name": "SG00009",
                "conditions": [],
                "followTime": null,
                "users": [
                    {
                        "userId": "Ucca1dab9cdaa6abf621f352b6a20e24b",
                        "userName": "Rex曾",
                        "userPicture": "https://sprofile.line-scdn.net/0hrXdIYP7nLXdJMD9Dk6VTCDlgLh1qQXRlNQE3FX9lJE4hCWonZV9nQS9kekUgUD5yZlJnQSlkcRBFI1oRV2bRQ04Ac0BzAWImZF5jkQ",
                        "accountType": "line",
                        "accountStatus": "1",
                        "followTime": "2024-01-28 06:04:25.693",
                        "createTime": ""
                    }
                ],
                "usersCount": 1,
                "mode": "Custom",
                "cvKey": {
                    "orderId": null
                },
                "liffurl": "",
                "scenarioId": null,
                "defaultUsersSegment": false,
                "createTime": "2024-01-28 06:16:19.746",
                "updateTime": "2024-01-28 06:16:19.746"
            },
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 
 #### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object):
    - `data` (array):
        - `id` (string): 用戶分類ID.
        - `name` (string): 用戶分類名稱.
        - `conditions` (array): 條件設定、請參考[#saveUserSegment](#saveUserSegment) RequestBody的segmentConditions
        - `followTime` (string): 追蹤時間.
        - `users` (object array): 追蹤用戶資訊.請參考[#saveUserSegment](#saveUserSegment). RequestBody的segmentUsers
        - `usersCount` (integer): 在這個用戶分類的追中人數
        - `mode` (string): 條件模式
            - Custom - 自訂群組
            - CVKey - CV參數
            - Conditions - 多重條件
        - `cvKey` (object): 
            - `orderId` (string): CV專有訂單編號
        - `liffurl` (string): LIFF URL, 每個segemnt 都可以當成管道的入口、如果有設定的話。
        - `scenarioId` (string): 如果有設定管道、需要設定一個scenarioId, 請參考[#getScenario](#getScenario)
        - `defaultUsersSegment` (boolean): 是否使用預設用戶分類、true的話不須設定.
        - `createTime` (string): 建立時間.
        - `updateTime` (string): 更新時間.


 
 -----------
 
 ## getUserVariableCsv

取得該頻道使用者填寫結果

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response
#### Success

```csv
username,luid
Rex曾,Ucca1dab9cdaa6abf621f352b6a20e24b
Rex曾,Ucca1dab9cdaa6abf621f352b6a20e24b
 ```
#### 說明
CSV 結果

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null
 -----------
 
 ## getUserVariableHistory

**取得該頻道使用者填寫結果歷史**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID

### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "userid": "U339210b56885137347aaad361138927e",
                "variable": {
                    "apply_name": [
                        {
                            "value": "陳加一",
                            "create_time": "2023-08-22 05:08:02.164"
                        }
                    ],
                    "apply_tel": [
                        {
                            "value": "0923590195",
                            "create_time": "2023-08-22 05:08:02.164"
                        }
                    ],
                    "apply_company": [
                        {
                            "value": "是",
                            "create_time": "2023-08-22 05:08:02.164"
                        }
                    ],
                    "apply_count": [
                        {
                            "value": "3",
                            "create_time": "2023-08-22 05:08:02.164"
                        }
                    ]
                }
            }
        ]
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
 
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result`
    - `data` (array):
        - `userid` (string): 使用者ID
        - `variable` (object): 變數列表、下列key 為變數名稱、value為值
            - var_name (array): .
                - `value` (string): 變數值
                - `create_time` (string): 建立時間


 
 
 -------------
 
 ## getUsersList

取得使用者資訊

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "keywords",
    "lastEvaluatedKey": {
        "adm_acc_id": {
            "S": "#0001#be0lhwj8k9h-ypq0-nghy-tb9r-drt7d7ccb35d239"
        },
        "usrid_acstm": {
            "S": "#U09f0f4c0bdadde26ada531cfc7decb3c#2023-08-19 11:18:00.787"
        }
    }
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `keywords`(string,optional): 關鍵字搜尋、可使用逗號分隔多個關鍵字.
- `lastEvaluatedKey`(string,optional): 利用同一個查詢結果、拿到下一個分頁(假設有10000比結果、本服務一次回傳100筆資料
    - `adm_acc_id`(object)
        - `S`(string) ChatAnnie平台登入帳號與頻道ID串接key, 格式#adminId#accountId, ex: #0001#mwcv12niwx-35n3-o43e-jroh-g9g1ec4c22b4151
    - `usrid_acstm`
        - `S`(string) 使用者ID串接follow時間來代表資料表chatbot_userlist 的唯一值欄位 usrid_acstm、代表在該帳號adm_acc_id下、目前讀到哪一筆資料, ex: #U09f0f4c0bdadde26ada531cfc7decb3c#2023-08-19 11:18:00.787

### Response

#### Success
``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            {
                "userId": "Ucca1dab9cdaa6abf621f352b6a20e24b",
                "userName": "Rex曾",
                "userPicture": "https://sprofile.line-scdn.net/0hrXdIYP7nLXdJMD9Dk6VTCDlgLh1qQXRlNQE3FX9lJE4hCWonZV9nQS9kekUgUD5yZlJnQSlkcRBFI1oRV2bRQ04Ac0BzAWImZF5jkQ",
                "accountType": "line",
                "accountStatus": "1",
                "followTime": "2024-01-28 06:04:25.693",
                "createTime": "2024-01-28 06:04:25.693"
            }
        ],
        "count": 1,
        "lastEvaluatedKey": null
    }
}
```
#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result`:
    - `data`(object array)
        - `userId`(string,required):用戶SNS提供的ID
        - `userName`(string,required):用戶SNS提供的名稱
        - `userPicture`(string,required):用戶SNS提供的圖片
        - `accoutType`(string,required):用戶來源類型
            - line
            - wechat
            - fb
        - `accountStatus`(string,required):用戶狀態
        - `followTime`(string,required):用戶追蹤時間
        - `createTime`(string,required):用戶加入時間
    - `count`(Integer): 該頻道追蹤人數
    - `lastEvaluatedKey`(object): 拿來當下一次query的條件，可以延續上一次的搜尋。比方:假設資料量有1000筆,每次query限100筆、第一次query ,server會給key下次query帶著key, 結果就能重101開始
        - `adm_acc_id`(object)
            - `S`(string) ChatAnnie平台登入帳號與頻道ID串接key, 格式#adminId#accountId, ex:"#0001#mwcv12niwx-35n3-o43e-jroh-g9g1ec4c22b4151"
        - `usrid_acstm`
            - `S`(string) 使用者ID串接follow時間來代表資料表chatbot_userlist 的唯一值欄位 usrid_acstm、代表在該帳號adm_acc_id下、目前讀到哪一筆資料



 ---------------
 
 ## getVariable

**取得該頻道變數設定清單**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436"
}
```
#### 說明
- `adminId` (text, required): ChatAnnie平台登入帳號.
- `accountId` (text, required): 頻道ID
### Response
#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": [
            "employee_count",
            "apply_count"
        ]
    }
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
    - `data`(string array): 變數名稱列

---------------

## imgMapfile

**Senario中Rich Message的上傳圖片功能**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "category":"ImageMap",
    "img":"base64 string"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `category` (string,required): s3存檔路徑、目前永遠是
- `img`(string): base 64 圖片字串
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "link": "https://asnet-res-dev.chatannie.com/images/ImageMap/0001/n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436/2355a568-bdcb-11ee-974a-e6b170f2ffcd"
    }
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 
    - `link`(string) 圖片儲存位置

------------

## login

**登入、取得驗證token**

### Request Body

``` json
{
    "adminId" : "account id",
    "password":"password"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `password` (string, required): ChatAnnie平台登入密碼
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "id_token": "",
        "refresh_token": "",
        "access_token": "",
        "expires_in": 3600,
        "token_type": "Bearer"
    }
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
    - `id_token`(string): AWS Cognitio回傳token、使用該token 可以存取各個api([說明](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-id-token.html))
    - `refresh_token`(string): id_token、目前系統沒用到、請參考([說明](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html))
    - `access_token`(string): AWS Cognitio回傳、目前沒用到、請參考([說明](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-access-token.html)).
    - `expires_in`(integer): token 到期時間
    - `token_type`(string): 驗證方式、目前永遠是Bearer, 由AWS Congnito 決定
-----------------


## pushLineMessages

**直接推播給用戶、目前非前端系統使用**

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "luid":"Ucca1dab9cdaa6abf621f352b6a20e24b",
    "messages": [
        {
        "type": "imagemap",
        "baseUrl": "https://i.imgur.com/kz86Gec.png",
        "altText": "Hi test",
        "baseSize": {
            "width": 1040,
            "height": 1040
        },
        "actions": [
            {
                "type": "uri",
                "linkUri": "https://www.google.com.tw/?hl=zh_TW",
                "area": {
                    "x": 0,
                    "y": 586,
                    "width": 520,
                    "height": 454
                }
            }
        ]
      }
    ]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `luid` (string, required): LINE ID
- `messages`(object,array): 訊息內容、跟對話設定相同、請參考[#saveScenario](#saveScenario).
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "id_token": "",
        "refresh_token": "",
        "access_token": "",
        "expires_in": 3600,
        "token_type": "Bearer"
    }
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

------------

## richMessageApi (可能失效)

**最後呼叫時間為2022-11-21 11:19:49 (UTC+08:00)、目前已找不到開發工程師**

------------
## saveForm

**儲存表單變數**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "fields": [
        {
            "var_name": "employee_count"
        }, 
        {
            "var_name": "apply_count"
        }
    ],
    "name":"testname"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `fields` (object array,required): 表單使用到的變數
    - `var_name` (string,required): 變數名稱、可以從getVariable取得.
- `name` (string,required) 表單宣告名稱
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": {
        "data": {
            "id": "b0582c7e-bd8f-11ee-88bb-f231805ff397",
            "name": "testname",
            "fields": [
                {
                    "var_name": "employee_count"
                },
                {
                    "var_name": "apply_count"
                }
            ]
        }
    }
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 
    - `data` (object):
        - `id` (string): 表單ID
        - `name` (string): 表單宣告名稱
        - `fields` (object array): 
            - `var_name`(string) 變數名稱
------------

## saveIconUrl

**儲存ICON**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "accountIconUrl":[
        {
            "name":"icon name",
            "url":"https://i.imgur.com/l4Hcviw.png"
        }
    ]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `accountIconUrl` (object array,required): 
    - `name` (string,required): ICON宣告名稱.
    - `url` (string,required): ICON網路放置位置,格式為URI.
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果

---------

## saveMenu

新增圖形選單

### Request Body

``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "area_opt": {
                "A":{"type": "text","data": "1"},
                "B":{"type": "text","data": "2"},
                "C":{"type": "text","data": "3"},
                "D":{"type": "text","data": "4"}
            },
    "chat_bar_text":"menu name",
    "image_height":1686,
    "image_width":2500,
    "image_type":"image/png",
    "layout":"B",
    "name":"test",
    "user_segment":"94c3b936-e1dc-11ed-b590-1ef7bce19ed4",
    "start_time": null,
    "end_time": "2024-03-06T14:10:00.000Z",
    "use_datetime_trigger": true,
    "open_menu": true,
    "tab_menu": [
        {
            "name": "test1",
            "width": "1250",
            "yAxis": "0",
            "xAxis": "0",
            "height": "200"
        },
        {
            "name": "test2",
            "width": "1250",
            "yAxis": "0",
            "xAxis": "1250",
            "height": "200"
        }
    ],    
    "image_b64":"base64 string"
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `area_opt` (object,required): 選單touch 事件範圍、依Layout 的選項目不同、共有  
    A, B, C.
    - `Layout A`: A\~F
    - `Layout B`: A\~D
    - `Layout C`: A\~C  
        A\~F 格式如下:
        - `type` (object, required): 
            - text
            - uri 
        - `data` (string, required): 按下該區域對應的keyword.
- `chat_bar_text` (string, required): 顯示於LINE頻道的選單名稱.
- `image_height` (number,required): 圖片高.
- `image_width` (number,required): 圖片寬.寬x高限制如下(pixels):
    - 2500 x 1686
    - 1200 x 810
    - 800 x 540 
- `image_type` (string,required): 圖片類型.
    - image/png
    - image/jpeg
- `layout` (string,required): Layout類型.
    - A: 代表area_opt 需有A~F 屬性
    - B: 代表area_opt 需有A~D 屬性
    - C: 代表area_opt 需有A~C 屬性
- `name` (string,required): 選單名稱.
- `user_segment` (string, required): 套用於哪個用戶分類.
- `open_menu`(boolean): LINE 頻道menu是否持續開啟狀態
- `use_datetime_trigger`(boolean): 是否使用時間切換LINE menu
- `start_time` (string): LINE menu有效的套用時間開始、如果use_datetime_trigger=true的話、空白的情況下、只會參考`end_time`
- `end_time`(string): LINE menu有效的套用時間結束、如果use_datetime_trigger=true的話
- `tab_menu`(object array): 如果tab_menu有設定的話、會在當下menu的作用區域`area_opt`之上再增加更高優先權的作用區域、當用戶按下該作用區域時、會切換到下列`name`對照的menu
    - `name`(string): menu 名稱
    - `xAxis`(string): 圖片作用區域的x軸起點
    - `yAxis`(string): 圖片作用區域的y軸起點
    - `width`(string): 圖片作用區域的寬度
    - `height`(string): 圖片作用區域的高度    
- `image_b64` (string, required):base64編碼圖片.
(參考[https://developers.line.biz/en/reference/messaging-api/#upload-rich-menu-image](https://developers.line.biz/en/reference/messaging-api/#upload-rich-menu-image))
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
 
 ----------
 
 ## saveScenario

**新增/更新對話設定**

### Request Body

``` json
{
    "adminId": "0001",
    "accountId": "n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "scenario": {
        "scenarioId": "a324c456-be64-11ee-9326-de5eb83bcd1a",
        "scenarioName": "scenario name",
        "iconUrlId": "",
        "trigger": "keyword",
        "keywords": [
            "keyword1"
        ]
    },
    "nodes": [
        {
            "type": "input",
            "level": "1",
            "condition_config": {},
            "reservations_config": [],
            "nextScenario": "",
            "nextNode": "",
            "nodeId": "uhfdnektwyp-ylh7-0don-uhn2-ksp2d8eba8330",
            "nodeTag": [
                {
                    "name": "Lv1",
                    "color": "bg-danger"
                }
            ],
            "sort": 1,
            "template": {
                "type": "bubble",
                "size": "giga",
                "body": {
                    "contents": [
                        {
                            "text": "123",
                            "type": "text",
                            "size": "md",
                            "wrap": true
                        }
                    ],
                    "layout": "vertical",
                    "type": "box"
                }
            },
            "flex_config": [],
            "title": "123",
            "subtitle": "",
            "error": 0,
            "userAction": {
                "userReply": {
                    "variable": {
                        "employee_count": {
                            "name": "employee_count"
                        }
                    },
                    "validate": {
                        "inputList": [
                            {
                                "type": null,
                                "value": ""
                            }
                        ],
                        "success": {
                            "nextNodeId": "",
                            "scenarioId": ""
                        },
                        "failed": {
                            "nextNodeId": "",
                            "scenarioId": ""
                        }
                    },
                    "encryption": false,
                    "selectCompare": "",
                    "lensCompare": [
                        {
                            "value": "<",
                            "label": "lessThan"
                        },
                        {
                            "value": ">",
                            "label": "moreThan"
                        },
                        {
                            "value": "=",
                            "label": "equal"
                        }
                    ]
                },
                "emptyVariable": {
                    "variable": {}
                }
            },
            "nodeConst": {
                "ecsite": false,
                "chichatcatBox": false
            },
            "externalApi": {
                "cros": {
                    "enable": false,
                    "responseSetting": {
                        "success": {
                            "nextNodeId": "",
                            "scenarioId": ""
                        },
                        "failed": {}
                    },
                    "others": {
                        "orderIdReplace": false
                    }
                }
            },
            "varForms": [],
            "datetimeTrigger": {
                "enable": false,
                "startTime": "",
                "endTime": ""
            }
        }
    ]
}
```

- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `scenario` (object,required): 對話設定
    - `scenarioId` (string, required): 對話宣告ID
    - `scenarioName` (string, required):對話宣告名稱
    - `iconUrlId`(string, optional):該對話是永哪個一icon的iconId、請參考[#getIconUrl](#getIconUrl)
    - `trigger`(string,required):啟動方式
        - selected: 手動發送
        - keyword: 關鍵字
        - follow: 用戶加入
        - error: 錯誤訊息
    - `keywords`(string array,optional):關鍵字、如果trigger選擇keyword才需要填寫.
- `nodes` (object array, required): 
    - `nodeId`(string,required): 隨機產生 UUID
    - `type`(string,required) 類型
        - condition - 條件
        - fb_generic - Facebook Generic Template
        - flex - Flex Message
        - imagemap - Rich Message
        - image - Image Message
        - input - Bold text
        - sticker - 貼圖
        - text - Text Message
        - video - Video Message
    - `title`(string,required) 標題
    - `level`(string,required) 對話的幾個節點
    - `sort` (int,required) 排序
    - `nodeTag` (object array,opational) 標籤、請參考[#getTag](#getTag)
        - `color` (string) 標籤顏色
        - `name` (string) 標籤名稱
    - `template`(object,required) 依照type的不同、有不同的格式、下列一一列出不同type的格式
        - `type`(string,required):
            - bubble  
            - sticker 
            - imagemap
            - image
    - `template`=bubble, Flex Message、日期與時間、快速回復
        - `type` bubble
         根據message格式直接放入LINE FlexMessage 的Json結構([說明](https://developers.line.biz/en/docs/messaging-api/flex-message-elements/))
         快速回復請參考文件[說明](https://developers.line.biz/en/docs/messaging-api/using-quick-reply/#set-quick-reply-buttons)
    - `template`=sticker, 貼圖
        - `type` sticker
        - `packageId`(string,optional)貼圖packageId、請參考LINE[說明](https://developers.line.biz/en/docs/messaging-api/sticker-list/#send-sticker)
        - `stickerId`(string,optional)貼圖stickerId
    - `template`=imagemap, RichMessage
        - `type` imagemap
        - `layout`(string,required) 版型共有A~E
        - `baseUrl`(string, required) 圖片網址
        - `altText` (string,required) RichMessage標題
        - `baseSize` (object,required) 圖片尺寸
            - `width`(string,required) 固定為1040
            - `height`(string,required)　固定為1040
        - `areaOptions`(object array, required) 圖片各點擊範圍回傳文字
            - `type`(string,required) 回傳類型
                - uri 網址
                - message 文字
            - `label` (string,required) 對應區塊代碼
                - layout A: A
                - layout B: A|B
                - layout C: A|B
                - layout D: A|B|C
                - layout E: A|B|C|D
            - `url` (string,required) 回傳網址
            - `text`(string, required) 回傳文字
    - `template`=image, 圖片/影片訊息
        - `type` (string,required)  圖片或影片
            - image
            - video
        - `originalContentUrl`(string, required) 原始圖檔或影音
        - `previewImageUrl`(string,required) 預覽圖檔
    - `template`=text, Text Message
        - `type` text
        - `text`(string, required) 輸入的文字
        - `emojis` (object,required) LINE emoji系統、請參考([說明](https://developers.line.biz/en/docs/messaging-api/emoji-list/#specify-emojis-in-message-object))
            - `index`(integer,required) 顏文字編號
            - `productId`(string,required) LINE emoji productId
            - `emojiId`(string,required) LINE emojiId
    - `subtitle`(string) 副標題
    - `nextNode`(string) 繼續發送的下個node的nodeId
    - `nextScenario`(string) 繼續發送的下個Scenario的ScenarioID
    - `reservations_config`(object array,optional) 預約發送設定
        - `scenario_id`(string,required) 預約發送預計發送的Scenario ID
        - `reservationtime`(integer,required) 距離多少時間後發送、單位:分鐘
        - `window`(object,required) 發送區間
            - `start`(string, required) 發送開始時間(分:秒)
            - `end` (string, required) 發送開始時間(分:秒)
    - `condition_config` (object,optional) 多重條件
        - `config_url`(string,required) 條件類型
            - 輸入的網址 - URL
            - bysegment - 用戶分類
            - bytag - 多重條件
        - `options`(object array, required)
            - `value`(string,optional) 比對值
            - `scenario_id`(string,optional) 比對成功後、轉移到的Scenario ID
            - `nextNodeId`(string,optional) 比對成功後、轉移到的Node ID
            - `nextnodeType`(string,required) scenario或node
                - snode - scenario
                - nnode - node
            - `multi_condition`(object array,required)
                - `source` (string,required) 比對來源
                    - tag - 標籤
                    - uservariable - 使用者變數
                    - followtime - 加入好友時間
                    - cvkey - CV參數
                - `tag` (string, optional) 標籤 (沒選擇時會變成empty string)
                    - `name`(string,required) 標籤名稱
                    - `color`(string,required) 標籤顏色
                - `value`(string, optional) 比對值
                - `uservariable`(object,optional) 要比對的變數
                    - `name`(string,required) 變數名稱
                - `range`(object, optional) 比對範圍、expression選擇num_range/date_range使用
                    - `start` (string or date,optional) 開始值或日期
                    - `end` (string or date, optional) 結束值或日期
                - `expression`(string,required) 比對方式
                    - exactly_match - 完全一致
                    - fuzzy_match - 部分一致
                    - has_value - 有值
                    - no_value - 沒有值
                    - num_range - 數值範圍
                    - num_gt - 大於數值
                    - num_lt - 小於數值
                    - date_range - 日期區間
    - `flex_config` (object array,optional) Flex Message 格式變數對應、格式範例[說明](https://developers.line.biz/en/docs/messaging-api/using-flex-messages/)[格式編輯器](https://developers.line.biz/flex-simulator/)
        - `replacement_str`(string,required) Flex Message 裡面對應動作的keyword
        - `scenarioId`(string,required) 動作的下一個scenario
        - `tag` (object,optional) 動作的行為是否記錄到標籤
            - `color`(string, optional) 標籤顏色
            - `name`(string,optional) 標籤名稱
        - `tagValue` (string, optional) 標籤值
        - `userVars` (string array, optional) 變數值
    - `userAction`(object,optional)
        - `userReply`(object,required): 使用者回覆
            - `variable`(object,required) 使用這回覆儲存的變數
                - `var_name`(object,required) 變數字串, var_name = 選擇的變數名稱
                    - `name`(string,required) 變數名稱
            - `validate`(object,required) 資料輸入結果、比方應該輸入integer卻輸入string
                - `inputList`(object array,required)
                    - `type`(string, required) 變數型態
                        - Eng - 英文
                        - Num - 數字
                        - Len - 字數
                        - RegExp - 正規表達式
                        - Phone - 電話號碼
                        - Post - 郵遞區號
                        - City - 縣市名稱
                - `success`
                    - `nextNodeId`(string,required) 成功後轉移的Node ID
                    - `scenarioId`(string,required) 成功後轉移的Scenario ID
                - `failed`
                    - `nextNodeId`(string,required) 失敗後轉移的Node ID
                    - `scenarioId`(string,required) 失敗後轉移的Scenario ID
            - `encryption`(boolean,required) 是否加密
            - `selectCompare` (string,required) 比對條件
                - lessThan - 大於
                - moreThan - 小於
                - equal - 等於
            - `lensCompare`(object array,required) 沒有意義
        - `emptyVariable`(object,required) 變數消除
            - `variable`(object,required) 要消除的變數
                - `var_name`(object,required) 變數字串, var_name = 選擇的變數名稱
                    - `name`(string,required) 變數名稱
    - `nodeConst`(object,required)
            - `ecsite`(boolean)
            - `chichatcatBox`(boolean)
    - `externalApi` (object) 外部api連接設定
        - `cors`(object,required)
            - `enabled`(boolean,required) 是否啟用
            - `responseSetting`(object,required) 設定
                - `success`(object,required) 成功的情況
                    - `nextNodeId`(string,required) 設定下一個nodeID
                    - `scenarioId`(string,required) 或者設定scenariodId
                - `failed`(object,required) 失敗的情況
                    - `nextNodeId`(string,required) 設定下一個nodeID
                    - `scenarioId`(string,required) 或者設定scenariodId
            - `others`(object,required)
                - `orderIdReplace`(boolean,required) OrderId文字取代啟用
    - `varForms` (array,optional)
    - `datetimeTrigger` (object,optional) 觸發區間、該設定的node 只會在區間內能被使用
        - `enable`(boolean,required) 預設false
        - `startTime`(datetime,optional) 開始時間
        - `endTime`(datetime,optional) 結束時間
    - `nodeConst`
    - `error`(integer,required): 預設0

### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
 

 ----------
 
 ## saveScenarioApi (可能失效)
 
 #### 最後呼叫時間為2022-11-02 19:10:12 (UTC+08:00)、目前已找不到開發工程師
 ----------
 
 ## saveTag
 
 **儲存標籤**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "tag":{
        "color":"red-filter",
        "name":"tag name",
        "values":[
            "tag value"
        ]
    }
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `tag` (object,required): 
    - `color` (string,required): 顏色代稱
        - bg-danger
        - red-filter
        - pink-filter
        - orange-filter
        - bg-warning
        - yellow-filter
        - bg-success
        - dark-green-filter
        - green-filter
        - bg-info
        - teal-filter
        - primary-filter
        - blue-filter
        - skyblue-filter
        - darkpurple-filter
        - purple-filter
        - bg-secondary
        - grey-filter
    - `name`(string,required): 標籤宣告名稱
    - `values` (string array,required): 標籤值.
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
 ----------
 
 ## saveUserSegment
 
 **儲存用戶分類**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "cvKey":{},
    "defaultUsersSegment":false,
    "mode":"Custom",
    "segmentConditions":[],
    "segmentName":"segmentName",
    "segmentUsers": [{
        "accountStatus":"1",
        "accountType":"line",
        "createTime":"2023-05-25 01:18:53.287",
        "followTime":"2023-05-25 01:18:53.287",
        "userId":"U4d86ea5943e3bf692fd09065ff8c4f84",
        "userName":"ChatAnnie",
        "userPicture": "https://sprofile.line-scdn.net/0hewfBxPWCOlhLOyhsmkBEJztrOTJoSmNKM1Rybn5vZGAkD38JY1smbHxpYzt-C3tZMAlzN3g9Nz1HKE0-VW3GbEwLZG9xCnUJZlV0vg"
    }]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `cvKey` (object,required): 
    - `orderId`(string,required): CV專有訂單編號
- `defaultUsersSegment`(boolean,required):是否使用預設用戶分類、true的話不須設定segmentConditions、segmentUsers
- `mode`(string,required):條件模式
    - Custom     - 自訂群組 
    - CVKey      - CV參數
    - Conditions - 多重條件
- `segmentConditions`(array object, required)
    - `expression`(string,required): 比對方式 
        - exactly_match - 完全一致
        - fuzzy_match - 部分一致
        - has_value - 有值
        - no_value - 沒有值
        - num_range - 數值範圍
        - num_gt - 大於數值
        - num_lt - 小於數值
        - date_range - 日期區間
    - `source`(string,required): 條件類型
        - tag - 標籤
        - uservariable - 使用者變數
        - followtime - 加入好友時間
        - cvkey - CV參數
        - serverpushtime - 伺服器推播
        - cros - CROS(失效)
    - `value`(string,required): 比對值
    - `cors`(object,optional): (失效)
    - `range`(object,optional):當expression使用num_range或date_range時
        - `start`(string,optional) 範圍開始
        - `end`(string,optional) 範圍結束
    - `tag`(object,optional):標籤比對條件
        - `name`(string,required) 顏色名稱、可以從getTag API取得
        - `color`(string,required) 顏色名稱、可比對文件saveTag
    - `uservariable`(object,optional): 使用者變數、可從getVariable API 取得
- `segmentName`(string,required):用戶分類宣告名稱
- `segmentUsers`(object,optional):用戶比對條件
    - `accountStatus`(string,required):用戶狀態
    - `accoutType`(string,required):用戶來源類型
        - line
        - wechat
        - fb
    - `createTime`(string,required):用戶加入時間
    - `followTime`(string,required):用戶追蹤時間
    - `userId`(string,required):用戶SNS提供的ID
    - `userName`(string,required):用戶SNS提供的名稱
    - `userPicture`(string,required):用戶SNS提供的圖片
        
    
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
 ----------
 
 ## saveVariable
 
 **儲存變數**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "accountVariable":["var2"]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `accountVariable` (string array,required): 變數陣列
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
 ----------
 
 ## scheduleBroadcast
 
  **儲存變數**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "broadcastName":"broadcastName",
    "broadcastScenarioId":"22b0cc7e-26a3-11ee-90ac-a698574f3611",
    "broadcastScenarioName":"01_營業稅申報",
    "broadcastStatus":"pending",
    "broadcastTime":"2024-01-23 03:25:00",
    "broadcastUsers":[
        {
            "accountType":"line",
            "userId":"Ucca1dab9cdaa6abf621f352b6a20e24b",
            "userName":"Rex曾"
        }
    ],
    "isSelectAll":false,
    "segmentNames":[]
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID
- `broadcastName` (string,required): 發送對話宣告名稱
- `broadcastScenarioId`(string,required):對話ID
- `broadcastScenarioName`(string,required):對話名稱
- `broadcastStatus`(string,required):對話狀態、永遠都是pending
- `broadcastTime`(string,required): 預約發送時間
- `broadcastUsers`(object array,optional):接收用戶, 如果isSelectAll=true時不用填寫
    - `accountType`(string,required): 用戶類型
        - line
        - wechat
        - fb
    - `userId`(string,required):用戶SNS ID
    - `userName`(string,required):用戶SNS名稱
- `isSelectAll`(boolean,required):是否全選所有用戶
- `segmentNames`(string array, optional):segment名稱陣列、如果選擇用戶分類發送時(請參考前端操作)
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): 操作結果
 ----------
 
 ## scheduleUsersImport (失效)
 
 ----------
 
 ## updateAccount
 
   **更新Account**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "accountIcon":"https://i.imgur.com/q1KqEZ1.png",
    "accountName":"明日網會計師事務所",
    "accountSecret":"f24885ed52f0dedc9ad79f3041ba907f",
    "accountToken":"S3cAovZabe572qbEGR/xz9RiFZtV4wSRaWMOgDtjxeaBlibK3Q1FsEgP52E2YO6+EBl0sZj2M5UWE8AWghbQZaejSFMNLXmfg40r2+b8/a+eeSIF5o8sNyLD4aNP274gacg9/bY4NLsgo5NaWBo5lgdB04t89/1O/w1cDnyilFU=",
    "accountType":"line",
    "accountWebhookUrl":"https://dev.chatannie.com/api/LineMessage/send?adminid=0001&accountid=n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "lineLoginChannelId":"",
    "lineLoginSecret":""
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID、需自行產生UUID碼、需唯一.
- `accountIcon` (string, required) - 帳號圖片連結 (ex: [https://i.imgur.com/aitiO6X.pngEndFragment](https://i.imgur.com/aitiO6X.pngEndFragment)).
- `accountName` (string, required) - 帳號名稱.
- `accountToken` (string, required) - SNS連結的Token.
- `accountSecret` (string, required) - SNS連結的Secret.
- `accountType` (string, required) - 帳號類型 
    - line
    - wechat
    - fb
- `accountWebhookUrl` (string, required) - 社群帳號連結到chatannie 綁定的webhook url.
- `lineLoginChannelId` (string, optional): LINE Login In Channel ID、取得LIFF ID使用
- `lineLoginSecret` (string,optional):LINE Login In Channel Secret、取得LIFF ID使用

參考: lineLoginChannelId, lineLoginSecret [說明](https://developers.line.biz/en/docs/line-login/getting-started/#step-2-deploy-starter-app)
 
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok",
    "Result": null
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息",
    "Result": null
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
- `Result` (object): null

---
 
## updateAccountExternalApiConfig
 
 **更新聯動信息設定**

### Request Body
``` json
{
    "adminId" : "0001",
    "accountId":"n4ud3h8n6-a9oa-l6f2-ct2i-555d20fb04c436",
    "setting":{
        "cros":{
            "clientId":"clientId",
            "endPoint":"endPoint",
            "key":"key",
            "params":{
                "value":"employee_count"
            }
        }
    }
}
```
#### 說明
- `adminId` (string, required): ChatAnnie平台登入帳號.
- `accountId` (string, required): 頻道ID、需自行產生UUID碼、需唯一.
-  `setting` (object): 設定CROS設定.
    -  `cros` cros專用設定
        - `endpoint`(string):cros 連結網址
        - `key`(string):依據帳號不同來填入cros給予的value
         - `clientId`(string):依據帳號不同來填入cros給予的value
        - `params`(object): 用於使用user variable收集到的資訊來做為連接cros的Parameter
            - `key`: `value`
 
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok"
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息"
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"
 ----------
 
 ## userSegmentRegisterViaLiff
 
  **LIFF 管道機制避免未完成管道加入流程暫存使用**

### Request Body
``` json
{
    "token" : "eydhZG1pbklkJzogJzAwMDEnLCAnYWNjb3VudElkJzogJzN5NWZqMDVvbWh3LWgzdWktNDlpOS10cjd2LWl0czE0OTk0M2U1NTEzJywgJ3NlZ21lbnRJZCc6ICc1ODg2NWY0ZS1hYWFiLTExZWUtOTU1MS00YTg5MjgyMTJhZmEnfQ==.KmGveYt949-PD5qjvogF5qTM2MQ=",
    "userId":"U865b0549c66640790ecee3d46c520cee"
}
```
#### 說明
- `token` (string, required): "adminId","accountId","segmentId"編碼成一個token.
- `userId` (string, required): 戶用SNS ID

 
### Response

#### Success

``` json
{
    "ErrorCode": 200,
    "ErrorMessage": "ok"
}
 ```

#### Fail

``` json
{
    "ErrorCode": 400 | 401,
    "ErrorMessage": "錯誤訊息"
}
 ```
#### 說明
- `ErrorCode` (number): 回傳代碼
    - 200 Success
    - 400 Fail
    - 401 Fail
- `ErrorMessage` (string): 錯誤訊息
    - 200 "ok"
    - 400 依據錯誤情況回傳不同錯誤訊息
    - 401 "Unauthorized"

# 其他API

 ## api/penglue/send
 
  **pengluewebhook:人人把訂單的紀錄寫回chatannie**

### Request Params

``` json
{
    "orderId": 12335,
    "productId": "",
    "pscenario": 12345,
    "cvdate": "2024-01-02",
    "token": "Qm9xWVB5VDFRVzN1LWZhSVhOYWNPOWhOWi1Gdl9ZeWhHMEpEYkFwNzE4cmM4eUE0ZGlFOXZWNi1ydnRaaU1zRHhyR0V4b01HTW91QjF2WlpSQ2xaVW1aMVJPejZDWFQ3YVNGY05yNGV5UE40SG5UT3ZqWDVHekRSNXRNblRFMTlJTHBqNHhhaHg0anJCZ3ppbzFHdmMtem1PSWdFblBNUnF5aXNTYzlGblAtdnd0MU9ySzh2YlZvNVJoeVpsVVZGN1o2RjAzZFVxY3JuRmN6ZEpBY2VVZjZZM1o1X3p3ai1RRGNRN2hxdlZvbXpEOGMzaW5mbV95WmJORDhTOFo3aUFsQjlLUTBteHJMd2Q1Tk94cjNjSWw1R1dwcnR1UDM2ajdhTEdVc0cycjVJNXFNWjBxWW1hNmVWWWRNOGMtTGNRNjdQOFJhdmNuZnhlTklMMHlySlB2dlhSRURmM0N1VlV4MEhfeGFSN3BMdkRaTk5Za2dycFNBbW1yU2tsNGpHMXYzRzlrWmczTHNpakR2ZmtIMU1VQUVmY1prekxWQS1uZzh0Wll1bFctbz0%3D"
}
```

#### 說明
- `orderId` (string, required) 訂單ID
- `productId` (string, required) 產品ID
- `pscenario`(string, required) Scenario Name
- `cvdate`(string, required) 訂單日期
- `token`(string,required) 帶有以下資訊的token
    - lid - LINE ID
    - nodeid - 對話裡的node ID
    - senarioid - 對話Scenario ID
    - adminId (string, required): ChatAnnie平台登入帳號.
    - accountId (string, required): 頻道ID
 
### Response

#### Success

``` json
{}
 ```

#### Fail

``` string
"Already Exist"
 ```
#### 說明
如範例所示

 ## api/chichatcat/send
 
  **chichatcatwebhook:人人把訂單的紀錄寫回chatannie**

### Request Params

``` json
{
    "orderId": 12335,
    "productId": "",
    "pscenario": 12345,
    "cvdate": "2024-01-02",
    "token": "Qm9xWVB5VDFRVzN1LWZhSVhOYWNPOWhOWi1Gdl9ZeWhHMEpEYkFwNzE4cmM4eUE0ZGlFOXZWNi1ydnRaaU1zRHhyR0V4b01HTW91QjF2WlpSQ2xaVW1aMVJPejZDWFQ3YVNGY05yNGV5UE40SG5UT3ZqWDVHekRSNXRNblRFMTlJTHBqNHhhaHg0anJCZ3ppbzFHdmMtem1PSWdFblBNUnF5aXNTYzlGblAtdnd0MU9ySzh2YlZvNVJoeVpsVVZGN1o2RjAzZFVxY3JuRmN6ZEpBY2VVZjZZM1o1X3p3ai1RRGNRN2hxdlZvbXpEOGMzaW5mbV95WmJORDhTOFo3aUFsQjlLUTBteHJMd2Q1Tk94cjNjSWw1R1dwcnR1UDM2ajdhTEdVc0cycjVJNXFNWjBxWW1hNmVWWWRNOGMtTGNRNjdQOFJhdmNuZnhlTklMMHlySlB2dlhSRURmM0N1VlV4MEhfeGFSN3BMdkRaTk5Za2dycFNBbW1yU2tsNGpHMXYzRzlrWmczTHNpakR2ZmtIMU1VQUVmY1prekxWQS1uZzh0Wll1bFctbz0%3D"
}
```

#### 說明
- `orderId` (string, required) 訂單ID
- `productId` (string, required) 產品ID
- `pscenario`(string, required) Scenario Name
- `cvdate`(string, required) 訂單日期
- `token`(string,required) 帶有以下資訊的token
    - lid - LINE ID
    - nodeid - 對話裡的node ID
    - senarioid - 對話Scenario ID
    - adminId (string, required): ChatAnnie平台登入帳號.
    - accountId (string, required): 頻道ID
 
### Response

#### Success

``` json
{}
 ```

#### Fail

``` string
"Already Exist"
 ```
#### 說明
如範例所示