调用该接口新建产品。

请求参数

名称 类型 是否必需 描述
Action String 要执行的操作,取值:CreateProduct
ProductName String 为新建产品命名。产品名应满足以下限制:由4-30位中文、英文字母、数字和下划线(_)组成(一个中文字符占两位)。
说明 产品名在当前账号下应保持唯一。
NodeType Integer

产品的节点类型,取值:

0:设备。设备不能挂载子设备。可以直连物联网平台,也可以作为网关的子设备连接物联网平台。

1:网关。网关可以挂载子设备,具有子设备管理模块,维持子设备的拓扑关系,和将拓扑关系同步到物联网平台。

AliyunCommodityCode String 产品版本类型。
  • iothub_senior:使用物模型。
  • iothub:不使用物模型。

若不传入此参数默,则默认为iothub:不使用物模型。

DataFormat Integer 数据格式。

创建使用物模型的产品(AliyunCommodityCode=iothub_senior)时,需传入此参数。

可选值:

  • 0:透传/自定义格式(CUSTOM_FORMAT)
  • 1:Alink协议(ALINK_FORMAT)
Description String 为新建产品添加描述信息。描述信息应在100字符以内。
Id2 Boolean 是否使用ID²认证。

可选值:

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

不传入此参数,则默认为不开通。

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

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

可选值:

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

使用物模型的产品(AliyunCommodityCode=iothub_senior),且产品下的设备为网关或不接入网关的设备时,需传入此参数。

可选值:

  • WIFI: WiFi
  • CELLULAR:蜂窝网
  • ETHERNET:以太网
  • LORA:LoRaWAN
  • OTHER:其他

若不传入此参数,则默认为WiFi。

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

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

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

AuthType String 产品下的设备接入物联网平台的认证方式。可选:
  • secret:使用设备密钥进行设备身份认证。

    详情可参见MQTT-TCP连接通信

  • id2:使用物联网设备身份认证ID²。
    说明
    • 仅华东2(上海)地域支持ID²认证方式。
    • 连网方式NetTypeLORA的产品不支持ID²认证方式。
    • 选择使用ID²认证,需购买ID²服务。请参见IoT设备身份认证(ID²)用户手册
  • x509:使用设备X.509证书进行设备身份认证。
    说明
    • 仅华东2(上海)地域支持X.509证书。
    • 连网方式NetTypeLORA的产品不支持X.509证书。

    使用X.509证书的设备端配置说明,请参见使用X.509证书认证

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

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

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

PublishAuto Boolean 是否在产品创建后自动发布物模型。
  • true:发布。
  • false:不发布。

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

ResourceGroupId String 资源组ID(可在资源管理控制台查看资源组ID),指定将该产品划归为某个资源组。

若不传入此参数,该产品将被划归为默认资源组。

IotInstanceId String 公共实例不传此参数;您购买的实例需传入实例ID。
公共请求参数 - 公共请求参数,请参见公共参数

返回参数

名称 类型 描述
RequestId String 阿里云为该请求生成的唯一标识符。
Success Boolean 是否调用成功。true表示调用成功,false表示调用失败。
ErrorMessage String 调用失败时返回的出错信息。
Code String 调用失败时,返回的错误码。错误码详情,请参见错误码
ProductKey String 产品的Key。
Data Data 调用成功时返回的新建产品信息。详情参见下表ProductInfo。
表 1. ProductInfo
名称 类型 描述
ProductName String 产品的名称。
ProductKey String 物联网平台为新建产品颁发的产品Key,作为该产品的全局唯一标识。
说明 请妥善保管新建产品的ProductKey。在其他操作中会用到该信息。
Description String 产品描述信息。
DataFormat Integer 产品类型数据格式。
  • 0:透传/自定义格式(CUSTOM_FORMAT)。
  • 1:Alink协议(ALINK_FORMAT)。
说明 此参数为使用物模型的产品(AliyunCommodityCode=iothub_senior)特有参数。
AliyunCommodityCode String 产品类型。
  • iothub_senior:使用物模型。
  • iothub:不使用物模型。
ProtocolType String 设备接入网关协议类型。
说明 此参数为使用物模型的产品(AliyunCommodityCode=iothub_senior)特有参数。
NodeType Integer

产品的节点类型,取值:

0:设备。设备不能挂载子设备。可以直连物联网平台,也可以作为网关的子设备连接物联网平台。

1:网关。网关可以挂载子设备,具有子设备管理模块,维持子设备的拓扑关系,和将拓扑关系同步到物联网平台。

说明 此参数为使用物模型的产品(AliyunCommodityCode=iothub_senior)特有参数。
AuthType String 产品下的设备接入物联网平台的认证方式。
  • secret:使用设备密钥进行设备身份认证。
  • id2:使用物联网设备身份认证ID²。
  • x509:使用设备X.509证书进行设备身份认证。
ResourceGroupId String 产品所属资源组ID。

示例

请求示例

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
&公共请求参数

返回示例

  • JSON格式
    {
      "Data": {
        "Description": "Product test",
        "DataFormat": 1,
        "ProtocolType": "modbus",
        "ProductKey": "a1FlqIQ****",
        "NodeType": 0,
        "ProductName": "Test",
        "AliyunCommodityCode": "iothub_senior",
        "AuthType": "secret",
        "ResourceGroupId": "rg-acfmxazb4ph****"
      },
      "ProductKey": "a1FlqIQ****",
      "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
      "Success": true
    }
  • XML格式
    <?xml version="1.0" encoding="UTF-8" ?>
    <CreateProductResponse>
        <Data>
            <Description>Product test</Description>
            <DataFormat>1</DataFormat>
            <ProtocolType>modbus</ProtocolType>
            <ProductKey>a1FlqIQ****</ProductKey>
            <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>