Since the previous release, there have been updates to both the platform SDK and its documentation.
In this document:
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.
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.
To inform external management systems about resource dependencies,
the BSSResource APS type has been extended with the new
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.
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
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.
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.
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
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.
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.