公共參數
本文介紹每個接口都需要使用的請求參數和返回參數。
公共請求參數
名稱 | 類型 | 是否必須 | 描述 |
Format | String | 否 | 返回消息的格式。取值:
|
Version | String | 是 | API版本號,使用YYYY-MM-DD日期格式。取值: 2020-04-20 |
AccessKeyId | String | 是 | 訪問服務使用的密鑰ID,即您的阿里云賬號的AccessKey ID,獲取方式,請參見獲取AccessKey。 |
Signature | String | 是 | 簽名結果串。具體構造方法,請參見簽名機制。 |
SignatureMethod | String | 是 | 簽名方式,取值: HMAC-SHA1 |
Timestamp | String | 是 | 請求的時間戳,為日期格式。使用UTC時間按照ISO8601標準,格式為YYYY-MM-DDThh:mm:ssZ。 例如,北京時間2013年01月10日20點0分0秒,表示為2013-01-10T12:00:00Z。 |
SignatureVersion | String | 是 | 簽名算法版本,取值: 1.0 |
SignatureNonce | String | 是 | 唯一隨機數,用于防止網絡重放攻擊。 在不同請求間要使用不同的隨機數值。 |
ResourceOwnerAccount | String | 否 | 本次API請求訪問到的資源擁有者賬戶,即登錄用戶名。 |
公共請求參數示例
http://onsmqtt.[regionId].aliyuncs.com/?Action=[ApiName]
&TimeStamp=2020-05-19T10%3A33%3A56Z
&Format=xml
&AccessKeyId=testid
&SignatureMethod=Hmac-SHA1
&SignatureNonce=NwDAxvLU6tFE****
&Version=2020-04-20
&SignatureVersion=1.0
&Signature=[Signature]
公共返回參數
API返回結果采用統一格式,調用成功返回的數據格式有XML和JSON兩種,可以在發送請求時指定返回的數據格式,默認為XML格式。每次接口調用,無論成功與否,系統都會返回一個唯一識別碼RequestId。
返回
2xx
HTTP狀態碼表示調用成功。返回
4xx
或5xx
HTTP狀態碼表示調用失敗。
公共正常返回參數示例
接口調用成功后會返回接口返回參數和請求ID,這樣的返回是正常返回。HTTP狀態碼為2xx。
XML格式
<?xml version="1.0" encoding="utf-8"?> <!—結果的根結點--> <接口名稱+Response> <!—返回請求標簽--> <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId> <!—返回結果數據--> </接口名稱+Response>
JSON格式
{ "RequestId":"4C467B38-3910-447D-87BC-AC049166F216", /*返回結果數據*/ }
異常返回示例XML格式
接口調用出錯后,會返回錯誤碼、錯誤信息和請求ID,這樣的返回是異常返回。HTTP狀態碼為4xx或者5xx。您可以根據接口錯誤碼,參見錯誤碼列表排查問題。當您無法排查出具體問題時,請聯系云消息隊列 MQTT 版技術支持,釘釘群號:35228338。
XML示例
<?xml version="1.0" encoding="UTF-8"?><!--結果的根結點--> <Error> <RequestId>540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx</RequestId> <!--請求ID--> <Code>MissingParameter.CommandId</Code> <!--錯誤碼--> <Message>The input parameter “CommandId” that is mandatory for processing this request is not supplied.</Message> <!--錯誤信息--> </Error>
JSON示例
{ "RequestId": "540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx", /* 請求ID */ "Code": "MissingParameter.CommandId", /* 錯誤碼 */ "Message": "The input parameter “CommandId” that is mandatory for processing this request is not supplied." /* 錯誤信息 */ }