# 通知管理
---
* [TOC]
---
## 取得通知列表
* 可用角色: 平台管理員
```url
POST /push-mgmt/message/query
```
#### Request
* query(查詢條件json)
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
pushDateStart | string | | | 推播時間查詢起日, 格式為YYYY-MM-DD
pushDateEnd | string | | | 推播時間查詢迄日, 格式為YYYY-MM-DD
pushStatus | string | | | 推播狀態, NONE:未推播, PUSHED:已推播
title | string | | | 關鍵字, 查詢推播標題
* pagination(分頁json)
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
current | int | | 1 | 當前頁數
pageSize | int | | 10 | 每頁結果數量,-1 為顯示所有
* sorter(排序json), 預設是用更新時間降序排列
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
field | string | | updateTime | 排序欄位,可排序欄位有 "updateTime", "title", "pushTarget", "pushTime", "pushStatus", "updateTime"
order | string | | asc | 升序或降序
```javascript
{
"query": {
"title": "te",
"pushStatus": "NONE",
"pushDateStart": "2022-06-07",
"pushDateEnd": "2022-06-10"
},
"pagination": {
"current": 1,
"pageSize": 15,
"total": 0
},
"sorter": {}
}
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
id | string | 推播id
tenantId | string | 要發送的租戶id, WMT代表全平台發送
title | string | 推播標題
content | string | 推播內容
contentType|string|內容類型. CONTENT: 文字內容 URL: 連結
pushTarget|string|推播對象. ALL: 全平台,對應的tenentId=WMT TENANT: 組織機構: 對應各自的tenantId
pushStatus|string|推播狀態, NONE:未推播, PUSHED:已推播
pushTime | timestamp(毫秒) | 預計推播時間
createTime | timestamp(毫秒) | 建立時間
updateTime | timestamp(毫秒) | 編輯時間
```javascript
{
"httpCode": 200,
"result": {
"data": [
{
"id": "51f2b18f-87c8-4126-a454-95b61241a62c",
"tenantId": "WMT",
"title": "test titlsssae1",
"content": " test contsdadasden1t",
"contentType": "CONTENT",
"pushTarget": "ALL",
"pushStatus": "NONE",
"pushTime": 1654759096539,
"createTime": 1654684977510,
"updateTime": 1654760860283
}
],
"total": 1
}
}
```
## 新增推播訊息
* 可用角色: 平台管理員
```url
POST /push-mgmt/message/add
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
pushTime | timestamp(毫秒) | | | 預計推播時間
pushTarget | string | Y| | 推播對象.<BR> ALL: 全平台, <BR>TENANT: 組織機構.<BR> MEMBER: 會員.<BR> SPECIFIC: 特定族群
tenantId|string|||pushTarget = ALL的話不需要填tenantId. TENANT的話tenantId必填
householdMemberId|string|||pushTarget = MEMBER的話必填
content | string | | | 推播內容
title | string | | | 推播標題
ageFilterStart | integer | | | pushTarget = SPECIFIC時須設定以下任一總條件<BR>年齡區間過濾-開始, 如果有設定年齡過濾條件, 開始和結束都必填
ageFilterEnd | integer | | | 年齡區間過濾-結束
birthdayFilterStart | string | | | 生日區間過濾-開始, 如果有設定生日過濾條件, 開始和結束都必填. 格式(YYYY-MM-DD)
birthdayFilterEnd | string | | | 生日區間過濾-結束
bloodTypeFilter | string | | | 血型過濾(A/B/AB/O)
isFullScreen | boolean | | | 是否為滿屏提醒
```javascript=
// pushTarget: TENANT
{
"title": "test title",
"content": " test content",
"pushTarget": "TENANT",
"tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc",
"pushTime":1654759096539,
"contentType": "CONTENT"
}
// pushTarget: SPECIFIC
{
"title": "test-bt:B age:28-30 birth: 510-701",
"content": " test content",
"pushTarget": "SPECIFIC",
"tenantId": "WMT",
"contentType": "CONTENT",
"bloodTypeFilter": "B",
"ageFilterStart": 28,
"ageFilterEnd": 30,
"birthdayFilterStart": "2022-05-10",
"birthdayFilterEnd": "2022-07-01",
"pushTime": "2022-05-11",
"isFullScreen": true
}
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
id | string | 推播id
tenantId | string | 要發送的租戶id
title | string | 推播標題
content | string | 推播內容
contentType|string|內容類型. CONTENT: 文字內容 URL: 連結
pushTarget|string|推播對象.<BR> ALL: 全平台, <BR>TENANT: 組織機構.<BR> MEMBER: 會員.<BR> SPECIFIC: 特定族群
ageFilterStart | integer | pushTarget = SPECIFIC時須設定以下任一總條件<BR>年齡區間過濾-開始, 如果有設定年齡過濾條件, 開始和結束都必填
ageFilterEnd | integer | 年齡區間過濾-結束
birthdayFilterStart | string | 生日區間過濾-開始, 如果有設定生日過濾條件, 開始和結束都必填. 格式(YYYY-MM-DD)
birthdayFilterEnd | string | 生日區間過濾-結束
bloodTypeFilter | string | 血型過濾(A/B/AB/O)
isFullScreen | boolean | 是否為滿屏提醒
pushStatus|string|推播狀態, NONE:未推播, PUSHED:已推播
pushTime | timestamp(毫秒) | 預計推播時間
createTime | timestamp(毫秒) | 建立時間
updateTime | timestamp(毫秒) | 編輯時間
```javascript
{
"httpCode": 200,
"result": {
"data": {
"id": "51f2b18f-87c8-4126-a454-95b61241a62c",
"tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc",
"title": "test title,
"content": " test content",
"contentType": "CONTENT",
"pushTarget": "TENANT",
"pushStatus": "NONE",
"pushTime": 1654759096539,
"createTime": 1654684977510,
"updateTime": 1654760860283
}
}
}
```
## 編輯推播訊息
* 可用角色: 平台管理員
```url
POST /push-mgmt/message/update
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
pushTime | timestamp(毫秒) | | | 預計推播時間
pushTarget | string | | | 推播對象.<BR> ALL: 全平台, <BR>TENANT: 組織機構.<BR> MEMBER: 會員.<BR> SPECIFIC: 特定族群
tenantId|string|||pushTarget = ALL的話不需要填tenantId. TENANT的話tenantId必填
content | string | | | 推播內容
title | string | | | 推播標題
id | string | Y| | 推播ID
ageFilterStart | integer | | | 年齡區間過濾-開始, 如果有設定年齡過濾條件, 開始和結束都必填
ageFilterEnd | integer | | | 年齡區間過濾-結束
birthdayFilterStart | string | | | 生日區間過濾-開始, 如果有設定生日過濾條件, 開始和結束都必填. 格式(YYYY-MM-DD)
birthdayFilterEnd | string | | | 生日區間過濾-結束
bloodTypeFilter | string | | | 血型過濾(A/B/AB/O)
isFullScreen | boolean | | | 是否為滿屏提醒
```javascript
{
"id": "51f2b18f-87c8-4126-a454-95b61241a62c",
"title": "test title",
"content": " test content",
"pushTarget": "TENANT",
"tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc",
"pushTime":1654759096539,
"contentType": "CONTENT"
}
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
id | string | 推播id
tenantId | string | 要發送的租戶id, WMT代表全平台發送
title | string | 推播標題
content | string | 推播內容
contentType|string|內容類型. CONTENT: 文字內容 URL: 連結
pushTarget|string|推播對象.<BR> ALL: 全平台, <BR>TENANT: 組織機構.<BR> MEMBER: 會員.<BR> SPECIFIC: 特定族群
pushStatus|string|推播狀態, NONE:未推播, PUSHED:已推播
pushTime | timestamp(毫秒) | 預計推播時間
createTime | timestamp(毫秒) | 建立時間
updateTime | timestamp(毫秒) | 編輯時間
```javascript
{
"httpCode": 200,
"result": {
"data": {
"id": "51f2b18f-87c8-4126-a454-95b61241a62c",
"tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc",
"title": "test title,
"content": " test content",
"contentType": "CONTENT",
"pushTarget": "TENANT",
"pushStatus": "NONE",
"pushTime": 1654759096539,
"createTime": 1654684977510,
"updateTime": 1654760860283
}
}
}
```
## 刪除推播訊息
* 可用角色: 平台管理員
```url
POST /push-mgmt/message/delete
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
id | string | Y| | 推播ID
```javascript
{
"id": "51f2b18f-87c8-4126-a454-95b61241a62c"
}
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
data | integer | 刪除數量
```javascript
{
"httpCode": 200,
"result": {
"data": 0
}
}
```
## 取得單一推播訊息
* 可用角色: 平台管理員
```url
POST /push-mgmt/message/info
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
id | string | Y| | 推播ID
```javascript
{
"id": "51f2b18f-87c8-4126-a454-95b61241a62c"
}
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
id | string | 推播id
tenantId | string | 要發送的租戶id, WMT代表全平台發送
title | string | 推播標題
content | string | 推播內容
contentType|string|內容類型. CONTENT: 文字內容 URL: 連結
pushTarget|string|推播對象.<BR> ALL: 全平台, <BR>TENANT: 組織機構.<BR> MEMBER: 會員.<BR> SPECIFIC: 特定族群
pushTime | timestamp(毫秒) | 預計推播時間
pushStatus|string|推播狀態, NONE:未推播, PUSHED:已推播
createTime | timestamp(毫秒) | 建立時間
updateTime | timestamp(毫秒) | 編輯時間
```javascript
{
"httpCode": 200,
"result": {
"data": {
"id": "51f2b18f-87c8-4126-a454-95b61241a62c",
"tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc",
"title": "test title,
"content": " test content",
"contentType": "CONTENT",
"pushTarget": "TENANT",
"pushStatus": "NONE",
"pushTime": 1654759096539,
"createTime": 1654684977510,
"updateTime": 1654760860283
}
}
}
```