BatchAddThingTopo
BatchAddThingTopo
调用该接口批量添加设备拓扑关系。
使用说明
●单次调用最多可为一个网关添加10个子设备。 ●接口调用者必须是网关的所有者(Owner)。 ●如果传入的子设备已存在拓扑关系,则会将子设备原有的网关替换为当前网关。 ●任意一个子设备与网关的拓扑关系建立失败时,系统回滚,传入的所有子设备与当前网关建立拓扑关系失败。 ●调用该接口添加网关与子设备的拓扑关系会通过Topic:/sys/${productKey}/${deviceName}/thing/topo/change通知网关。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
Action | String | 是 | BatchAddThingTopo | 系统规定参数。取值:BatchAddThingTopo。 |
GwDeviceName | String | 是 | gateway | 网关设备的名称。 |
GwProductKey | String | 是 | a1vL7cp**** | 网关设备所属的产品的ProductKey。 |
TopoAddItem.N.DeviceName | String | 是 | light | 要接入网关的子设备名称。 |
TopoAddItem.N.ProductKey | String | 是 | a1BwAGV**** | 要接入网关的子设备所属的产品ProductKey。 |
TopoAddItem.N.Sign | String | 是 | C1C1606D61884C5F16C9EA6622E5**** | 添加拓扑关系的签名。 根据签名计算方式SignMethod(deviceSecret,content),计算出的结果作为Sign的取值。 其中,content是将所有提交给服务器的子设备参数(Sign、SignMethod除外),按照英文字母升序,依次排序拼接(无拼接符号)的结果。 例如,如果传入的设备参数为ClientId=868575026974305、DeviceName=868575026974305、ProductKey=a1PB5fp1234、SignMethod=hmacmd5、timestamp=1646277090411,且deviceSecret=1234,那么签名计算为 |
TopoAddItem.N.SignMethod | String | 是 | hmacMd5 | 签名方法。支持hmacSha1、hmacSha256、hmacMd5。 |
TopoAddItem.N.Timestamp | String | 否 | 1579335899000 | UTC时间戳。非必选。 |
TopoAddItem.N.ClientId | String | 否 | a1BwAGV****device1 | 设备端ID,可使用设备的SN码或MAC地址。非必选参数。 |
‼️ 注意:调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数。
返回数据
名称 | 类型 | 示例值 | 描述 |
Code | String | iot.system.SystemException | 调用失败时,返回的错误码。更多信息,请参见错误码。 |
ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | 为该请求生成的唯一标识符。 |
Success | Boolean | true | 表示是否调用成功。
|
示例
请求示例
curl 'https://si-d6e8d812acb848958054.tuyacloud.com:8686/?Action=BatchAddThingTopo&GwProductKey=k1ymv1DuLfE&GwDeviceName=myTestDevice&SignatureNonce=cd890a9c7af147e3932f4ea0c100329a&TopoAddItem.1.ProductKey=k1ymv5ZxdaN&AccessKeyId=xMr9wgwXQLhv5AUa65o0****&TopoAddItem.1.SignMethod=hmacSha1&TopoAddItem.1.DeviceName=53a23b050706&TopoAddItem.1.Sign=e9551310ab7c8c32f876df919247eda3c18ba550&SignatureMethod=HMAC-SHA1&Timestamp=2024-11-19T08%3A59%3A50Z&Signature=8yATgT7GBO9LqAZR6psY4vUw07E%3D'
正常返回示例
{
"RequestId": "2E19BDAF-0FD0-4608-9F41-82D230CFEE38",
"Success": true
}