This topic describes the parameters that are common to all API requests and responses for Message Queue for MQTT.

Common request parameters

Table 1. Table of common request parameters
ParameterTypeRequiredDescription
FormatStringNoThe response format. Valid values:
  • JSON
  • XML
VersionStringYesThe version number of the API. Specify the version number in the YYYY-MM-DD format. Valid values:

2020-04-20

AccessKeyIdStringYesThe AccessKey ID of your Alibaba Cloud account. For information about how to obtain an AccessKey ID, see Obtain an AccessKey pair.
SignatureStringYesThe signature string of the current request. For information about how signatures are calculated, see Signature method.
SignatureMethodStringYesThe encryption method of the signature string. Set the value to

HMAC-SHA1

TimestampStringYesThe timestamp of the request. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC.

For example, use 2013-01-10T12:00:00Z to specify 20:00:00 on January 10, 2013 (UTC+8).

SignatureVersionStringYesThe version of the signature encryption algorithm. Set the value to

1.0

SignatureNonceStringYesA unique, random number used to prevent replay attacks.

You must use a unique random number for each request.

ResourceOwnerAccountStringNoThe Alibaba Cloud account to which the resource you want to access belongs.
Sample requests
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]

Common response parameters

API responses use the HTTP response format. A response can be returned in the JSON or XML format. You can specify the response format in the request. The default response format is XML. Every response returns a unique RequestId regardless of whether the call is successful.
  • A 2xx HTTP status code indicates a successful call.
  • A 4xx or 5xx HTTP status code indicates a failed call.
  • Sample success responses

    Each response returns response parameters and a request ID for a successful call. In a success response, the HTTP status code is 2xx.

    • XML format
      <?xml version="1.0" encoding="utf-8"?> 
          <!--Root node of the response-->
          <Operation name+Response>
              <!--Returned request tag-->
              <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId>
              <!--Returned data-->
          </Operation name+Response>
                                  
    • JSON format
      {
          "RequestId":"4C467B38-3910-447D-87BC-AC049166F216",
          /*Returned data*/
          }
  • Sample error responses

    If an error occurs when you call an operation, an error response that consists of an error code, an error message, and a request ID is returned. In an error response, the HTTP status code is 4xx or 5xx. You can troubleshoot errors based on the error codes. For more information, see Error codes. If you cannot troubleshoot errors based on the error codes, contact ApsaraMQ for MQTT technical support.

    • XML format
      <?xml version="1.0" encoding="UTF-8"?><!--Root node of the response-->
      <Error>
          <RequestId>540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx</RequestId> <!--Request ID-->
          <Code>MissingParameter.CommandId</Code> <!--Error code-->
          <Message>The input parameter "CommandId" that is mandatory for processing this request is not supplied.</Message> <!--Error message-->
      </Error>
    • JSON format
      {
          "RequestId": "540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx", /* Request ID */
          "Code": "MissingParameter.CommandId", /* Error code */
          "Message": "The input parameter "CommandId" that is mandatory for processing this request is not supplied." /* Error message */
      }