CreateProduct

调用该接口创建产品。

使用说明

  • 若产品需要使用物模型功能,必选传入请求参数AliyunCommodityCodeDataFormat,且AliyunCommodityCode值为iothub_senior。详细说明,请参见下文请求参数表。
  • 在MQTT型实例下仅支持创建一个产品。

QPS限制

单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。

说明 单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String CreateProduct

系统规定参数。取值:CreateProduct。

NodeType Integer 0

产品的节点类型,取值:

  • 0:设备。设备不能挂载子设备。可以直连物联网平台,也可以作为网关的子设备连接物联网平台。作为网关子设备时,必须同时传入ProtocolType
  • 1:网关。网关可以挂载子设备,具有子设备管理模块,维持子设备的拓扑关系,和将拓扑关系同步到物联网平台。
重要 MQTT型实例下,设备需作为直连设备接入物联网平台,NodeType必须传入0.
ProductName String Light

为新建产品命名。

产品名称长度为4~30个字符,可以包含中文、英文字母、数字和下划线(_)。一个中文算2个字符。

重要 产品名称在当前实例下需保持唯一。
IotInstanceId String iot-***-v64***

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

重要
  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无ID值,则无需传入。

实例的更多信息,请参见实例概述

DataFormat Integer 1

数据格式。可选值:

  • 0:透传/自定义格式(CUSTOM_FORMAT)。
  • 1:Alink协议(ALINK_FORMAT)。
重要 MQTT型实例下,设备通信的数据格式为原始自定义格式,DataFormat必须传入0
Description String Product test

为新建产品添加描述信息。长度不超过100个字符。

AliyunCommodityCode String iothub_senior

产品版本类型。

  • 不传入此参数:表示默认创建基础版产品,不支持使用物模型。
  • 传入此参数:仅支持输入iothub_senior,表示创建使用物模型的产品。此时需要同时传入参数DataFormat
重要
  • MQTT型实例下,不支持使用物模型,无需传入此参数。
  • 对于基础版产品,不支持在物联网平台控制台使用在线调试事件响应功能。
Id2 Boolean false

是否使用ID²认证。可选值:

  • true:开通ID²认证。
  • false:不开通ID²认证。

不传入此参数,则默认为false,不开通ID²认证。

说明 仅华东2(上海)地域支持ID²认证方式。如果此参数值设置为true,但传入的AuthType参数值不是id2,系统将以AuthType参数值为准。
ProtocolType String modbus

设备接入网关的协议类型。

使用物模型的产品(AliyunCommodityCode=iothub_senior),且产品下的设备需通过网关接入物联网平台,需传入此参数。

可选值:

  • modbus:Modbus协议。
  • opc-ua:OPC UA协议。
  • customize:自定义协议。
  • ble:BLE协议。
  • zigbee:ZigBee协议。
NetType String WIFI

连网方式。

产品下的设备为网关设备或直连设备时,需传入此参数。

可选值:

  • LORA:LoRaWAN。
  • WIFI: Wi-Fi。
  • CELLULAR:蜂窝网。
  • ETHERNET:以太网。
  • OTHER:其他。

若不传入此参数,则默认为Wi-Fi。

重要 MQTT型实例下,NetType不支持传入LORA
JoinPermissionId String 8***

LoRaWAN入网凭证ID。连网方式NetType选择为LORA时,该参数必需。

请调用QueryLoRaJoinPermissions查询您账号下的LoRaWAN入网凭证的JoinPermissionId

如果您还没有LoRaWAN入网凭证,请访问物联网络管理平台创建。

ResourceGroupId String rg-acfmxazb4ph***

资源组ID。

重要
  • 目前,物联网平台仅支持实例维度的资源组管理。请求参数ResourceGroupId配置已无效,无需再传入。
  • 历史调用本API设置的资源组仍有效。
AuthType String secret

产品下的设备接入物联网平台的认证方式。

  • secret:使用设备密钥进行设备身份认证。更多信息,请参见MQTT-TCP连接通信
  • id2:使用物联网设备身份认证ID²。

    说明 仅华东2(上海)地域支持ID²认证方式。连网方式NetTypeLORA的产品不支持ID²认证方式。 选择使用ID²认证,需购买ID²服务。

    更多信息,请参见使用ID²认证

  • one-party:需要将设备认证信息(UserName、Password、SN)导入物联网平台,物联网平台基于设备认证信息对设备进行身份认证。

    说明 仅MQTT型实例下,AuthType可以且必须传入one-party

若不传入此参数,默认值为secret

CategoryKey String Lighting

产品品类的标识符。如果传入此参数,创建的产品将使用指定品类的物模型;不传入,则不使用任何品类的标准物模型。

