Product ID is an ID or SKU of the purchased product. The ISV endpoint should be aware of this ID/SKU in order to distinguish between various products (if multiple products are offered).

Examples:

  • Bronze
  • Silver
  • Gold

Upgrade Model

If there are multiple products offered using the same ISV endpoint, then it’s necessary to define which products can be upgraded and the corresponding upgrade path.

Examples:

  • Bronze -> Silver
  • Bronze -> Gold
  • Silver -> Gold

Please note that it’s not permitted to have circular dependencies in the upgrade path. The only permitted direction of upgrades is upward (from the “lowest” option to the “highest” one). Examples of circular dependencies:

  • Bronze -> Silver, Silver -> Bronze
  • Bronze -> Silver, Silver -> Gold, Gold -> Bronze

Note: Upgrading a license key from one product to another product in KA will initiate the License Creation/Renewal/Upgrade Request call (the UPGRADE action) with the ID of the new product passed in the PRODUCT_ID parameter.

NFR (Not For Resale) Product IDs

Each license key in KA can be marked as NFR (Not For Resale). This means that such license key is not intended for production use and might be used for testing or development purposes. Also, such license key is not a subject for invoicing and billing, and, therefore, should not be counted in Plesk and ISV mutual settlements.

Only few members of Plesk staff can mark licenses as NFR in KA. So there is no fear that this can be used in uncontrolled way or in large quantity. However, this is still a standard facility that should be supported by the ISV endpoint just to make sure that ISV has an ability to track NFR licenses on their side independently from Plesk.

KA signals about NFR license by adding “NFR-” prefix to Product ID. Examples:

  • NFR-Bronze
  • NFR-Silver
  • NFR-Gold

Please note, that the ISV endpoint should not only support straight product IDs, their NFR counterparts, and upgrades within each of these two groups; it also should support upgrades between these groups. Examples:

  • Bronze -> NFR-Bronze
  • Bronze -> NFR-Silver
  • Bronze -> NFR-Gold
  • Silver -> NFR-Silver
  • Silver -> NFR-Gold
  • Gold -> NFR-Gold