Search Event


Search for events based on the search criteria.

Request Format

POST https://{apigw-address}/connect-service/v2.1/events?action=search

Request Parameters (URI)

Name Location (Path/Query) Mandatory/Optional Data Type Description
orgId Query Mandatory String The organization ID which the asset belongs to. How to get orgId>>

Request Parameters (Body)

Note

Use one of the following methods to specify the device:

  • Include assetId in the request
  • Include productKey + deviceKey in the request
Name Mandatory/Optional Data Type Description
productKey Optional (See Note above) String The product key. To be used with deviceKey.
deviceKey Optional (See Note above) String The device key. To be used with productKey.
assetId Optional (See Note above) String The asset ID. How to get assetId>>
tslEventKey Optional String The event key.
tslEventType Optional String The event type.
startTime Optional String The start time of the event. The format yyyy-MM-dd HH:mm:ss means local time, yyyy-MM-ddTHH:mm:ssZ means UTC time. If not specified, the data within the last week will be searched.
endTime Optional String The end time of the event. The format yyyy-MM-dd HH:mm:ss means local time, yyyy-MM-ddTHH:mm:ssZ means UTC time. If not specified, the data within the last week will be searched.
expression Optional String The query expression, which supports sql-like query. The fields that are supported for query include: productKey, deviceKey, assetId, tslEventKey, and tslEventType. The supported arithmetic operators are “=” and “in”, and the logical operator is “and” and “or”. How to use expression>>
pagination Optional Pagination Request Struct Lists the paging requirements in a request. When not specified, 10 records are displayed per page by default and sorted in descending order by createTime. For optimal performance, it is recommended to have not more than 50 records per page. sorters is not supported to sort the response. For more details, see Pagination Request Struct.
resolveName Optional Boolean
  • true: Restructures the data from output and returns eventName and outputNames.
  • false (default): Does not restructure the data from output. eventName and outputNames values will be blank.

Response Parameters

Name Data Type Description
data Array of Event Structs A list of the events returned. For details of an Event Struct, see Event Struct.

Event Struct

Name Data Type Description
orgId String The organization ID which the asset belongs to.
eventId String The event ID.
productKey String The product key.
deviceKey String The device key.
assetId String The asset ID.
tslEventKey String The event key in the TSL model.
tslEventType String The event type defined in the TSL model.
output String The event output.
outputData Map (Key is of String type, and Value is of Object) The output in JSON.
timestamp Long The event timestamp.
localtime String The local time when the event occurs.
eventName StringI18n The event name. For more details on the structure and locales supported, see Internationalized name struct.
outputNames Map (Key is of String type, and Value is of StringI18n) The names of the event output.

Samples

Request Sample

url:https://{apigw-address}/connect-service/v2.1/events?action=search&orgId=yourOrgId
method: POST
requestBody:
{
  "pagination":{
    "pageNo":1,
    "pageSize":2
  },
  "action":"search",
  "resolveName":true
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "requestId": "7b5d3c98-27bd-435c-a8e5-ffd0c91e679f",
  "data": [
    {
      "eventId": "2021032347372528c9dd2035cdf169f6e60c6d1a",
      "orgId": "yourOrgId",
      "productKey": "yourProductKey",
      "deviceKey": "yourDeviceKey",
      "assetId": "yourAssetId",
      "tslEventKey": "yourEventKey",
      "tslEventType": "INFO",
      "output": "{\"breakdown\":0}",
      "outputData": {
          "breakdown": 0
      },
      "timestamp": 1616495975000,
      "localtime": "2021-03-23 18:39:35",
      "eventName": {
        "defaultValue": "event",
        "i18nValue": {}
      },
      "outputNames": {
        "breakdown": {
          "defaultValue": "breakdown",
          "i18nValue": {
            "en_US": "breakdown",
            "zh_CN": "分解"
          }
        }
      }
    }
  ],
  "pagination": {
    "pageNo": 1,
    "pageSize": 2,
    "totalSize": 1
  }
}

Java SDK Sample

package com.envisioniot.enos.api.sample.connect_service.event;

import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.api.common.constant.request.Pagination;
import com.envisioniot.enos.connect_service.v2_1.event.SearchEventRequest;
import com.envisioniot.enos.connect_service.v2_1.event.SearchEventResponse;
import com.google.gson.Gson;

public class SearchEvent {
    public static void main(String[] args) {


        String appKey = "yourAppKey";
        String appSecret = "yourAppSecret";

        SearchEventRequest request = new SearchEventRequest();
        Pagination pagination = new Pagination();
        pagination.setPageNo(1);
        pagination.setPageSize(2);
        request.setPagination(pagination);
        request.setOrgId("yourOrgId");
        request.setResolveName(true);
        try {
            SearchEventResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
                    .url("yourServerUrl")
                    .getResponse(request, SearchEventResponse.class);
            Gson gson = new Gson();
            System.out.println(gson.toJson(response));
        } catch (Exception e) {
            System.out.print(e);
        }
    }
}