This topic describes the topics and Alink JSON formats that are used in the following scenarios: Devices request configuration information from IoT Platform and IoT Platform pushes configuration information to devices.

For more information about how to use the remote configuration feature, see Remote configuration in the user guide.

Devices request configuration information from IoT Platform

The following topics are used when a device sends requests to IoT Platform and IoT Platform sends responses to the device:

  • Request topic: /sys/${productKey}/${deviceName}/thing/config/get
  • Response topic: /sys/${productKey}/${deviceName}/thing/config/get_reply

Sample request in the Alink JSON format:

{
  "id": 123,
  "version": "1.0",
  "sys":{
      "ack":0
  },
  "params": {
    "configScope": "product",
    "getType": "file"
  },
  "method": "thing.config.get"
}

Sample response in the Alink JSON format:

{
  "id": "123",
  "version": "1.0",
  "code": 200,
  "data": {
    "configId": "123dagdah",
    "configSize": 1234565,
    "sign": "123214adfadgadg",
    "signMethod": "Sha256",
    "url": "https://iotx-config.oss-cn-shanghai.aliyuncs.com/nopoll_0.4.4.tar.gz?Expires=1502955804&OSSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Signature=XfgJu7P6DWWejstKJgXJEH0qAKU%3D&security-token=CAISuQJ1q6Ft5B2yfSjIpK6MGsyN1Jx5jo6mVnfBglIPTvlvt5D50Tz2IHtIf3NpAusdsv03nWxT7v4flqFyTINVAEvYZJOPKGrGR0DzDbDasumZsJbo4f%2FMQBqEaXPS2MvVfJ%2BzLrf0ceusbFbpjzJ6xaCAGxypQ12iN%2B%2Fr6%2F5gdc9FcQSkL0B8ZrFsKxBltdUROFbIKP%2BpKWSKuGfLC1dysQcO1wEP4K%2BkkMqH8Uic3h%2Boy%2BgJt8H2PpHhd9NhXuV2WMzn2%2FdtJOiTknxR7ARasaBqhelc4zqA%2FPPlWgAKvkXba7aIoo01fV4jN5JXQfAU8KLO8tRjofHWmojNzBJAAPpYSSy3Rvr7m5efQrrybY1lLO6iZy%2BVio2VSZDxshI5Z3McKARWct06MWV9ABA2TTXXOi40BOxuq%2B3JGoABXC54TOlo7%2F1wTLTsCUqzzeIiXVOK8CfNOkfTucMGHkeYeCdFkm%2FkADhXAnrnGf5a4FbmKMQph2cKsr8y8UfWLC6IzvJsClXTnbJBMeuWIqo5zIynS1pm7gf%2F9N3hVc6%2BEeIk0xfl2tycsUpbL2FoaGk6BAF8hWSWYUXsv59d5Uk%3D",
    "getType": "file"
  }
}

The following table describes the parameters.

ParameterTypeDescription
idStringThe ID of the message. Valid values: 0 to 4294967295. Each message ID must be unique for the device.
versionStringThe version of the protocol. Valid value: 1.0.
sysObjectThe parameter for extended features. The value contains the fields for each feature.
Note If no extended features are configured when you use a device SDK to develop device features, this parameter is unavailable. The extended features use the default configurations.
ackIntegerThe extended feature field in the sys parameter. This field specifies whether IoT Platform needs to return response data for the registration request. Valid values:
  • 1: IoT Platform needs to return response data.
  • 0: IoT Platform does not need to return response data.
Important For more information about the parameter, see Examples on how to use a TSL model.

If the feature is not configured, this parameter is unavailable. By default, IoT Platform returns response data for a registration request.

configScopeStringThe configuration scope. IoT Platform supports only product-level configurations. Valid value: product.
getTypeStringThe format in which the configurations are returned. IoT Platform supports the file format. Valid value: file.
methodStringThe request method. Valid value: thing.config.get.
configIdStringThe ID of the configuration file.
configSizeLongThe size of the configuration file, in bytes.
signStringThe signature.
signMethodStringThe signing method. IoT Platform supports only SHA-256.
urlStringThe URL of the configuration file that is stored in Object Storage Service (OSS).
codeIntegerThe HTTP status code in the response. If 200 is returned, the request was successful. If other status codes are returned, the request failed. For more information, see Common codes on devices.

