V2.1 Create Device¶
Create a device.
This API is available in EnOS 2.1.0 and above. Version 2.4 has been added and it is recommended to use V2.4 Create Device.
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 Format¶
POST https://{apigw-address}/connect-service/v2.1/devices?action=create
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 |
---|---|---|---|
productKey |
Mandatory |
String |
The product key. |
timezone |
Mandatory |
String |
Timezone of the device’s location. For details, see Timezone representation. |
deviceName |
Mandatory |
StringI18n |
The device name. For more details on the structure and locales supported, see Internationalized name struct. |
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 |
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. |
assetId |
String |
The asset ID. |
Error Codes¶
Code |
Message |
Description |
---|---|---|
11702 |
DeviceKey existed |
The |
11714 |
Generate deviceKey failed |
The key of the device cannot be assigned temporarily (when the |
11739 |
Exceed max device size |
A product can have a max of 10,000 devices under it. This operation will exceed the limit. |
99400 |
Invalid arguments |
One or multiple parameters are invalid. |
Samples¶
Request Sample¶
url: https://{apigw-address}/connect-service/v2.1/devices?action=create&orgId=yourOrgId
method: POST
requestBody:
{
"deviceTags":{
"test":"test for tags"
},
"timezone":"+08:00",
"productKey":"yourProductKey",
"deviceAttributes":{
"testatt":111111
},
"deviceName":{
"defaultValue":"testCreateDevice",
"i18nValue":{
}
},
"deviceDesc":"test for createdevice"
}
Return Sample¶
{
"code":0,
"msg":"OK",
"requestId":"fd79d0f5-69c5-4fa8-add4-69f5ca1b635f",
"data":{
"assetId":"Uvmm5AXU",
"productKey":"yourProductKey",
"deviceKey":"yourDeviceKey",
"deviceSecret":"yourDeviceSecret"
}
}
SDK Samples¶
You can access the SDK samples for Connection Service on GitHub: