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,那么签名计算为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地址。非必选参数。

重要

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

返回数据

名称

类型

示例值

描述

Code

String

iot.system.SystemException

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

ErrorMessage

String

系统异常

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

RequestId

String

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

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

Success

Boolean

true

表示是否调用成功。

  • true:调用成功。

  • false:调用失败。

示例

请求示例

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
}