Create Message

Create common messages and alert message on the Application Portal.

Request Format

POST https://{apigw-address}/app-portal-service/v2.1/message/produce

Request Parameters (Body)

Name

Required or Not

Data Type

Description

messages

true

MessageProduceDTO struct

Message details

MessageProduceDTO Struct

Name

Required or Not

Data Type

Description

messageId

true

String

Message ID

type

false

int

Message type: 0: common message, 1: alert message

orgId

true

String

Organization ID

accessKey

true

String

Service account of the application. The application authenticates with accessKey to obtain the data that it is authorized to access. How to get accessKey>>

body

false

I18nString

Internationalized message. For the structure, see Internationalized name struct

color

false

int

Color of indicating the message severity

ring

false

int

Ringtone for the message

tags

false

I18nString

Internationalized tags for the message. Only display the first 3 tags. For the structure, see Internationalized name struct

produceTime

true

String

Produce time of the message in UTC. Format: “yyyy-MM-dd HH:mm:ss”

zoneOffset

true

String

Time zone, such as “+08:00”

linkedAppId

false

String

The application ID associated with the alert message. (linkedAppId, linkedMenuCode, and linkedStates constitute the redirection URL, such as https://{app-service-address}/portal/60d110ff-f388-48f4-916b-9e637d4886af/alarmProcessing?state=site%253DeVKqg4zr, where, {App-service-address} is the service address that can display all alerts. “60d110ff-f388-48f4-916b-9e637d4886af” is linkedAppId, “alarmProcessing” is linkedMenuCode, and “site%253DeVKqg4zr” is linkedStates)

linkedMenuCode

false

String

The menu identifier within the application that is associated with the message

linkedStates

false

String

URL state associated with the message

feature

false

I18nString

Internationalized description by the customer. For the structure, see Internationalized name struct

assetId

false

String

The ID of the asset associated with the alert message. If the alert message is not related to the asset, no need to provided.

authUnitId

true

String

The asset tagged as “auth_unit:true” in the asset tree of the EnOS Cloud. It can either be “assetId” or the parent node of the “assetId”. It is the asset ID synchronized to the Application Portal to verify the permissions of an application. For example, there are several solar panels under a solar power station. Each solar panel has its own asset ID: assetId1, assetId2, and so on. The asset tree of this solar power station on the EnOS Cloud was tagged with “auth_unit:true”. When the solar power station informaton is successfully synchronized to the Application Portal (authUnitId is valid), if an organization has an application represented by the appId, the users who can view the solar power station in the Application Portal can receive the corresponding alert message. In this example, assetId is the ID of a solar panel and authUnitId is the solar power station ID.

callbackUrl

true

String

The complete URL of the Application Portal callback (supporting URL Encode) after clicking the corresponding button of ActionName in the message window. This callback is a “GET” request. For example: https://{app-service-address}/callback?appId=3b7aac51-8d3a-4e4f-a16d-7fe297a316e6&messageId=messagett0q22w1299 or https%3a%2f%2f%7bapp-service-address%7d%2fcallback %3fappId%3d3b7aac51-8d3a-4e4f-a16d-7fe297a316e6%26messageId%3dmessagett0q22w1299+, where {app-service-address} is the server address that receive and process the callback request.

actionName

true

I18nString

Internationalized text on the customized button in the message window. It is recommended to use two characters for Chinese and three characters for English, such as “确认” and “ACK”. If not provided, it will not be displayed. For the structure, see Internationalized name struct

Response Parameters

Name

Data Type

Description

data

data struct

null

Sample

Request Sample

POST
https://{apigw-address}/app-portal-service/v2.1/message/produce
{
  "messages": [
    {
      "zoneOffset": "+08:00",
      "linkedMenuCode": "menucode",
      "linkedAppId": "accessKey",
      "color": 1,
      "ring": 1,
      "messageId": "yunfan01",
      "produceTime": "24/7/2019 11:22:01",
      "body": {
        "default": "This is a test3335",
        "en_US": "This is a test3335",
        "zh_CN": "这是个测试233335"
      },
      "type": 1,
      "tags": [
        {
          "default": "Severe",
          "en_US": "Severe",
          "zh_CN": "严重"
        },
        {
          "default": "Performance Alarm",
          "en_US": "Performance Alarm",
          "zh_CN": "性能告警"
        },
        {
          "default": "Inverter",
          "en_US": "Inverter",
          "zh_CN": "逆变器"
        }
      ],
      "orgId": "yourOrgId",
      "createdAt": "24/7/2019 10:11:18",
      "authUnitId": "7Uq6uP77",
      "deletedAt": "1/1/1970 00:00:00",
      "feature": {
        "default": "This is a feature test3343",
        "en_US": "This is a feature test3343",
        "zh_CN": "这是个特征测试1"
      },
      "assetId": "7Uq6uP77",
      "accessKey": "yourAccessKey",
      "state": 0,
      "linkedStates": "states",
      "updatedAt": "24/7/2019 10:11:18",
      "callbackUrl":"https://{app-service-address}/app-portal/test/v1/callback?appId=3b7aac51-8d3a-4e4f-a16d-7fe297a316e6&messageId=messagett0q22w1299",
      "actionName":
        {
         "en_US":"ACK",
         "zh_CN":"确认"
        }
    }
  ]
}

Return Sample

{
  "code": 200,
  "message": "",
  "data": null
}