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
}