Batch Associate Asset¶
Batch link existing assets to an asset tree. The assets to be linked can be a device asset or a non-device (logical) asset.
This API is only available if 2.3 Cumulative Update 3 has been applied to your environment. For the full change list of 2.3 Cumulative Update 3, see Cumulative Update 3.
Operation Permissions¶
| Required Authorization | Required Operation Permission | 
|---|---|
| Asset Tree Management | Full Access | 
Request Format¶
POST https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=associateAssetBatch
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>> | 
| parentAssetId | Query | Mandatory | String | The asset ID of the parent node of the asset to be linked. | 
Request Parameters (Body)¶
| Name | Mandatory/Optional | Data Type | Description | 
|---|---|---|---|
| assetIdentifiers | Mandatory | Array of AssetIdentifiersVo Structs | The asset information. For more details, see AssetIdentifiersVo Struct. | 
AssetIdentifiersVo Struct ¶
Note
Use one of the following methods to specify the asset:
- Include the - assetIdin the request
- Include both - productKeyand- deviceKeyin the request
| Name | Mandatory/Optional | Data Type | Description | 
|---|---|---|---|
| assetId | Optional (See Note above) | String | The asset ID. How to get assetId>> | 
| productKey | Optional (See Note above) | String | The product key. To be used with  | 
| deviceKey | Optional (See Note above) | String | The device key. To be used with  | 
Response Parameters¶
| Name | Data Type | Description | 
|---|---|---|
| data | Array of EnosBatchEachData Struct | The list of success or failure messages. For more details, see EnosBatchEachData struct. | 
| successSize | Integer | The number of successfully linked assets. | 
| totalSize | Integer | The total number of assets to be linked. | 
EnosBatchEachData Struct ¶
| Name | Data Type | Description | 
|---|---|---|
| code | Integer | Failed or succeeded to link the assets. The code will return  | 
| msg | String | The message will return  | 
| data | String | The ID of the asset that has been successfully linked. | 
Error Codes¶
| Code | Message | Description | 
|---|---|---|
| 17752 | Parent assetId is not existed in the tree | The parent asset does not exist in this Tree | 
| 17758 | AssetId is existed in the tree | Asset ID already exists in the tree. | 
| 17762 | The tree is locked | The asset tree cannot be modified/deleted for the time being as someone is currently accessing the asset tree. Please try again later. | 
| 17770 | Exceeding the layer limit(7) | The tree exceeds the maximum number of layers (7 layers). | 
| 99400 | Invalid arguments | The request parameter is invalid. Check the request parameters. | 
| 99404 | TreeId is not exist | The tree ID does not exist. | 
| 99500 | System error | Internal server error. Contact EnOS support. | 
Samples¶
Request Sample¶
url: https://{apigw-address}/asset-tree-service/v2.1/asset-nodes?action=associateAssetBatch&orgId=yourOrgId&treeId=yourTreeId&parentAssetId=yourParentAssetId
method: POST
requestBody:
{
  "assetIdentifiers": [
    {
      "assetId": "assetId1"
    },
    {
      "deviceKey": "yourDeviceKey",
      "productKey": "yourProductKey"
    }
  ]
}
Return Sample¶
{
  "code":99206,
  "msg":"Partial Content Success",
  "requestId":"deb2cf9d-b512-456f-b046-30e365c54e9c",
  "data":[
      {
          "code":758,
          "msg":"asset is existed in the tree.",
          "data":"assetId1"
      },
      {
          "code":0,
          "msg":"OK",
          "data":"assetId2"
      }
  ],
  "successSize":1,
  "totalSize":2
}