Table Of Contents

What’s New

Since the previous release, there have been updates to both the platform SDK and its documentation.


Extended Order Management

To enable more subscription and order management operations for providers and their partners, the order management API has been improved with the following features:

  • The price and cost estimation operations now support not only sales orders, but also renewal, change, and cancellation orders. This enables resellers to estimate the price and cost of various operations on subscriptions before starting those operations.

  • The change order creation operation enables a REST request which allows both subscription switching and resource limit changing operations to happen.

  • Change order REST requests now support a new property called amount to specify a new limit on a resource. This property must be used instead of the deprecated amountChange property. It unifies the API for sales orders and change orders.

  • Cancel order REST requests now support a new property called refundType to specify whether funds must be returned to the customer’s balance in the platform (using a credit memo) or directly to the customer’s credit card (using a refund).

  • An external system can request the platform to provide a list of possible reason codes, for all operations or for a specific one. When creating a cancellation order, an external system can specify a reason for it.

  • As of this platform version, the platform exposes API to push one type of order in the specified flow direction: the transition of a cancellation order from New to Open status. A new method called push enables an external system to start the processing of a new cancellation order instead of waiting for a manual action in the user panel.

BSS Subscription Management

The new APS type BSSSubscription exposes many business properties (subscription period, various billing dates, billing terms, and so on) of subscriptions and operations (price management, status management, and so on) on them that were previously unavailable on the APS bus. This APS type extends the PASubscription APS type and takes over the business operations.

Extended BSS Resource Management

To inform external management systems about resource dependencies, the BSSResource APS type has been extended with the new dependsOn array containing a list of dependencies for a particular BSS resource. If resource A depends on resource B, the dependency specifies the APS ID of resource B, the kind of dependency, and, optionally, the amount of resource B.

Improvements to Security in the Application Provisioning Logic

When an APS application needs access to a resource of another APS application, it impersonates an account with the required permission for that resource in its request. In most impersonation cases (about 60%), applications send requests for contact and other data of the resellers located above a certain account in the account hierarchy. For this particular case, the PAAccount APS type has been improved with a new custom operation called hierarchy that returns a list of sales vendors with necessary data in the hierarchical order starting with the provider and ending with the account specified in the request.

This custom operation enables application developers to avoid impersonation in new integration projects and revise the existing APS applications to exclude excessive permissions from the provisioning logic. This way, the developers remove many of the potential security threats caused by excessive permissions.

Declarative Registration of Custom Privileges

APS applications can register custom privileges in the platform by declaring them in the metadata. For this purpose, the updated API enables the applications to add the <privileges> section to the APP-META.xml file and declare all new custom privileges in this section as illustrated in Privileges.

Protection of Navigation Elements in UX1

In the declaration of any navigation element in a UI navigation tree for UX1, APS applications can require users to be granted a particular privilege to have access to this element. This way, an application protects mission-critical views or navigation branches as described in Navigation Element Access Management.

SDK Documentation

Using Platform Service Procedures

  • The Manage Orders procedure guide demonstrates the use of the new and updated operations, such as new termsConditions (to get terms and conditions of service plans), new reasonCodes (to get the reason codes that can be used in order management operations), and updated orderInfo (to get a list of orders or order details).

  • The Manage Subscriptions procedure guide now uses the BSSSubscription APS type instead of PASubscription when managing business-related properties. The latter is now used to process the operations support requests, while the former is used to process the business support requests.

  • The set of procedure guides Partner Integration Scenarios has been renamed and substantially renewed to show how to use the updated order management and the new subscription management API. To assist partners in preparing to use the platform management API better, the Checklist section has been added.

Integrating Cloud Services

  • The new Real Services Integration Example demo project walks you through the steps of integrating a real cloud application (GitHub) with the platform using a simplified sales scenario and sales model. Following this demo, you will:

    • Estimate the integration perspectives of your public GitHub repository

    • Design the sales model and resource model

    • Develop the integration package

    • Test the integration package on your platform

    The further Using Sales Channels steps of the demo project help you extend the sales model of your product by adding the reseller profile to the package and performing other related updates. The subsequent deployment and provisioning steps illustrate the reseller specific configuration, resale process, and service provisioning.

  • The new Vendor Rated Data demo project illustrates the use of the conceptually new sales model, in which the fees for services are defined by the application providing those services rather than by service plans.

APS JavaScript SDK

In the APS JavaScript SDK reference guide, a new document listing JavaScript polyfills has been added.