V2.1 Create Device


创建设备。


当前 API 支持在 EnOS 2.1.0 及以上环境中使用,并已新增 V2.4 版本。推荐使用最新版本,参见 V2.4 Create Device

操作权限


使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号


需授权的服务 所需操作权限
设备管理服务 Full Access

前提条件


  • 确保已创建所需产品。
  • 确保已阅读设备相关的 使用限制

请求格式

POST https://{apigw-address}/connect-service/v2.1/devices?action=create

请求参数(URI)

名称 位置(Path/Query) 必需/可选 数据类型 描述
orgId Query 必需 String 资产所属的组织 ID。如何获取 orgId 信息>>

请求参数(Body)

名称 必需/可选 数据类型 描述
productKey 必需 String 设备的 product key。
deviceName 必需 StringI18n 设备名称。结构参见 国际化名称结构体
timezone 必需 String 设备所在时区。时区表示方法 >>
deviceAttributes 可选 Map 设备属性。
deviceKey 可选 String 设备的 Device Key。
deviceDesc 可选 String 设备描述信息。
deviceTags 可选 Map 设备标签。

响应参数

名称 数据类型 描述
data DeviceCreateResult 结构体 设备创建返回结果。DeviceCreateResult 结构体>>

DeviceCreateResult 结构体

名称 数据类型 描述
productKey String 设备的 product key。
deviceKey String 设备的 device key。
deviceSecret String 设备的 device secret。
assetId String 资产 ID。

错误码

代码 错误信息 描述
11702 DeviceKey existed deviceKey 在数据库中已存在( deviceKey 提供的情况下)。
11714 Generate deviceKey failed 暂时无法分配设备的key( deviceKey 未提供的情况下),请重试。
11739 Exceed max device size 该操作将导致超过产品下限定的设备数量。
99400 Invalid arguments 参数错误。

示例

请求示例

url:https://{apigw-address}/connect-service/v2.1/devices?action=create&orgId=yourOrgId
method: POST
requestBody:
{
        "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"
        }
}

返回示例

{
    "code":0,
    "msg":"OK",
    "requestId":"fd79d0f5-69c5-4fa8-add4-69f5ca1b635f",
    "data":{
        "assetId":"Uvmm5AXU",
        "productKey":"yourProductKey",
        "deviceKey":"yourDeviceKey",
        "deviceSecret":"yourDeviceSecret"
    }
}

SDK 示例


你可以在 Github 上获取接入服务的 SDK 示例: