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

Deleting Subscriptions in Batches

Typical Scenario

If an NA does not need to receive subscription notification messages pushed by the IoT platform or a specified type of subscription notification messages, the NA can call this API to delete subscription configurations in batches to cancel the subscriptions.

API Function

This API is used to delete all subscriptions, subscriptions of a specified subscription type, or subscriptions of a specified callback URL in batches.

API Prototype

Method

DELETE

URL

https://server:port/iocm/app/sub/v1.2.0/subscriptions?appId={appId}&notifyType={notifyType}&callbackUrl={callbackUrl}&channel={channel}

Transport Protocol

HTTPS

Request Parameters

Parameter

Mandatory or Optional

Type

Location

Description

app_key

Mandatory

String

header

Identifies an application that can be accessed on the IoT platform. The value of this parameter is allocated by the IoT platform when the application is created on the platform.

Authorization

Mandatory

String

header

Indicates the authentication information for accessing the IoT platform. The value is Bearer {accessToken}, in which {accessToken} indicates the access token returned by the Authentication API.

appId

Optional

String(256)

query

Identifies an application that can be accessed on the IoT platform. The value of this parameter is allocated by the IoT platform when the application is created on the platform. Set this parameter to the value of appId of the authorized application.

notifyType

Optional

String(256)

query

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

  • deviceAdded: device addition; sending such a notification after subscription
  • bindDevice: device binding; sending such a notification after subscription
  • deviceInfoChanged: device information change; sending such a notification after subscription
  • deviceDataChanged: device data change; sending such a notification after subscription
  • deviceDatasChanged: batch device data change; sending such a notification after subscription
  • deviceCapabilitiesChanged: device service capability change; sending such a notification after subscription
  • deviceCapabilitiesAdded: device service capability added; sending such a notification after subscription
  • deviceCapabilitiesDeleted: device service capability deleted; sending such a notification after subscription
  • deviceDeleted: device deletion; sending such a notification after subscription
  • messageConfirm: message confirmation; sending such a notification after subscription
  • commandRsp: command response; sending such a notification after subscription
  • ruleEvent: rule event; sending such a notification after subscription
  • deviceDesiredPropertiesModifyStatusChanged: device shadow modification status change; sending such a notification after subscription
  • swUpgradeStateChangeNotify: software upgrade status change notification
  • swUpgradeResultNotify: software upgrade result notification
  • fwUpgradeStateChangeNotify: firmware upgrade status change notification
  • fwUpgradeResultNotify: firmware upgrade result notification

callbackUrl

Optional

String(256)

query

Indicates the callback URL of the subscription.

channel

Optional

String(32)

query

Indicates the transmission channel.

  • If this parameter is left unspecified, the IoT platform deletes subscriptions with channel set to HTTP.
  • If this parameter is set to MQTTS, the IoT platform deletes only subscriptions with channel set to MQTTS.
  • If this parameter is set to HTTP, the IoT platform deletes only subscriptions with channel set to HTTP.
  • If this parameter is set to other values, subscriptions are not deleted.

Response Parameters

Status Code: 204 No Content

Request Example

Method: DELETE
request: https://server:port/iocm/app/sub/v1.2.0/subscriptions?appId={appId}&notifyType={notifyType}&callbackUrl={callbackUrl}&channel={channel}
Header:
app_key: ******
Authorization: Bearer *****
Content-Type: application/json

Response Example

Response:
Status Code: 204 No Content

Error Codes

HTTP Status Code

Error Code

Error Description

Remarks

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.

404

100225

The resource is not found

The resource does not exist.

Recommended handling: Check whether notifyType is correct.