Create Message¶
创建 EnOS 应用门户上的普通提示消息与告警消息。
约束条件¶
- 关联的应用已被组织获取
- 若此条消息是关于资产的告警消息,则该资产或资产的父节点需带有
auth_unit:true
的标签
请求格式¶
POST https://{apigw-address}/app-portal-service/v2.2/message/produce
请求参数(Body)¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
messages | 必需 | MessageProduceDTO 结构体 | 产生的消息 |
MessageProduceDTO 结构体¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
messageId | 必需 | String | 告警消息 ID |
type | 必需 | Integer | 消息类型,0:普通消息,1:告警消息 |
orgId | 必需 | String | 组织ID |
accessKey | 必需 | String | 应用的服务账号,应用以 accessKey 进行鉴权以获得其被授权访问的数据。如何获取accessKey信息>> |
body | 可选 | I18nString | 多语言显示的消息信息。必须至少指定 default 或 en_US 的内容。结构见 国际化名称结构体>> |
color | 可选 | Integer | 消息严重级别颜色标识。如何获取颜色标识>> |
ring | 可选 | Integer | 消息的声音类型。获取方式见 如何获取声音类型>> |
tags | 可选 | Map | 多语言显示的消息的标签。只展示前三个。必须至少指定 default 或 en_US 的内容。结构见 国际化名称结构体>> |
produceTime | 必需 | String | message produce time, format: “yyyy-MM-dd HH:mm:ss” 告警消息生成时间,以UTC时间表示 |
zoneOffset | 必需 | String | 时区,如”+08:00” |
linkedAppId | 可选 | String | 与告警消息关联的应用的ID。(linkedAppId、linkedMenuCode、linkedStates三者构成跳转链接URL,如https://{app-service-address}/portal/60d110ff-f388-48f4-916b-9e637d4886af/alarmProcessing?state=site%253DeVKqg4zr,其中,{app-service-address}为能够展示全部告警的服务地址,“60d110ff-f388-48f4-916b-9e637d4886af”为 linkedAppId ,“alarmProcessing”为 linkedMenuCode ,“site%253DeVKqg4zr”为 linkedStates )。 |
linkedMenuCode | 可选 | String | 与消息关联的应用内的菜单标识符 |
linkedStates | 可选 | String | message linked states,与消息关联的URL state |
feature | 可选 | I18nString | 多语言显示的用户自定义描述。必须至少指定 default 或 en_US 的内容。结构见 国际化名称结构体>> |
assetId | 可选 | String | 与告警消息相关的资产的ID。若告警消息与资产无关,则可不提供 |
authUnitId | 必需 | String | 在 EnOS 的资产树中打了“auth_unit:true”标签的资产,可以是 assetId,也可能是 assetId 的父节点,是同步到 EnOS 应用门户中的资产 ID,用于校验应用对此资产的权限。如一个光伏电站下有若干个光伏面板,每个光伏面板有各自的资产 ID:assetId1、assetId2 等。此光伏电站在 EnOS 的资产树被打了“ auth_unit:true ”的标签。当此光伏电站被成功同步到 EnOS 应用门户后(authUnitId 有效),如果某个组织拥有 appId 表示的应用,那么在 EnOS 应用门户中对光伏面板这一资产可见的用户可以收到相应的告警消息。在此例中,assetId 为某个光伏面板的 ID,authUnitId 为光伏电站 ID |
callbackUrl | 可选 | String | 为用户在消息弹窗中点击 ActionName 对应按钮后, EnOS 应用门户回调的完整URL(可支持URL Encode)。此回调为Get请求。例如https://{app-service-address}/callback?appId=accessKey&messageId=messagett0q22w1299或者https%3a%2f%2f%7bapp-service-address%7d%2fcallback%3fappId%3daccessKey%26messageId%3dmessagett0q22w1299+,其中{app-service-address}为能够接受并处理回调请求的服务器地址 |
actionName | 可选 | I18nString | 消息弹框中自定义按钮上的文字。建议中文两字符,英文三个字符,如“确认”和“ACK”。如不提供则不展示。必须至少指定 default 或 en_US 的内容。结构见 国际化名称结构体>> |
actionPermissionCode | 可选 | String | 此参数为权限点唯一标识符,如果对此消息可见的用户具有此权限点,那么用户将在消息弹框中可以看到自定义按钮,如“确认”和“ACK”,否则将不显示。如果此参数不提供,那么默认所有对此消息可见的用户可以看到自定义按钮 |
响应参数¶
名称 | 数据类型 | 描述 |
---|---|---|
data | data结构体 | null |
示例¶
请求示例¶
url: https://{apigw-address}/app-portal-service/v2.2/message/produce
method: POST
requestBody:
{
"messages": [
{
"zoneOffset": "+08:00",
"linkedMenuCode": "menucode",
"linkedAppId": "accessKey",
"color": 1,
"ring": 1,
"messageId": "your_message_id",
"produceTime": "2019-07-24 11:22:01",
"body": {
"default": "your_message",
"en_US": "your_message_en",
"zh_CN": "your_message_zh",
"ja_JP": "",
"es_ES": ""
},
"type": 1,
"tags": [
{
"default": "Severe",
"en_US": "Severe",
"zh_CN": "严重",
"ja_JP": "",
"es_ES": ""
},
{
"default": "Performance Alarm",
"en_US": "Performance Alarm",
"zh_CN": "性能告警",
"ja_JP": "",
"es_ES": ""
},
{
"default": "Inverter",
"en_US": "Inverter",
"zh_CN": "逆变器",
"ja_JP": "",
"es_ES": ""
}
],
"orgId": "your_org_id",
"authUnitId": "your_auth_unit_id",
"feature": {
"default": "your_message",
"en_US": "your_message_en",
"zh_CN": "your_message_zh",
"ja_JP": "",
"es_ES": ""
},
"assetId": "your_asset_id",
"accessKey": "your_access_key",
"state": 0,
"linkedStates": "states",
"callbackUrl":"https://{app-service-address}/app-portal/test/v1/callback?appId=accessKey&messageId=messagett0q22w1299",
"actionName":
{
"en_US":"ACK",
"zh_CN":"确认",
"ja_JP": "",
"es_ES": ""
}
}
]
}
返回示例¶
{
"code": 0,
"message": "",
"data": true
}