Updated on 2022-02-24 GMT+08:00

Querying Subscription in Batches

Typical Scenario

An NA can subscribe to different types of device change notifications on the IoT platform. The NA can call this API to query all subscription configurations of the current application or of a specified subscription type.

API Function

This API is used to query all subscription information of the current application or of a specified subscription type.

API Description

1
public function queryBatchSubscriptions($qbsInDTO, $accessToken)

Parameter Description

Parameter

Mandatory or Optional

Location

Description

$qbsInDTO

Mandatory

query

For details, see QueryBatchSubInDTO structure.

$accessToken

Mandatory

header

This parameter is set to the value of the access token obtained by calling the Authentication API.

QueryBatchSubInDTO

Parameter

Mandatory or Optional

Location

Description

$appId

Optional

query

Identifies the application of the entity that subscribes to a device or rule.

$notifyType

Optional

query

Indicates the notification type based on which an NA can process messages.

  • bindDevice: device binding
  • deviceAdded: device addition
  • deviceInfoChanged: device information change
  • deviceDataChanged: device data change
  • deviceDatasChanged: batch device data change
  • deviceDeleted: device deletion
  • messageConfirm: message confirmation
  • commandRsp: command response
  • deviceEvent: device event
  • serviceInfoChanged: service information change
  • deviceModelAdded: device model addition
  • deviceModelDeleted: device model deletion
  • deviceDesiredPropertiesModifyStatusChanged: device shadow modification status change
  • swUpgradeStateChangeNotify: software upgrade status change notification
  • swUpgradeResultNotify: software upgrade result notification
  • fwUpgradeStateChangeNotify: firmware upgrade status change notification
  • fwUpgradeResultNotify: firmware upgrade result notification

$pageNo

Optional

query

Indicates the page number.

  • If the value is null, pagination query is not performed.
  • If the value is an integer greater than or equal to 0, pagination query is performed.
  • If the value is 0, the first page is queried.

$pageSize

Optional

query

Indicates the page size. The value is an integer greater than or equal to 1. The default value is 10.

Response Parameters

QueryBatchSubOutDTO

Parameter

Description

$totalCount

Indicates the total number of records.

$pageNo

Indicates the page number.

$pageSize

Indicates the number of records on each page.

$subscriptions

Indicates the subscription information list. For details, see SubscriptionDTO structure.

SubscriptionDTO structure

Parameter

Description

$subscriptionId

Identifies a subscription.

$notifyType

Indicates the notification type.

$callbackUrl

Indicates the callback URL of the subscription.

Error Codes

HTTP Status Code

Error Code

Error Description

Remarks

400

100224

The resource exceeds 1000, please refinement query conditions.

The number of resources exceeds 1000.

Recommended handling: Narrow down the filter criteria.

403

100217

The application hasn't been authorized.

The application has not been authorized.

Recommended handling: In scenarios where applications are not authorized, ensure that request parameter appId is null.

403

1010009

app throttle exceed.

The NA calls the API at a frequency that exceeds the flow control threshold (100 calls per minute by default).

Recommended handling: Contact IoT platform maintenance personnel to adjust the flow control threshold or control the API call frequency.

403

1010005

App_key or access_token is invalid.

The access token is invalid.

Recommended handling: Check whether accessToken carried in the API request is correct.