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
QueryBatchSubOutDTO queryBatchSubscriptions(QueryBatchSubInDTO qbsInDTO, String accessToken) throws NorthApiException

Parameter Description

Parameter

Mandatory or Optional

Type

Location

Description

qbsInDTO

Mandatory

QueryBatchSubInDTO structure

query

For details, see QueryBatchSubInDTO structure.

accessToken

Mandatory

String

header

If the Periodically Refreshing a Token API is called, set this parameter to null. Otherwise, set this parameter to the accessToken obtained by the Authentication API.

QueryBatchSubInDTO structure

Parameter

Mandatory or Optional

Type

Location

Description

appId

Optional

String(256)

query

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

notifyType

Optional

String(256)

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

Integer

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

Integer

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

Type

Description

totalCount

long

Indicates the total number of records.

pageNo

long

Indicates the page number.

pageSize

long

Indicates the number of records on each page.

subscriptions

List<SubscriptionDTO>

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

SubscriptionDTO structure

Parameter

Type

Description

subscriptionId

String

Identifies a subscription.

notifyType

String

Indicates the notification type.

callbackUrl

String

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.