V2.0 Batch Create Devices¶
批量创建设备。
当前 API 支持在 EnOS 2.2.0 及以上环境中使用,并已新增 V2.4 版本。推荐使用最新版本,参见 V2.4 Batch Create Devices。
操作权限¶
确保已获取调用该 API 的权限。更多信息,参见 获取 API 调用权限。
前提条件¶
确保已创建所需设备。
确保已阅读设备相关的 使用限制。
请求格式¶
POST https://{apigw-address}/connect-service/v2.0/devices?action=batchCreate
请求参数(URI)¶
名称  | 
位置(Path/Query)  | 
必需/可选  | 
数据类型  | 
描述  | 
|---|---|---|---|---|
orgId  | 
Query  | 
必需  | 
String  | 
设备所属的 OU ID。如何获取 orgId 信息>>  | 
请求参数(Body)¶
名称  | 
必需/可选  | 
数据类型  | 
描述  | 
|---|---|---|---|
deviceList  | 
必需  | 
CreateOption 结构体数组  | 
创建设备的参数。其结构参见 CreateOption 结构体。  | 
CreateOption 结构体  ¶
名称  | 
必需/可选  | 
数据类型  | 
描述  | 
|---|---|---|---|
productKey  | 
必需  | 
String  | 
设备的 product key。允许为 productKey 参数指定多个值,支持为多个产品同时创建设备。如何获取设备的 productKey 信息>>  | 
deviceName  | 
必需  | 
StringI18n  | 
设备名称,支持国际化。若指定该参数,则国际化结构中的    | 
timezone  | 
必需  | 
String  | 
设备所在时区。时区表示方法 >>  | 
deviceAttributes  | 
可选  | 
Map  | 
设备属性。  | 
deviceKey  | 
可选  | 
String  | 
设备的 Device Key。如何获取设备的 deviceKey 信息>>  | 
deviceDesc  | 
可选  | 
String  | 
设备描述信息。  | 
deviceTags  | 
可选  | 
Map  | 
设备标签。如何使用标签 >>。  | 
响应参数¶
名称  | 
数据类型  | 
描述  | 
|---|---|---|
data  | 
EnosBatchEachData 结构体数组  | 
成功或失败消息列表。其结构参见 EnosBatchEachData 结构体。  | 
successSize  | 
Integer  | 
成功数。  | 
totalSize  | 
Integer  | 
总数。  | 
EnosBatchEachData 结构体  ¶
名称  | 
数据类型  | 
描述  | 
|---|---|---|
code  | 
Integer  | 
  | 
msg  | 
String  | 
成功时返回 OK ;如果返回其他值,则为失败。  | 
data  | 
DeviceCreateResult 结构体  | 
单个设备创建返回结果,其结构参见 DeviceCreateResult 结构体。  | 
DeviceCreateResult 结构体  ¶
名称  | 
数据类型  | 
描述  | 
|---|---|---|
productKey  | 
String  | 
设备的 product key。  | 
deviceKey  | 
String  | 
设备的 Device Key。  | 
deviceSecret  | 
String  | 
设备的 device secret。  | 
assetId  | 
String  | 
设备的 asset ID。  | 
错误码¶
代码  | 
错误信息  | 
描述  | 
|---|---|---|
11702  | 
DeviceKey already exists  | 
  | 
11714  | 
Generate deviceKey failed  | 
暂时无法分配设备的key(   | 
11739  | 
Exceed max device size  | 
该操作将导致超过产品下限定的设备数量。  | 
99400  | 
Invalid arguments  | 
参数错误。本次请求创建的设备数量超过当前组织设置的单次批量创建最大设备数量限制。更多信息,参见 使用限制。  | 
示例¶
请求示例¶
url:https://{apigw-address}/connect-service/v2.0/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"
      }
    }
  ]
}
返回示例¶
{
  "code": 0,
  "msg": "OK",
  "requestId": "21938538-9266-495d-b1b9-b15597ad3e1f",
  "data":
  [
    {
      "code": 0,
      "msg": "OK",
      "data":
      {
        "assetId": "yourAssetId",
        "productKey": "yourProductKey",
        "deviceKey": "yourDeviceKey",
        "deviceSecret": "yourDeviceSecret"
      }
    },
    {
      "code": 0,
      "msg": "OK",
      "data":
      {
        "assetId": "yourAssetId2",
        "productKey": "yourProductKey2",
        "deviceKey": "yourDeviceKey2",
        "deviceSecret": "yourDeviceSecret2"
      }
    }
  ],
  "successSize": 2,
  "totalSize": 2
}