Updated on 2023-10-18 GMT+08:00

Gateway Reporting Child Device Properties

Function

This API is used to report device data in batches to IoTDA. A gateway can use this API to report the property data of a maximum of 50 child devices at the same time.

URI

Request Method

POST

URI

/v5/devices/{device_id}/sys/gateway/sub-devices/properties/report

Transport Protocol

HTTPS

Request Parameters

Parameter

Mandatory

Type

Location

Description

access_token

Yes

String

Header

Access token returned after the device authentication API is called.

Value length: 1–256 characters

device_id

Yes

String

Path

Device ID, which uniquely identifies a device. The value of this parameter is specified during device registration or allocated by IoTDA. If the value is allocated by the platform, the value is in the format of [product_id]_[node_id].

The value is a string of no more than 128 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.

Value length: 1–128 characters

devices

Yes

List<DeviceProperty>

Body

Device data list.

Value length: a maximum of 50 characters

Table 1 DeviceProperty

Parameter

Mandatory

Type

Description

device_id

Yes

String

ID of the child device, which is unique and is allocated by IoTDA during device registration.

The value is a string of no more than 128 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.

services

Yes

List<ServiceProperty>

Device service data list.

Table 2 ServiceProperty

Parameter

Mandatory

Type

Description

service_id

Yes

String

Service ID of the device.

properties

Yes

Object

Service properties, which are defined in the product model of the device.

event_time

No

String

UTC time when the device collects data. The value is in the format of yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. If this parameter is not carried in the reported data or is in an incorrect format, the time when IoTDA receives the data is used.

Example Request

POST https://{endpoint}/v5/devices/{device_id}/sys/gateway/sub-devices/properties/report
Content-Type: application/json
access_token: d144a524-1997-4b99-94bf-f27128da8a34

{
  "devices" : [ {
    "device_id" : "deviceId_0001",
    "services" : [ {
      "service_id" : "serviceId",
      "properties" : {
        "Height" : 124,
        "Speed" : 23.24
      },
      "event_time" : "2021-08-13T10:10:10.555Z"
    } ]
  }, {
    "device_id" : "deviceId_0002",
    "services" : [ {
      "service_id" : "serviceId",
      "properties" : {
        "Height" : 124,
        "Speed" : 23.24
      },
      "event_time" : "2021-08-13T10:10:10.555Z"
    } ]
  } ]
}

Example Response

If the status code is 200, reporting is successful.

Error Code

HTTP Status Code

HTTP Status Code Description

Error Code

Error Message

Error Description

400

Bad Request

IOTDA.000006

Invalid input data.

Invalid request parameters.

IOTDA.021104

Subdevices in the request does not exist or does not belong to the gateway.

Some child devices in the request do not exist or do not belong to the gateway.

403

Forbidden

IOTDA.000004

Invalid access token.

Invalid token.

IOTDA.021101

Request reached the maximum rate limit.

The request frequency has reached the upper limit.

IOTDA.021102

The request rate has reached the upper limit of the tenant, limit %s.

The request frequency has reached the upper limit of the tenant.

IOTDA.021103

The request batch properties number has reached the upper limit, limit %s.

The number of child devices in the request reaches the upper limit.

IOTDA.021105

The content reported in a single request cannot exceed 1 MB.

The content reported in a single request cannot exceed 1 MB.