调用ListThingTemplates,从返回结果中查看物联网平台预定义的品类信息,获取CategoryKey的取值。

PublishAuto Boolean false

是否在产品创建后自动发布物模型。

  • true:发布。
  • false:不发布。

不传入此参数,取默认值为true

ValidateType Integer 1

数据校验级别。不传入此参数时,默认为弱校验。可取值:

  • 1:弱校验。只校验设备数据的idetifier和dataType字段,不校验其他字段,可流转全量数据。

    校验通过的数据展示在物联网平台控制台对应设备的设备详情物模型数据页签。校验不通过的数据则不展示。

    通过流转数据中的参数checkFailedData,可查看校验不通过的数据。更多信息,请参见数据格式

  • 2:免校验。对上报的数据不进行校验,流转全量数据。

    数据不展示在物联网平台控制台对应设备的设备详情物模型数据页签。

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称

类型

示例值

描述

Code String 200

调用失败时,返回的错误码。更多信息,请参见错误码

Data Struct

调用成功时,返回的新建产品信息。

AliyunCommodityCode String iothub_senior

产品类型。

  • iothub_senior:使用物模型。
  • iothub:不使用物模型。
AuthType String secret

产品下的设备接入物联网平台的认证方式。

  • secret:使用设备密钥进行设备身份认证。
  • id2:使用物联网设备身份认证ID²。
  • one-party:使用自定义认证信息(Username、Password、SN)认证。
DataFormat Integer 1

产品类型数据格式。

  • 0:透传/自定义格式(CUSTOM_FORMAT)。
  • 1:Alink协议(ALINK_FORMAT)。
说明 此参数为使用物模型的产品(AliyunCommodityCode=iothub_senior)特有参数。
Description String Product test

产品描述信息。

Id2 Boolean false

是否使用ID²认证。

  • true:开通ID²认证。
  • false:不开通ID²认证。
NodeType Integer 0

产品的节点类型,取值:

  • 0:设备。设备不能挂载子设备。可以直连物联网平台,也可以作为网关的子设备连接物联网平台。
  • 1:网关。网关可以挂载子设备,具有子设备管理模块,维持子设备的拓扑关系,和将拓扑关系同步到物联网平台。
说明 此参数为使用物模型的产品(AliyunCommodityCode=iothub_senior)特有参数。
ProductKey String a1FlqIQ****

物联网平台为新建产品颁发的全局唯一标识。

说明 请妥善保管新建产品的ProductKey。在其他操作中会用到该信息。
ProductName String Test

产品的名称。

ProductSecret String U5tW7i44uilc****

产品密钥。

ProtocolType String modbus

设备接入网关协议类型。

说明 此参数为使用物模型的产品(AliyunCommodityCode=iothub_senior)特有参数。
ErrorMessage String 系统异常

调用失败时,返回的出错信息。

ProductKey String a1FlqIQ****

产品的ProductKey,物联网平台为产品颁发的唯一标识符。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

阿里云为该请求生成的唯一标识符。

Success Boolean true

是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateProduct
&AliyunCommodityCode=iothub_senior
&AuthType=secret
&DataFormat=1
&Description=Product test
&NodeType=0
&ResourceGroupId=rg-acfmxazb4ph****
&ProductName=Test
&ProtocolType=modbus
&CategoryKey=Lighting
&PublishAuto=false
&<公共请求参数>

正常返回示例

XML格式

<CreateProductResponse>
      <Data>
            <Description>Product test</Description>
            <DataFormat>1</DataFormat>
            <ProtocolType>modbus</ProtocolType>
            <ProductKey>a1FlqIQ****</ProductKey>
            <ProductSecret>U5tW7i44uilc****</ProductSecret>
            <NodeType>0</NodeType>
            <ProductName>Test</ProductName>
            <AliyunCommodityCode>iothub_senior</AliyunCommodityCode>
            <AuthType>secret</AuthType>
            <ResourceGroupId>rg-acfmxazb4ph****</ResourceGroupId>
      </Data>
      <ProductKey>a1FlqIQ****</ProductKey>
      <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
      <Success>true</Success>
</CreateProductResponse>

JSON格式

{
  "Data": {
    "Description": "Product test",
    "DataFormat": 1,
    "ProtocolType": "modbus",
    "ProductKey": "a1FlqIQ****",
    "ProductSecret": "U5tW7i44uilc****",
    "NodeType": 0,
    "ProductName": "Test",
    "AliyunCommodityCode": "iothub_senior",
    "AuthType": "secret",
    "ResourceGroupId": "rg-acfmxazb4ph****"
  },
  "ProductKey": "a1FlqIQ****",
  "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
  "Success": true
}