V2.4 Batch Create Devices¶
Batch create devices.
Operation Permissions¶
Before invoking this API, ensure that the service account has been authorized the policy that includes the following service(s) and action permission(s). For how to authorize the service account, see Managing Service Accounts.
Required Service | Required Operation Permission |
---|---|
Device Management Service | Full Access |
Prerequisite¶
- The product to create this device under exists.
- You have learnt the Limitations about devices.
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)¶
Name | Mandatory/Optional | Data Type | Description |
---|---|---|---|
deviceList | Mandatory | Array of CreateOption Structs | The list of devices to create. For more details, see CreateOption Struct |
requireSecret | Optional | Boolean |
|
CreateOption Struct ¶
Name | Mandatory/Optional | Data Type | Description |
---|---|---|---|
productKey | Mandatory | String | The product key. |
deviceName | Mandatory | StringI18n | The device name. For more details on the structure and locales supported, see Internationalized name struct. |
timezone | Mandatory | String | Timezone of the device’s location. For details, see Timezone representation. |
deviceAttributes | Optional | Map | The device attributes. |
deviceKey | Optional | String | The device key. |
deviceDesc | Optional | String | The device description. |
deviceTags | Optional | Map | The device tags. (The Key and Value are of String type.) For details, see How to use tags. |
Response Parameters¶
Name | Data Type | Description |
---|---|---|
data | Array of EnosBatchEachData Struct | The list of success or failure messages. For more information, see EnosBatchEachData Struct. |
successSize | Integer | The number of sucessfully created devices. |
totalSize | Integer | The total number of devices to be created. |
EnosBatchEachData Struct ¶
Name | Data Type | Description |
---|---|---|
code | Integer | Failed or succeeded to create an alert. 0: succeeded, -1: failed. |
msg | String | Returns OK if successful. Other returned values indicate failure. |
data | DeviceCreateResult Struct | The returned results of the device creation. For details, see DeviceCreateResult Struct. |
DeviceCreateResult Struct ¶
Name | Data Type | Description |
---|---|---|
productKey | String | The product key. |
deviceKey | String | The device key. |
deviceSecret | String | The device secret, returned only when the value of requireSecret is true . The returned value will be encrypted. How to Decrypt >> |
sessionKey | String | The key for encrypting and decrypting the value of deviceSecret , returned only when the value of requireSecret is true . The returned value will be encrypted. How to Decrypt >> |
assetId | String | The asset ID. |
Error Codes¶
Code | Message | Description |
---|---|---|
11702 | DeviceKey existed | The deviceKey already exists in the database (when deviceKey is provided). |
11714 | Generate deviceKey failed | The key of the device cannot be assigned temporarily (when the deviceKey is not provided). Please try again. |
11739 | Exceed max device size | A product can have a max of 10,000 devices under it. This operation will exceed the limit. |
11858 | Unable to find public key | Unable to find public key for requireSecret due to there is no RSA key pair for the service account. Creating RSA Key Pairs >>. |
99400 | Invalid arguments | The number of devices created by this request exceeds the limit for the maximum number of devices created in a single batch set in this organization. For more information, see Limitations. |
Samples¶
Request Sample¶
url:https://{apigw-address}/connect-service/v2.4/devices?action=batchCreate&orgId=yourOrgId
method: POST
requestBody:
{
"deviceList":
[
{
"productKey": "yourProductKey",
"deviceName":
{
"defaultValue": "Device Name",
"i18nValue":
{
"zh_CN": "设备名称",
"en_US": "Device Name"
}
},
"timezone": "+08:00",
"deviceAttributes":
{
"serial": 111111
},
"deviceDesc": "Device description",
"deviceTags":
{
"tag1": "tag value"
}
},
{
"productKey": "yourProductKey2",
"deviceName":
{
"defaultValue": "Device Name 2",
"i18nValue":
{
"zh_CN": "设备名称 2",
"en_US": "Device Name 2"
}
},
"timezone": "+08:00",
"deviceAttributes":
{
"serial": 222222
},
"deviceDesc": "Device description 2",
"deviceTags":
{
"tag2": "tag value"
}
},
],
"requireSecret": true
}
Return Sample¶
{
"code": 0,
"msg": "OK",
"requestId": "21938538-9266-495d-b1b9-b15597ad3e1f",
"data":
[
{
"code": 0,
"msg": "OK",
"data":
{
"assetId": "yourAssetId",
"productKey": "yourProductKey",
"deviceKey": "yourDeviceKey",
"deviceSecret":"EncryptedDeviceSecret1",
"sessionKey":"EncryptedSessionKey1"
}
},
{
"code": 0,
"msg": "OK",
"data":
{
"assetId": "yourAssetId2",
"productKey": "yourProductKey2",
"deviceKey": "yourDeviceKey2",
"deviceSecret":"EncryptedDeviceSecret2",
"sessionKey":"EncryptedSessionKey2"
}
}
],
"successSize": 2,
"totalSize": 2
}