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}。 示例值:testdevice |
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。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
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类型,无法创建新设备。 |