# BatchAddThingTopo

调用该接口批量添加设备拓扑关系。

# 接口说明

  • 单次调用最多可为一个网关添加10个子设备。
  • 接口调用者必须是网关的所有者(Owner)。
  • 如果传入的子设备已存在拓扑关系,则会将子设备原有的网关替换为当前网关。
  • 任意一个子设备与网关的拓扑关系建立失败时,系统回滚,传入的所有子设备与当前网关建立拓扑关系失败。

# 请求参数

名称 类型 是否必选 示例值 描述
Action String BatchAddThingTopo 系统规定参数。取值:BatchAddThingTopo。
IotInstanceId String 6912917943269**** 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID
GwProductKey String gateway 网关设备的名称。
GwDeviceName String a1vL7cp**** 网关设备所属的产品的ProductKey。
TopoAddItem.N.DeviceName String light 要接入网关的子设备名称。
TopoAddItem.N.ProductKey String a1BwAGV**** 要接入网关的子设备所属的产品ProductKey。
TopoAddItem.N.Sign String C1C1606D61884C5F16C9EA6622E5**** 添加拓扑关系的签名。
根据签名计算方式SignMethod(deviceSecret,content),计算出的结果作为Sign的取值。
例如,如果传入的设备参数为ClientId=868575026974305、DeviceName=868575026974305、ProductKey=a1PB5fp1234、SignMethod=hmacmd5、timestamp=1646277090411,且deviceSecret=1234,那么签名计算为hmacmd5(1234, clientId868575026974305deviceName868575026974305productKeya1PB5fp1234timestamp1646277090411);签名计算结果为3BA0DFA4C477B40C007D84D30D6466CC
TopoAddItem.N.SignMethod String hmacMd5 签名方法。支持hmacSha1hmacSha256hmacMd5(大小写不敏感)。
TopoAddItem.N.Timestamp String 1579335899000 UTC时间戳。非必选。注意如果加密时包含了该参数,此处必须同时传入对应值。
TopoAddItem.N.ClientId String a1BwAGV****device1 设备端ID,可使用设备的SN码或MAC地址。非必选参数。注意如果加密时包含了该参数,此处必须同时传入对应值。

# 返回数据

名称 类型 示例值 描述
Code String iot.system.SystemException 调用失败时,返回的错误码。
ErrorMessage String 系统异常 调用失败时,返回的出错信息。
RequestId String cAMeAT6qyGYTD76DkJZHWj8ba0pWZWam 平台为该请求生成的唯一标识符。
Success Boolean true 是否调用成功。true:调用成功。false:调用失败。

# 示例

请求示例

http://open.${区域}.fenydata.com/fenydata-java-open/?Action=BatchAddThingTopo
&GwProductKey=a1duisa****
&GwDeviceName=tydhnay16shc6
&TopoAddItem.1.ProductKey=a1rYuVF****
&TopoAddItem.1.DeviceName=SR8FiTu1R9tlUR2V1bmi
&TopoAddItem.1.Sign=dgj1609rD6IUGFCRkJKKdNKAE67h8****
&TopoAddItem.1.SignMethod=hmacMd5
&TopoAddItem.2.ProductKey=a1yrZMH****
&TopoAddItem.2.DeviceName=RkQ8CFtNpDok4BEunymt
&TopoAddItem.2.Sign=C1C1606D61884C5F16C9EA6622E5****
&TopoAddItem.2.SignMethod=hmacMd5
&<公共请求参数>

正常返回示例

XML格式

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xml>
    <RequestId>AmlS9XiJLrRrC7YtPNDWNODrb1t6xinc</RequestId>
    <Success>true</Success>
</xml>

JSON格式

{
  "RequestId": "AmlS9XiJLrRrC7YtPNDWNODrb1t6xinc",
  "Success": true
}