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

多语言显示的消息信息。必须至少指定 defaulten_US 的内容。结构见 国际化名称结构体>>

color

可选

Integer

消息严重级别颜色标识。如何获取颜色标识>>

ring

可选

Integer

消息的声音类型。获取方式见 如何获取声音类型>>

tags

可选

Map

多语言显示的消息的标签。只展示前三个。必须至少指定 defaulten_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

多语言显示的用户自定义描述。必须至少指定 defaulten_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”。如不提供则不展示。必须至少指定 defaulten_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
}