logo
Report Vulnerabilities
2.3.0
English
menu
Asset Tree Service API

Asset Tree Service API

Overview

  • Asset Tree Service Overview

API Reference

  • Asset Tree
  • Asset Tree Node
    • Associate Asset
    • Batch Associate Asset
    • Create and Associate Asset
    • Move Asset Node
    • Delete Asset Node
    • Search Asset Node
    • Search Related Asset Node
      • Request Format
      • Request Parameters (URI)
      • Request Parameters (Body)
        • Filter Struct
        • I18nSearchVo Struct
      • Response Parameters
        • AssetVo Struct
      • Error Codes
      • Samples
        • Request Sample
        • Return Sample
        • Java SDK Sample
    • Get Asset Trees
    • Search Asset Path

Other References

  • About EnOS™ API
  • How to Invoke an EnOS™ API
  • About Asset Trees

Last Updated 2024-08-05

The availability of EnOS functions is subject to licenses and access permissions. Contact your system administrator if certain functions are not available in your environment.
  • Documentation
  • Asset Tree Node
  • Search Related Asset Node
  • Edit

Search Related Asset Node¶


Search for assets under the specified asset tree based on the relationship with a known asset.

Request Format¶

POST https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=searchRelatedAsset

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>>

treeId

Query

Mandatory

String

The asset tree ID. How to get treeId>>

Request Parameters (Body)¶

Name

Mandatory/Optional

Data Type

Description

filter

Optional

Filter Struct

The query criteria. The relationship between all the queried criteria uses the “AND” logical operator, i.e. all relationships between all the queried criteria must be true for data to be returned.
Only one out of the 4 relational query criteria (isParentOfAssetId, isChildOfAssetId, isAncestorOfAssetId, and isDescendantOfAssetId) is allowed. For more details, see Filter Struct.

pagination

Optional

 Pagination Request Struct

Lists the paging requirements in a request. When not specified, 100 records are displayed per page by default. The maximum records per page is 1000 but 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.

projection

Optional

String Array

Enables you to crop the data result set returned in the interface request if needed. Only the specified fields will be returned in the data result set if this parameter is used. Otherwise all fields are returned. How does projection crop the result set>>

Filter Struct ¶

Note

isParentOfAssetId, isChildOfAssetId, isAncestorOfAssetId, and isDescendantOfAssetId cannot be used concurrently. Only one can be used per query.


Name

Mandatory/Optional

Data Type

Description

assetIds

Optional

String Array

The asset ID. Provide multiple asset IDs if you want to query multiple assets. How to get assetId>>

nameLike

Optional

I18nSearchVo Struct

The asset Name. Supports fuzzy query. For more details, see I18nSearchVo Struct.

modelIds

Optional

String Array

The model ID. Provide multiple root model IDs if you want to query multiple models. How to get modelID>>

rootModelIds

Optional

String Array

The model ID of the root node. Provide multiple root model IDs if you want to query multiple root nodes.

isParentOfAssetId

Optional (See Note above)

String

The asset to be queried is the immediate parent node of the specified asset, and its value is the asset ID of the specified asset.
How to use expression>>

isChildOfAssetId

Optional (See Note above)

String

The asset to be queried is the immediate child node of the specified asset, and its value is the asset ID of the specified asset. The sorted according to the time the nodes are bound if 2.3 Cumulative Update 2 has been applied to your environment.
How to use expression>>

isAncestorOfAssetId

Optional (See Note above)

String

The asset to be queried is the ancestor node of the specified asset, and its value is the asset ID of the specified asset.
How to use expression>>

isDescendantOfAssetId

Optional (See Note above)

String

The asset to be queried is the descendant node of the specified asset, and its value is the asset ID of the specified asset.
How to use expression>>

I18nSearchVo Struct ¶

Name

Mandatory/Optional

Data Type

Description

locale

Optional

String

The locale language, currently supporting:

  • default

  • zh_CN

  • en_US

  • jp_JP

  • es_ES

value

Optional

String

The corresponding asset name for the locale. If null, no data will be returned. If blank, the data under the specified locale will be returned.

Response Parameters¶

Name

Data Type

Description

data

Array of AssetVo Structs

For the definition of an AssetVo struct, see AssetVo Struct.

AssetVo Struct ¶

Name

Data Type

Description

assetId

String

The asset ID.

modelId

String

The model ID of this asset.

modelIdPath

String

The path of the model ID.

name

StringI18n

The asset’s name in its respective locale’s language. For more details on the structure and locales supported, see Internationalized name struct.

timezone

String

Timezone where the asset is located.

