Example Use Cases
License Web is built to match almost all scenarios of product activation process including trial, subscription based products and one time activation products. Here are some example use cases.
One time activation product
Assume you sell your digital products through your web store which user can download upon purchase. The user will also receive product key to activate his product. You may send product key from your ecommerce web store itself or you may use license web to send product key. This can be managed by setting sendEmail parameter as True or False while using addkeys endpoint.
At your webstore upon the successful purchase call addkeys endpoint to push the key(s) to license web. Product code, Email and Product Key are the mandatory inputs you need to send along with addkeys endpoint to insert key data into license web.
/addkeys/
"productCode": "MyProductCode";
"email": john@contaso.com;
"productKey": "ABCD-EFGH-IJK1-MOP9"
If you are offering trial and this key is for a trial product then use trial info parameters along with addKeys. Set isTrial as True and set your trial duration as minutes. In below I am sending a trial key for 14 days duration.
/addkeys/
"productCode": "MyProductCode";
"email": john@contaso.com;
"productKey": "ABCD-EFGH-IJK1-MOP9"
"isTrial": true
"duration": 20160
Now you have the new key inserted into license web with customer info especially the email which is unique and mandatory.
Handle Activation in your Product by calling activateLicense endpoint.
It is assumed that you already planned for it if not here is how you can handle it. Get input from users upon installation or in a separate page/menu and send it to activateLicense endpoint. You get Product Key and the Email from user where you will need to get Mac ID or Host Id or something unique to populate the UID field. Although UID is optional, it is useful to avoid illegal usage of your product key if you are issuing key to use with one instance/computer.
/activateLicense/
{
"productCode": "yourprodcutcode",
"email": "john@contaso.com",
"productKey": " ABCD-EFGH-IJK1-MOP9",
"uid": "1c1E45ox"
}
Store Activation info in your local database:
It is best you need to store activation info in your local database or someway within the system so you don’t need to call license web each time to verify the genuinity. However you may always call getLicenseStatus endpoint to verify the status if any mismatch or suspect. Example if the UID in license web and current one mismatches then you can blow a licensing error and ask user to fix it.
Provide Deactivation option for users:
Provide Deactivation option using deactivateLicense endpoint. This is useful if user wants to deallocate the license from the current system/instance and use this in a new system/instance.
/deactivateLicense/
{
"productCode": "string",
"email": "string",
"productKey": "string"
}
Handling Trial:
Once the key is activated using activateLicense activateLicense getTrialInfo endpoint. . While calling this endpoint you need to pass ProductCode, Email, ProductKey and UID in query string. UID is optional but if you have used UID during activateLicense then you must pass that too. Otherwise the validation fails and you can’t get trial info.
/getTrialInfo?ProductCode=LCWEB&ProductKey=9KAZ-VKU9-2IJ6-HT20&Email=williams@outlook.com&UID=2K-3G-70-CI-9X-70
{
"isTrial": true,
“duration”: 20160
}
This is the response you will get at getTrialInfo call which you can use to store at your local database for your reference. You may also show a specific message of trial activation or so. The duration is always minutes.
Set Expiry Date back to the License Web: (optional flow)
This is an optional flow generally not needed. But setting up expiry date back from the product is useful as we can refer which date the trial key is activated and how long the user has the trial. This information can be used for our promotional activities but not a mandatory step during trial key activation flow. You can do it using setExpiry Date endpoint.
/setExpiryDate/
{
"productCode": "string",
"email": "string",
"productKey": "string",
"uid": "string",
"expiryDate": “2024-09-12T14:51:00+05:30”
}
Call getLicenseStatus endpoint for intermediate checks.
In some cases you may need to make intermediate checks of the product key. Although you have all info within the system or your product sometimes you may need to check against the portal. In this case you can use getLicenseStatus endpoint which will return one out of four statuses. Entry, Activated, Deactivated or Expiredare the 4 statuses a product key can have. Product Code, Key and Email are mandatory where UID is also mandatory if you are using that for activation.
/getlicensestatus?ProductCode=ADW&Email=john%40contaso.com&ProductKey=FW80-HU3K-3ZM3-9H4G
If one of the parameters mismatch against License Web then you will get an error message as below. “Key not found”
Website Plugin/Theme activation management
If you are building Plugins, themes are extensions that will be used on web sites and you want to provide licenses based on number of websites then you can use the web address as UID and validate against that. The rest of the processes are same where you just need to use website host address for UID so you can validate the key properly.
License Web for Resellers
License Web can be used by product Resellers as well. In case if you want manage the inventory of your products with product key and customer info then License Web suits for you. Although you are not doing any activation process, you can maintain the inventory and manage the status manually.
License Web as a Key Generation utility
License Web can be used as a Key generation utility as it has strong and configurable algorithms that allows you to generate keys of any pattern you prefer. The Bulk Key creation utility helps you generate 1000s of keys at one time.
License Web as Key distribution portal
License Web can be used as a Key creation as well issuance portal. As License Web offers email templates for sending keys or other status messages such as upon activation or deactivation, it can used as your key distribution portal.