Create Key
This method allows you to create a new license key. The license can either be standalone or associated to a specific customer. It is also possible to add a new customer and associate it with the newly created license using NewCustomer parameter. If you would like to avoid duplicates based on the email, you can use the AddOrUseExistingCustomer parameter.
This method is accessed by https://api.cryptolens.io/api/key/CreateKey
Parameters
Parameter | Description | Remarks |
ProductId | the product id | required |
Period | The number of days, from today, the license key should be valid. Note, you will still be able to activate keys that have "expired". You can enforce the expiration date in the client program. Please see Keys that don't expire tutorial. | optional, 0 by default. |
F1 | The feature 1 (either true or false) | optional. by default, it's "false" |
F2 | The feature 2 (either true or false) | optional. by default, it's "false" |
F3 | The feature 3 (either true or false) | optional. by default, it's "false" |
F4 | The feature 4 (either true or false) | optional. by default, it's "false" |
F5 | The feature 5 (either true or false) | optional. by default, it's "false" |
F6 | The feature 6 (either true or false) | optional. by default, it's "false" |
F7 | The feature 7 (either true or false) | optional. by default, it's "false" |
F8 | The feature 8 (either true or false) | optional. by default, it's "false" |
Notes | Additional notes about the license key. Max. 500 chars. | optional. by default, it's empty. |
Block | Blocks the key from being accessed by the Activation method. | optional. by default, it's "false" |
CustomerId | The id of the customer that should be associated with this license key. | optional. by default, it's null. |
NewCustomer | If set to true, you will be able to add the paramters that apply to Add Customer method to this method so that a customer is automatically created together with the license key. When setting this parameter to true, please ensure that CustomerId is not set to anything.Note: In addition to CreateKey permission, you also need to add 'AddCustomer' permission. | optional. false by default. |
AddOrUseExistingCustomer | If set to true, this method will either associate the license with a new customer (if no customer with the specified email exists) or with an existing one (the customer whose email is the same as the 'Email' parameter of this method). Note: In addition to CreateKey permission, you also need to add 'AddCustomer' permission. The same idea applies as for the option 'NewCustomer', i.e. this method can be called with the same parameters as Add Customer method. If a customer already exists, the license will be associated with an existing customer whose email address equals to 'Email' parameter. Properties of an existing customer will not be updated. | optional. false by default. |
TrialActivation | Enables or disables Trial activation | optional. by default, it's "false" |
MaxNoOfMachines | In order to restrict the number of computers that can use the same key, you can set enable this feature by enter a number greater than zero. This number represents the maximum number of computers that can activate the key. | optional. by default, it's "0" |
AllowedMachines | A list (separated by new lines) of machine codes that will be prioritized during key activation. | optional. by default, it's null. |
ResellerId | The id of the reseller that should be associated with this license key. | optional. by default, it's 0. |
NoOfKeys | The number of keys to generate. | optional. 1 by default. |
v | Method version. | optional. by default, it's 1. |
Results
Case 1: If NoOfKeys is not specified or set to 1, the followig model will be returned. Note, if format=plaintext, only the key string is returned (read more about different media types here).
Parameter | Description | Remarks |
Key | The newly generated key | returned if no error occurred. |
CustomerId | The customer id of the customer that was associated with the license key. | returned if NewCustomer or AddOrUseExistingCustomer are set to true. |
Result | This is either 0(=success) or 1(=error). | always returned |
Message | The message that provides additional information about the result. If it's a successful result, either null or the new key (if using SKGL) will be returned. Otherwise, in case of an error, a short message will be returned describing the error. | always returned. |
Case 2: If NoOfKeys is greater than 1, the followig model will be returned. Note, if format=plaintext, each license key string will be returned separated by new line (read more about different media types here).
Parameter | Description | Remarks |
Keys | A list of license keys that uses the same format as in Case 1. | returned if no error occurred. |
CustomerId | The customer id of the customer that was associated with the license key. | returned if NewCustomer or AddOrUseExistingCustomer are set to true. |
Result | This is either 0(=success) or 1(=error). | always returned |
Message | The message that provides additional information about the result. If it's a successful result, either null or the new key (if using SKGL) will be returned. Otherwise, in case of an error, a short message will be returned describing the error. | always returned. |
Example results
{"key":"ABCDE-ABCDE-ABCDE-ABCDE","result":0,"message":""}
{"keys":[{"key":"ABCDE-ABCDE-ABCDE-ABCDE","result":0,"message":null},{"key":"ABCDE-ABCDE-ABCDE-ABCDE","result":0,"message":null}],"result":0,"message":null}
Remarks
- This method will only generate at most 1K keys at a time, even if NoOfKeys is set to a higher value.
Errors
Error |
Access denied. |
The input parameters were incorrect. |
The notes field cannot be more than 500 characters. |
Could not find the product. |
Could not find the customer. |
Creation of a license with x day(s) is not possible in SKGL. The limit is 999 days. |
Generating more than 99,999 keys is not possible in SKGL. |
Access denied. Please add 'AddCustomer' permission. |