Suspendable

If an application is able to suspend and resume a service provided for a subscriber, this ability can be integrated with the APS controller in the following way:

  • The APS type of the corresponding resource implements the Suspendable APS type. This exposes the enable and disable methods of the APS application endpoint to the APS controller.

  • The APS application connector must handle the requests for the enable and disable methods correspondingly.

This functionality is useful, when a customer suspends a service, or a subscription is about to expire.

Schema

The Suspendable schema: download

{
    "apsVersion": "2.0",

    "name": "Suspendable",

    "id": "http://aps-standard.org/types/core/suspendable/1.0",

    "operations": {

        "enable": {
            "verb": "PUT",
            "path": "/enable",
            "access": {
                "owner": false,
                "referrer": false,
                "admin": true
            }
        },

        "disable": {
            "verb": "PUT",
            "path": "/disable",
            "access": {
                "owner": false,
                "referrer": false,
                "admin": true
            }
        }
    }
}

Suspendable Methods

Disable

The APS controller calls the disable method on request for service suspension. The resource should terminate the service available to the user (for example, the user’s mailbox should no more be available through POP3/IMAP), but all data related to the resource should be kept.

APS controller changes the status of the APS resource to disabled.

On the interface between the APS controller and an application endpoint the disable operation looks as follows.

Request:

PUT /.../disable

Response:

HTTP/1.0 200 OK

Disabling of an already disabled resource will lead to an error.

Enable

The enable operation returns a suspended resource to its original state.

The status of the APS resource is changing to ready.

On the interface between the APS controller and an application endpoint the enable operation looks as follows.

Request:

PUT /.../enable

Response:

HTTP/1.0 200 OK

Enabling of a ready resource will lead to an error.

Group Suspend

It is up to an application to disable the related resources/operations on disabling of the key resources. I.e. it would be natural when on disabling the mail context, in fact, all mailboxes available within the context will be not available too.

From controller’s point of view, if, for example, a customer is suspended in an integrated product, the disable method will be called for all ready resources of the customer implementing the Suspendable interface.