The following table describes the error codes.

HTTP status codeError messageDescription
6713thing config function is not availableThe error message returned because the remote configuration feature is disabled for the product. To resolve this issue, perform the following steps: Log on to the IoT Platform console.In the left-side navigation pane, choose Maintenance > Remote Config. Then, enable the remote configuration feature for the product.
6710no dataThe error message returned because no configuration data is available.

IoT Platform pushes configuration information to devices

The following topics are used when IoT Platform sends requests to a device and the device sends responses to IoT Platform:

  • Request topic: /sys/${productKey}/${deviceName}/thing/config/push
  • Response topic: /sys/${productKey}/${deviceName}/thing/config/push_reply

After you configure configuration push for multiple devices in the IoT Platform console, IoT Platform asynchronously pushes the configuration information to the devices that subscribe to the configuration push topic.

Sample request in the Alink JSON format:

{
  "id": "123",
  "version": "1.0",
  "params": {
    "configId": "123dagdah",
    "configSize": 1234565,
    "sign": "123214adfadgadg",
    "signMethod": "Sha256",
    "url": "https://iotx-config.oss-cn-shanghai.aliyuncs.com/nopoll_0.4.4.tar.gz?Expires=1502955804&OSSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Signature=XfgJu7P6DWWejstKJgXJEH0qAKU%3D&security-token=CAISuQJ1q6Ft5B2yfSjIpK6MGsyN1Jx5jo6mVnfBglIPTvlvt5D50Tz2IHtIf3NpAusdsv03nWxT7v4flqFyTINVAEvYZJOPKGrGR0DzDbDasumZsJbo4f%2FMQBqEaXPS2MvVfJ%2BzLrf0ceusbFbpjzJ6xaCAGxypQ12iN%2B%2Fr6%2F5gdc9FcQSkL0B8ZrFsKxBltdUROFbIKP%2BpKWSKuGfLC1dysQcO1wEP4K%2BkkMqH8Uic3h%2Boy%2BgJt8H2PpHhd9NhXuV2WMzn2%2FdtJOiTknxR7ARasaBqhelc4zqA%2FPPlWgAKvkXba7aIoo01fV4jN5JXQfAU8KLO8tRjofHWmojNzBJAAPpYSSy3Rvr7m5efQrrybY1lLO6iZy%2BVio2VSZDxshI5Z3McKARWct06MWV9ABA2TTXXOi40BOxuq%2B3JGoABXC54TOlo7%2F1wTLTsCUqzzeIiXVOK8CfNOkfTucMGHkeYeCdFkm%2FkADhXAnrnGf5a4FbmKMQph2cKsr8y8UfWLC6IzvJsClXTnbJBMeuWIqo5zIynS1pm7gf%2F9N3hVc6%2BEeIk0xfl2tycsUpbL2FoaGk6BAF8hWSWYUXsv59d5Uk%3D",
    "getType": "file"
  },
  "method": "thing.config.push"
}

Sample response in the Alink JSON format:

{
  "id": "123",
  "code": 200,
  "data": {}
}

The following table describes the parameters.

ParameterTypeDescription
idString

The ID of the message. Valid values: 0 to 4294967295. Each message ID must be unique for the device.

versionStringThe version of the protocol. Valid value: 1.0.
configScopeStringThe configuration scope. IoT Platform supports only product-level configurations. Valid value: product.
getTypeStringThe format in which the configurations are returned. IoT Platform supports the file format. Valid value: file.
configIdStringThe ID of the configuration file.
configSizeLongThe size of the configuration file, in bytes.
signStringThe signature.
signMethodStringThe signing method. IoT Platform supports only SHA-256.
urlStringThe URL of the configuration file that is stored in OSS.
methodStringThe request method. Valid value: thing.config.push.
codeIntegerThe HTTP status code in the response. For more information, see Common codes on devices.

You can use the rules engine of IoT Platform to forward responses from a device to other topics or other Alibaba Cloud services. For more information about how to use the data forwarding feature, see Configure data forwarding rules. For more information about the device response topic and data formats, see the "Submit responses to downstream requests" section of the Data formats topic.