---
# System prepended metadata

title: 緊急救援

---

# 緊急救援

---
API 清單
- 個案關懷-緊急救援[WEB]
  - [Dashboard列表](#Dashboard列表)
  - [緊急救援列表](#緊急救援列表)
  - [取得緊急救援明細](#取得緊急救援明細)
  - [撥出](#撥出)
  - [處理備註/編輯](#處理備註編輯)
  - [從Dashboard移除](#從Dashboard移除)
- 緊急救援[APP]
  - [發送緊急救援](#發送緊急救援)
---


## Dashboard列表

```url
POST /sos-mgmt/dashboard-list
```

#### Request
* query(查詢條件json)
 
 欄位 | 型態  | 必填 | 預設 | 說明  
 ---|---|---|---|---
 tenantId | string | | | 租戶id,會由userToken自動帶入
  
 
* pagination(分頁json)
 
 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|---
 current | int | | 1 | 當前頁數 
 pageSize | int | | 10 | 每頁結果數量，-1 為顯示所有
 
* sorter(排序json), 預設是用更新時間降序排列
 
 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|--- 
 field | string | | callTime | 排序欄位,可排序欄位有 callTime 
 order | string | | desc | 升序或降序 

```javascript
//無payload

//有payload
{
    "query": {
        "tenantId": null
    } ,
    "pagination": {
        "current": 1,
        "pageSize": -1
    }, 
    "sorter": {
        "field": "callTime",
        "order": "desc"
    }
}
```

#### Response
 欄位 | 型態 | 說明 
 ---  | --- | ---
 id | string | 緊急救援id 
 callTime | timestamp | 呼叫時間
 geolocation | string | 呼叫時的經緯度json字串, lat:緯度, lng:經度
 address | string | 呼叫時的經緯度轉換地址
 status | string | 狀態, 0:未處理, 1:處理中, 2:已處理
 show | string | 是否顯示在dashboard, Y:顯示, N:不顯示
 name | string | 呼叫者名稱
 gender | int | 性別, 1:男性, 2:女性
 mobile | string | 手機號碼
 age | int | 年齡
 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "id": "78aaed02-270e-4912-a23b-4db79aeb8fc2",
                "callTime": 1648636829210,
                "geolocation": "{\"lat\":22.6132157,\"lng\":120.2939873}",
                "address": "802台灣高雄市苓雅區苓南前路2號",
                "status": "0",
                "show": "Y",
                "name": "蘇凱文",
                "gender": 1,
                "mobile": "0925309365",
                "age": 33
            }
        ],
        "pagination": {
            "current": 1,
            "pageSize": -1,
            "total": 1
        },
        "sorter": {
            "field": "updateTime",
            "order": "desc"
        },
        "total": 1
    }
}
```

## 緊急救援列表

```url
POST /sos-mgmt/list
```

#### Request
* query(查詢條件json)
 
 欄位 | 型態  | 必填 | 預設 | 說明  
 ---|---|---|---|---
 tenantId | string | | | 租戶id,會由userToken自動帶入
 startDate | string | | | 查詢起日, 格式為YYYY-MM-DD
 endDate | string | | | 查詢迄日, 格式為YYYY-MM-DD
 status | string | | | 狀態, 0:未處理, 1:處理中, 2:已處理
 staffId | string | | | 處理人員id
 name | string | | | 關鍵字, 查詢呼叫者姓名
  
 
* pagination(分頁json)
 
 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|---
 current | int | | 1 | 當前頁數 
 pageSize | int | | 10 | 每頁結果數量，-1 為顯示所有
 
* sorter(排序json), 預設是用更新時間降序排列
 
 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|--- 
 field | string | | callTime | 排序欄位,可排序欄位有 callTime, name, status, staffName, updateTime 
 order | string | | desc | 升序或降序 

```javascript
{
    "query": {
        "tenantId": null,
        "startDate": null,
        "endDate": null,
        "status": null,
        "staffId": null,
        "name": null
    } ,
    "pagination": {
        "current": 1,
        "pageSize": -1
    }, 
    "sorter": {
        "field": "callTime",
        "order": "desc"
    }
}
```

#### Response
 欄位 | 型態 | 說明 
 ---  | --- | ---
 id | string | 緊急救援id 
 callTime | timestamp | 呼叫時間
 geolocation | string | 呼叫時的經緯度json字串, lat:緯度, lng:經度
 address | string | 呼叫時的經緯度轉換地址
 status | string | 狀態, 0:未處理, 1:處理中, 2:已處理
 show | string | 是否顯示在dashboard, Y:顯示, N:不顯示
 name | string | 呼叫者名稱
 gender | int | 性別, 1:男性, 2:女性
 mobile | string | 手機號碼
 age | int | 年齡
 remark | string | 處理備註
 staffName | string | 處理人員
 updateTime | timestamp | 處理記錄更新時間
 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "id": "78aaed02-270e-4912-a23b-4db79aeb8fc2",
                "callTime": 1648636829210,
                "geolocation": "{\"lat\":22.6132157,\"lng\":120.2939873}",
                "address": "802台灣高雄市苓雅區苓南前路2號",
                "status": "0",
                "show": "Y",
                "name": "蘇凱文",
                "gender": 1,
                "mobile": "0925309365",
                "age": 33
            }
        ],
        "pagination": {
            "current": 1,
            "pageSize": -1,
            "total": 1
        },
        "sorter": {
            "field": "updateTime",
            "order": "desc"
        },
        "total": 1
    }
}
```


## 取得緊急救援明細

```url
POST /sos-mgmt/info
```

#### Request
 
 欄位 | 型態  | 必填 | 預設 | 說明  
 ---|---|---|---|---
 id | string | Y | | 緊急救援id 
 
```javascript
{
    "id": "c4ede7cd-8602-43fe-9f72-cfe5146d8a3c"
}
```

#### Response
 欄位 | 型態 | 說明 
 ---  | --- | ---
 id | string | 緊急救援id 
 callTime | timestamp | 呼叫時間
 geolocation | string | 呼叫時的經緯度json字串, lat:緯度, lng:經度
 address | string | 呼叫時的經緯度轉換地址
 status | string | 狀態, 0:未處理, 1:處理中, 2:已處理
 show | string | 是否顯示在dashboard, Y:顯示, N:不顯示
 name | string | 呼叫者名稱
 gender | int | 性別, 1:男性, 2:女性
 mobile | string | 手機號碼
 age | int | 年齡
 

```javascript
// HttpStatus:400, 資料不存在
{
    "errorMsg": "API_ERROR.NOT_EXIST",
    "httpCode": 400
}

// HttpStatus:200
{
    "httpCode": 200,
    "result": {
        "data": {
            "id": "78aaed02-270e-4912-a23b-4db79aeb8fc2",
            "callTime": 1648636829210,
            "geolocation": "{\"lat\":22.6132157,\"lng\":120.2939873}",
            "address": "802台灣高雄市苓雅區苓南前路2號",
            "status": "0",
            "show": "Y",
            "name": "蘇凱文",
            "gender": 1,
            "mobile": "0925309365",
            "age": 33
        }
    }
}
```


## 撥出

```url
POST /sos-mgmt/call-out
```


#### Request

 欄位 | 型態  | 必填 | 預設 | 說明 
 ---|---|---|---|---
 id | String | Y | | 緊急救援id
 

```javascript
{
    "id": "78aaed02-270e-4912-a23b-4db79aeb8fc2"
}
```

####  Response
 
 欄位 | 型態 | 說明 
 ---  | --- | ---
 id | string | 緊急救援id 
 callTime | timestamp | 呼叫時間
 geolocation | string | 呼叫時的經緯度json字串, lat:緯度, lng:經度
 address | string | 呼叫時的經緯度轉換地址
 status | string | 狀態, 0:未處理, 1:處理中, 2:已處理
 show | string | 是否顯示在dashboard, Y:顯示, N:不顯示
 name | string | 呼叫者名稱
 gender | int | 性別, 1:男性, 2:女性
 mobile | string | 手機號碼
 age | int | 年齡
 meetingId | int | 會議室id
 staffId | string | 處理人員accountId

```javascript
// HttpStatus:422, 已被其他人處理
{
    "errorMsg": "SERVICE_ERROR.SOS_PROCESSED_BY_OTHER_STAFF",
    "httpCode": 422
}

// HttpStatus: 200
{
    "httpCode": 200,
    "result": {
        "data": {
            "id": "78aaed02-270e-4912-a23b-4db79aeb8fc2",
            "callTime": 1648636829210,
            "geolocation": "{\"lat\":22.6132157,\"lng\":120.2939873}",
            "address": "802台灣高雄市苓雅區苓南前路2號",
            "status": "0",
            "show": "Y",
            "name": "蘇凱文",
            "gender": 1,
            "mobile": "0925309365",
            "age": 33,
            "meetingId": 1234567890123,
            "staffId": "7a17be34-13ae-4687-b971-1e5f586c8e3a"
        }
    }
}
```


## 處理備註/編輯

```url
POST /sos-mgmt/update
```

#### Request
 欄位 | 型態  | 必填 | 預設 | 說明  
 ---|---|---|---|---
 id | string | Y | | 緊急救援id
 remark | string | N | | 備註, 最多500字
 status | string | Y | | 狀態, 0:未處理, 1:處理中, 2:已處理
 

```javascript
{
    "id": "c4ede7cd-8602-43fe-9f72-cfe5146d8a3c",
    "remark": "Done",
    "status": "2"
}
```

#### Response
 欄位 | 型態 | 說明 
 ---  | --- | ---
 id | string | 緊急救援id 
 callTime | timestamp | 呼叫時間
 geolocation | string | 呼叫時的經緯度json字串, lat:緯度, lng:經度
 address | string | 呼叫時的經緯度轉換地址
 status | string | 狀態, 0:未處理, 1:處理中, 2:已處理
 show | string | 是否顯示在dashboard, Y:顯示, N:不顯示
 name | string | 呼叫者名稱
 gender | int | 性別, 1:男性, 2:女性
 mobile | string | 手機號碼
 age | int | 年齡
 remark | string | 處理備註
 staffName | string | 處理人員
 updateTime | timestamp | 處理記錄更新時間


```javascript
// HttpStatus:400, 資料不存在
{
    "errorMsg": "API_ERROR.NOT_EXIST",
    "httpCode": 400
}

// HttpStatus:422, 已被其他人處理
{
    "errorMsg": "SERVICE_ERROR.SOS_PROCESSED_BY_OTHER_STAFF",
    "httpCode": 422
}

// HttpStatus:200
{
    "httpCode": 200,
    "result": {
        "data": {
            "id": "78aaed02-270e-4912-a23b-4db79aeb8fc2",
            "callTime": 1648636829210,
            "geolocation": "{\"lat\":22.6132157,\"lng\":120.2939873}",
            "address": "802台灣高雄市苓雅區苓南前路2號",
            "status": "0",
            "show": "Y",
            "name": "蘇凱文",
            "gender": 1,
            "mobile": "0925309365",
            "age": 33,
            "meetingId": 1234567890123,
            "staffId": "7a17be34-13ae-4687-b971-1e5f586c8e3a"
        }
    }
}
```


## 從Dashboard移除

```url
POST /sos-mgmt/move-out
```


#### Request
 欄位 | 型態  | 必填 | 預設 | 說明  
 ---|---|---|---|---
 id | string | Y | | 緊急救援id
 
```javascript
{
    "id": "c4ede7cd-8602-43fe-9f72-cfe5146d8a3c"
}
```

#### Response
 欄位 | 型態 | 說明 
 ---  | --- | ---
 count | int | 更新資料筆數, > 0表示更新成功

```javascript
// HttpStatus:400, 資料不存在
{
    "errorMsg": "API_ERROR.NOT_EXIST",
    "httpCode": 400
}

// HttpStatus:200
{
    "httpCode": 200,
    "result": {
        "data": {
            "count": 1
        }
    }
}
```


## 發送緊急救援

```url
POST /sos/call
```

#### Request
 
 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|---
 tenantId | string | Y | | 提供救援服務的租戶id
 geolocation | json | | | 經緯度json

* geolocation(json)

 欄位 | 型態  | 必填 | 預設 | 說明
 ---|---|---|---|---
 lat | double | | | 緯度
 lng | double | | | 經度
 
```javascript
{
    "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc",
    "geolocation": {
        "lat": 22.6132157,
        "lng": 120.2939873
    }
}
```

#### Response
 欄位 | 型態 | 說明 
 ---  | --- | ---
 id | string | 緊急救援id
 tenantId | string | 提供緊急救援服務的租戶id
 householdMemberId | string | householdMemberId 
 callTime | timestamp | 呼叫時間
 geolocation | string | 呼叫時的經緯度json字串, lat:緯度, lng:經度
 address | string | 呼叫時的經緯度轉換地址
 status | string | 狀態, 0:未處理, 1:處理中, 2:已處理
 show | string | 是否顯示在dashboard, Y:顯示, N:不顯示

```javascript
// HttpStatus:400, 資料不存在
{
    "errorMsg": "API_ERROR.NOT_EXIST",
    "httpCode": 400
}

// HttpStatus:422, SOS服務項目未啟用
{
    "errorMsg": "SERVICE_ERROR.USER_SOS_FEATURE_NOT_ENABLED",
    "httpCode": 422
}

// HttpStatus:200
{
    "httpCode": 200,
    "result": {
        "data": {
            "id": "78aaed02-270e-4912-a23b-4db79aeb8fc2",
            "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc",
            "householdMemberId": "8a9e980a-c612-4f87-af07-a97a5f0fbed5",
            "callTime": 1648636829210,
            "geolocation": "{\"lat\":22.6132157,\"lng\":120.2939873}",
            "address": "802台灣高雄市苓雅區苓南前路2號",
            "status": "0",
            "show": "Y",
            "createTime": 1648635078170,
            "updateTime": 1648636829211
        }
    }
}
```

