# 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 | 签名方法。支持hmacSha1、hmacSha256、hmacMd5(大小写不敏感)。 |
| 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
}