description

String

The description of the asset.

label

String

The type of asset.

  • 0: Device asset

  • 1: Logical asset

inValid

Boolean

  • True: Invalid nodes

  • False: Valid nodes

attributes

Map

The attributes of the model which the asset belongs to. Key is the attribute ID, which is of String type. The Value type depends on the attribute defined in the model.

tags

Map

User-defined tags. The Key and Value are of String type. How to use tags>>

childAssetNodeCount

Integer

The number of valid child nodes. This param is only available if 2.3 Cumulative Update 2 has been applied to your environment. If isParentOfAssetId, isChildOfAssetId, isAncestorOfAssetId, and isDescendantOfAssetId are not used in the query, this will return a null value.

Note: EnOS Edge does not support this parameter.

Error Codes¶

Code

Message

Description

99400

Invalid arguments

The request parameter is invalid. Check the request parameters.

99500

System error

Internal server error. Contact EnOS support.

Samples¶

Request Sample¶

url: https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=searchRelatedAsset&treeId=k6wweMTP&orgId=yourOrgId
method: POST
requestBody:
{
  "filter": {
    "isChildOfAssetId": "4R6PbfVj"
  },
  "projection": ["attributes", "assetId", "name", "childAssetNodeCount"]
}

Return Sample¶

{
    "code":0,
    "msg":"OK",
    "requestId":"153ad7a2-2ec1-41b0-b750-e4ea2ce2786c",
    "data":[
        {
            "assetId":"8byS3cuc",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"ycmdevice_1"
            },
            "attributes":{

            },
            "childAssetNodeCount": 6
        },
        {
            "assetId":"Fq5M1Y6E",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"ycmdevice_3"
            },
            "attributes":{

            },
            "childAssetNodeCount": 2
        },
        {
            "assetId":"nPQUW0Nr",
            "name":{
                "i18nValue":{
                    "en_US":"Rebecca_testSiteAPI3"
                },
                "defaultValue":"Rebecca_testSiteAPI3"
            },
            "attributes":{

            },
            "childAssetNodeCount": 3
        },
        {
            "assetId":"oLrrH1uz",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"Rebecca_Service1"
            },
            "attributes":{

            },
            "childAssetNodeCount": 6
        },
        {
            "assetId":"vuT6x3Xl",
            "name":{
                "i18nValue":{

                },
                "defaultValue":"ycmdevice_2"
            },
            "attributes":{

            },
            "childAssetNodeCount": 1
        }
    ],
    "pagination":{
        "pageNo": 1,
        "pageSize": 10,
        "totalSize": 10,
        "sortedBy": null
    }
}

Java SDK Sample¶

package com.envisioniot.enos.asset_tree_service;

import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.api.common.constant.request.Projection;
import com.envisioniot.enos.asset_tree_service.v2_1.*;
import com.envisioniot.enos.asset_tree_service.vo.AssetSearchVo;
import com.envisioniot.enos.asset_tree_service.vo.RelatedAssetSearchVo;
import org.junit.Test;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class SearchNodeTest {
    private static String AccessKey = "yourAccessKey";
    private static String SecretKey = "yourSecretKey";
    private static String OrgId = "yourOrgId";
    private static String ServerUrl = "yourServerUrl";

    @Test
    public void testSearchRelatedAssetNode() {
        SearchRelatedAssetNodeRequest request = new SearchRelatedAssetNodeRequest();
        request.setOrgId(OrgId);
        request.setTreeId("yourTreeId");
        RelatedAssetSearchVo filter = new RelatedAssetSearchVo();
        filter.setIsChildOfAssetId("yourAssetId");
        Projection onep = new Projection();
        onep.addAll(Arrays.asList("attributes", "assetId", "name"));
        request.setFilter(filter);
        request.setProjection(onep);
        request.setFilter(filter);
        SearchRelatedAssetNodeResponse response =
            Poseidon.config(PConfig.init().appKey(AccessKey).appSecret(SecretKey).debug()).url(ServerUrl)
            .getResponse(request, SearchRelatedAssetNodeResponse.class);
    }
}
Previous Next

Preview:

0  words
Comments
  • Latest
  • Oldest
No comments yet.
On this page
  • Search Related Asset Node
    • Request Format
    • Request Parameters (URI)
    • Request Parameters (Body)
      • Filter Struct
      • I18nSearchVo Struct
    • Response Parameters
      • AssetVo Struct
    • Error Codes
    • Samples
      • Request Sample
      • Return Sample
      • Java SDK Sample
© 2025 Univers. All Rights Reserved. | Privacy Notice User Agreement