有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

1. 接口描述

接口请求域名: iotcloud.tencentcloudapi.com 。

本接口(CreateDevice)用于新建一个物联网通信设备。

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateDevice。
Version String 公共参数,本接口取值:2021-04-08。
Region String 公共参数,详见产品支持的 地域列表
ProductId String 产品 ID 。创建产品时腾讯云为用户分配全局唯一的 ID
示例值:ABCDE12345
DeviceName String 设备名称。命名规则:[a-zA-Z0-9:-]{1,48}。
示例值:test
device
Attribute Attribute 设备属性
DefinedPsk String 是否使用自定义PSK,默认不使用
示例值:ABC
Isp Integer 运营商类型,当产品是NB-IoT产品时,此字段必填。1表示中国电信,2表示中国移动,3表示中国联通
示例值:Isp
Imei String IMEI,当产品是NB-IoT产品时,此字段必填
示例值:Imsi
LoraDevEui String LoRa设备的DevEui,当创建LoRa时,此字段必填
示例值:Eui
LoraMoteType Integer LoRa设备的MoteType
示例值:Type
Skey String 创建LoRa设备需要skey
示例值:skey
LoraAppKey String LoRa设备的AppKey
示例值:key
TlsCrt String 私有CA创建的设备证书
示例值:-----BEGIN CERTIFICATE----- MIIFGjCCBAKgAwIBAgIQCgRw0Ja8ihLIkKbf

3. 输出参数

参数名称 类型 描述
DeviceName String 设备名称
示例值:test_device
DevicePsk String 对称加密密钥,base64编码。采用对称加密时返回该参数
示例值:xxxxxxxxxxxxx
DeviceCert String 设备证书,用于 TLS 建立链接时校验客户端身份。采用非对称加密时返回该参数
示例值:-----BEGIN CERTIFICATE----- MIIFGjCCBAKgAwIBAgIQCgRw0Ja8ihLIkKbf
DevicePrivateKey String 设备私钥,用于 TLS 建立链接时校验客户端身份,腾讯云后台不保存,请妥善保管。采用非对称加密时返回该参数
示例值:-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgw
LoraDevEui String LoRa设备的DevEui,当设备是LoRa设备时,会返回该字段
示例值:xxx
LoraMoteType Integer LoRa设备的MoteType,当设备是LoRa设备时,会返回该字段
示例值:xxx
LoraAppKey String LoRa设备的AppKey,当设备是LoRa设备时,会返回该字段
示例值:xxx
LoraNwkKey String LoRa设备的NwkKey,当设备是LoRa设备时,会返回该字段
示例值:xxx
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建设备(采用对称加密)

输入示例

https://iotcloud.tencentcloudapi.com/?Action=CreateDevice
&ProductId=ABCDE12345
&DeviceName=test_device
&Attribute.Tags.0.Tag=note
&Attribute.Tags.0.Type=2
&Attribute.Tags.0.Value=test_note
&<公共请求参数>

输出示例

{
    "Response": {
        "DeviceName": "test_device",
        "DevicePsk": "xxxxxxxxxxxxx",
        "DeviceCert": "",
        "DevicePrivateKey": "",
        "LoraDevEui": "",
        "LoraMoteType": 1,
        "LoraNwkKey": "",
        "LoraAppKey": "xx",
        "RequestId": "54f75f05-a87c-45fc-9520-6b59e251e91c"
    }
}

示例2 创建设备(采用非对称加密)

输入示例

https://iotcloud.tencentcloudapi.com/?Action=CreateDevice
&ProductId=ABCDE12345
&DeviceName=test_device
&<公共请求参数>

输出示例

{
    "Response": {
        "DeviceName": "test_device",
        "DevicePsk": "",
        "DeviceCert": "xxxxxxxxxxxxxxxxxxxx",
        "DevicePrivateKey": "xxxxxxxxxxxxxxxxxxxxxxx",
        "LoraDevEui": "",
        "LoraMoteType": 1,
        "LoraNwkKey": "",
        "LoraAppKey": "xx",
        "RequestId": "54f75f05-a87c-45fc-9520-6b59e251e91c"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.AlreadyDistributionDevice 已分发设备,不能再次创建。
FailedOperation.TidWhiteListNotOpen 白名单校验未开启,用户不可创建设备,平台会根据设备认证时携带的设备名称自动创建设备。
InternalError 内部错误。
InternalError.DBOperationError 数据库内部错误。
InvalidParameterValue 参数取值错误。
InvalidParameterValue.DefinedPskNotBase64 格式错误,DefinedPsk需为Base64格式的字符串。
InvalidParameterValue.DeviceAlreadyExist 创建的设备名已存在。
InvalidParameterValue.ProductTypeNotSupport 产品类型不支持。
LimitExceeded.DeviceExceedLimit 设备数量超过限制。
ResourceNotFound.ProductNotExist 产品不存在。
UnauthorizedOperation.ProductCantHaveLoRaDevice 该产品类型不能创建LoRa设备。
UnauthorizedOperation.ProductCantHaveNormalDevice NB-IoT产品不允许创建普通设备。
UnauthorizedOperation.ProductCantHaveNotLoRaDevice 该产品类型只能创建LoRa设备。
UnauthorizedOperation.ProductIsForbidden 产品禁用了该功能。
UnauthorizedOperation.ProductNotSupportPSK 产品不支持密钥认证。
UnsupportedOperation.SuiteTokenNoCreate 产品为Suite token类型,无法创建新设备。