License Management Web Services Overview
The License Management web services support programmatic:
- License Management – to automate the creation of products and SKUs/editions (such as Medical Image Silver, Gold, or Platinum SKUs), as well as the creation and activation of licenses.
- Renewal Management - to automate the management of subscription license renewals, allowing renewals to be managed from third party systems such as CRM/ERP etc.
- License Queries - to query license and activation data in the Software Potential account.
See the online API documentation for more details of the License Management web service methods.
You can use the the License Management web services to automate various license management processes including:
- Issue licenses
- Reissue licenses
- Deactivate licenses
- Enable & disable licenses
To issue a license programmatically use the
CreateLicense method to create a new license and retrieve the associated license/activation key for distribution to the customer.
Licenses can be created from predefined SKUs/templates by first retrieving the
SKU.LicenseInfo object and then calling the
CreateLicense method. The default license parameters in the SKU can be modified before calling CreateLicense e.g. to set an expiry date. this approach is best suited to situations where licenses are issued from templates, where only some small number of default properties need to be adjusted.
Alternatively, custom license can be created from scratch without any reference to preexisting SKUs/templates. To do this you will need to create a
LicenseInfo object, setting the license properties as appropriate. This needs a deep understanding of the property settings required for different license models e.g. subscription licenses. It is recommended that licenses be issued from SKUs where possible as the SKU will have set the correct default licenses properties for you.
IssueLicenseByTemplate method. With this method there is no ability to modify any of the license properties specified in the template, severely limiting the usefulness of this approach in all but the simplest of online sales scenarios. For example this method would be appropriate when issuing a trial license of fixed duration e.g. 30 Day Trial.
Disable License & Manage License Activations
Disabling a license prevents the license from being activated on devices. Use the
UpdateLicense method to enable or disable licenses. You can also update the number of allowed activations of a license using the UpdateLicense method. Disabling/enabling a license or increasing the license's maximum allowed activations does not affect the actual license file installed on an end user's machine and so does not require the license to be reissued.
To enable or disable a license, first retrieve the license definition using either the license Activation Key or unique
LicenseId, set or unset the
LicenseInfo.Enabled property and then call
UpdateLicense. To set the max activations allowed on a license, set the value on
LicenseInfor.ActivationLimit property and then call
If it is necessary to modify the properties of the license proper (e.g. to add or remove a feature or limitation, extend an expired license), the license must be re-issued.
To reissue a license, use the UpdateLicense method with the
andReissue parameter set to true. You must first retrieve the license definition using either the license Activation Key or unique
LicenseId, and then update
LicenseInfo properties as appropriate.
For a reissued license to take effect on an end-user machine, the license must be reactivated on that machine i.e. the end user must reactivate the license by using the original Activation Key.
Deactivating a license on a device allows the license to be activated on another device without the need to increase the Maximum Reactivations limit set on the license.
To deactivate a given license on a specific device, use the
DeactivateLicenseMethod with the unique license identifier and the device identifier. Please see Deactivate License Using Web Service API for more details.
You can use the web service API to manage the renewals of subscription licenses including:
- Disable/enable renewals of auto-renewable subscription licenses
- Set a date beyond which non auto-renewable subscription licenses cannot be renewed.
If a subscription license is auto-renewable (i.e. has the Autorenew flag set) you can control renewals of this license by toggling the Autorenew flag.
To disable renewals of an auto-renewable license call the
DisableAutorenewal method with the unique license identifier. To re-enable renewals use the
If a subscription license is not auto-renewable, the license property
RenewalsAuthorizedUntil date is set. This is the date after which a subscription license is NOT renewable.
To authorize renewals of a subscription license for one or more future periods (i.e., increment the licence's existing
RenewalsAuthorizedUntil date) call
AuthorizeRenewal() with the unique identifier of the license and the number of periods required.
Set "Renewals Authorized Until" date
You can explicitly set the date after which a subscription license is NOT renewable i.e. the
RenewalsAuthorisedUntil date. To set this date for a license call calling
SetSubscriptionRenewUntil() with the unique license identifier and the desired DateTime.