# 通知記錄 API List
1. **取得通知記錄列表**
[POST /notificationRecord/list](#取得通知記錄列表-post-notificationrecordlist)
2. **取得通知明細**
[POST /notificationRecord/detail](#取得通知明細-post-notificationrecorddetail)
3. **取得未讀通知記錄列表**
[POST /notificationRecord/unread](#取得未讀通知記錄列表-post-notificationrecordunread)
4. **通知記錄全部已讀**
[POST /notificationRecord/allread](#通知記錄全部已讀-post-notificationrecordallread)
---
API Require Headers:
```javascript
{
Content-Type: 'application/json',
Authorization: accessToken,
}
```
---
### 取得通知記錄列表 POST /notificationRecord/list
#### 說明:
- 根據userToken的使用者資訊去取得該帳號曾經被通知的記錄, 預設排序會依照通知時間(notificationTime)降冪排序
#### 用於:
* App的通知列表(RoleType支援:一般民眾/醫生/護士)
#### Request Parameter:
* pagination (pagination can be null. If null, it will return all data)
| Parameter | Required | format | desc |
| --------- | -------- | -------- |-------- |
| type | N | int | 通知類別, 0:其他, 1:測量, 2:用藥, 3:訂購, 4:活動, 5:系統, 未帶值(null)表示查詢全部通知 |
| subType | N | int | 通知子類別 |
| current| N| String | 目前頁數|
| pageSize| N| String |一頁幾筆 |
#### Request Body Example:
```javascript
{
"type": null,
"subType": null,
"pagination": {
"current": 1,
"pageSize": 10,
"total": 1
}
}
```
#### Response Body:
* data
| Parameter | format | desc |
| --------- |-------- |-------- |
| id | String | uuid |
| userId| String | 使用者帳號 |
| title| String | 通知標題|
| description| String | 通知內容描述|
|notificationTime| Long | 通知時間(Server Time), 時區即為UTC+8 |
| type | int | 通知類別, 0:其他, 1:測量, 2:用藥, 3:訂購, 4:活動, 5:系統 |
| subType | int | 通知子類別 |
| read | boolean | 已讀未讀 |
### Response Body Example:
```javascript
{
"httpCode": 200,
"result": {
"data": [
{
"id": "5f643afc-f7e5-4485-9ef0-2d995a8206d5",
"userId": "E226651460",
"title": "KMUH吃藥提醒",
"description": "再加班就真的要吃藥了",
"notificationTime": 1553652506235,
"type": 1,
"read": true
},
{
"id": "ffd07dc9-0df4-475c-9b22-fa9c9d73229a",
"userId": "E226651460",
"title": "我只是個通知標題",
"description": "通知描述會在這裡唷",
"notificationTime": 1553652116156,
"type": 5,
"read": true
}
],
"pagination": {
"current": 1,
"pageSize": 10,
"total": 2
}
}
}
```
---
### 取得通知明細 POST /notificationRecord/detail
#### Request Parameter:
* pagination (pagination can be null. If null, it will return all data)
| Parameter | Required | format | desc |
| --------- | -------- | -------- |-------- |
| id | Y | String | 通知id |
#### Request Body Example:
```javascript
{
"id":"606e58c8-3358-46e1-a44a-fc8d76ac3655"
}
```
#### Response Body:
* data
| Parameter | format | desc |
| --------- |-------- |-------- |
| id | String | uuid |
| userId| String | 使用者帳號 |
| title| String | 通知標題|
| description| String | 通知內容描述|
|notificationTime| Long | 通知時間(Server Time), 時區即為UTC+8 |
| type | int | 通知類別, 0:其他, 1:測量, 2:用藥, 3:訂購, 4:活動, 5:系統 |
| subType | int | 通知子類別 |
| read | boolean | 已讀未讀 |
### Response Body Example:
```javascript
{
"httpCode": 200,
"result": {
"data": {
"id": "5f643afc-f7e5-4485-9ef0-2d995a8206d5",
"userId": "E226651460",
"title": "KMUH吃藥提醒",
"description": "再加班就真的要吃藥了",
"notificationTime": 1553652506235,
"type": 1,
"read": true
}
}
}
```
---
### 取得未讀通知記錄列表 POST /notificationRecord/unread
#### 用於:
* App的未讀通知列表(RoleType支援:一般民眾)
#### Request Parameter:
* pagination (pagination can be null. If null, it will return all data)
| Parameter | Required | format | desc |
| --------- | -------- | -------- |-------- |
| type | N | int | 通知類別, 0:其他, 1:測量, 2:用藥, 3:訂購, 4:活動, 5:系統, 未帶值(null)表示查詢全部通知 |
| subType | N | int | 通知子類別 |
| current| N| String | 目前頁數|
| pageSize| N| String |一頁幾筆 |
#### Request Body Example:
```javascript
{
"type": null,
"subType": null,
"pagination": {
"current": 1,
"pageSize": 10,
"total": 1
}
}
```
#### Response Body:
* data
| Parameter | format | desc |
| --------- |-------- |-------- |
| id | String | uuid |
| userId| String | 使用者帳號 |
| title| String | 通知標題|
| description| String | 通知內容描述|
|notificationTime| Long | 通知時間(Server Time), 時區即為UTC+8 |
| type | int | 通知類別, 0:其他, 1:測量, 2:用藥, 3:訂購, 4:活動, 5:系統 |
| subType | int | 通知子類別 |
| read | boolean | 已讀未讀 |
### Response Body Example:
```javascript
{
"httpCode": 200,
"result": {
"data": [
{
"id": "5f643afc-f7e5-4485-9ef0-2d995a8206d5",
"userId": "E226651460",
"title": "KMUH吃藥提醒",
"description": "再加班就真的要吃藥了",
"notificationTime": 1553652506235,
"type": 1,
"read": false
},
{
"id": "ffd07dc9-0df4-475c-9b22-fa9c9d73229a",
"userId": "E226651460",
"title": "我只是個通知標題",
"description": "通知描述會在這裡唷",
"notificationTime": 1553652116156,
"type": 5,
"read": false
}
],
"pagination": {
"current": 1,
"pageSize": 10,
"total": 2
}
}
}
```
---
### 通知記錄全部已讀 POST /notificationRecord/allread
#### 用於:
* App的未讀通知全部改成已讀(RoleType支援:一般民眾)
#### Request Parameter:
* pagination (pagination can be null. If null, it will return all data)
| Parameter | Required | format | desc |
| --------- | -------- | -------- |-------- |
| type | N | int | 通知類別, 0:其他, 1:測量, 2:用藥, 3:訂購, 4:活動, 5:系統, 未帶值(null)表示全部通知 |
| subType | N | int | 通知子類別 |
#### Request Body Example:
```javascript
{
"type": null,
"subType": null
}
```
#### Response Body:
* data
| Parameter | format | desc |
| --------- |-------- |-------- |
| count | int | 將未讀的改成已讀的筆數 |
### Response Body Example:
```javascript
{
"httpCode": 200,
"result": {
"data": {
"count": 1
}
}
}
```
---