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
}