License Server
The License Server web service provides several Web methods for interacting with licenses.
For SOLO Server Shared URL, this can be reached at https://secure.softwarekey.com/solo/webservices/licenseserver.asmx
- When using SOLO Server Shared / Custom URL, replace secure with your custom subdomain.
- When using SOLO Server Dedicated URL, replace secure.softwarekey.com with your domain.
- When using SOLO Server Self-Hosted, replace secure.softwarekey.com/solo in the URL with the path to your SOLO Server instance.
Please contact us if you need assistance determining the correct URL.
The licenseserver.asmx page offers the following Web methods:
AddLicenseAndUnregisteredCustomer
Allows adding a new license and an unregistered customer associated with the license.
This method requires passing in a SOLO Server AuthorID/API UserID/API UserPassword, and the user must have Add Single Customer and Add Licenses permissions.
Since this web method requires providing an AuthorID, API UserID, and API User Password as inputs, it should be used for internal applications only and should not be called by client applications distributed to customers. See web service security for details.
If you are currently using regular UserID and UserPassword credentials, you will need to update your application(s) to use an API UserID and API UserPassword instead, as support for the regular User ID and Password will be removed in the future.
Licenses added through this web method on SOLO Server Shared and Dedicated URL accounts which have not been activated will automatically be marked as test licenses, and will automatically be purged at the first of every month.
Input
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
authorID | int | Required | SOLO Server Author ID. |
userID | string | Required | The API User ID of the user from the given author using the service (previously the regular User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future. |
userPassword | string | Required | The API User Password for API User ID (previously the regular User Password for the User ID). The API User ID and Password need to be used, as support for the regular User ID and Password will be removed in the future. |
prodOptionID | int | Required | The Product Option ID for which the license is to be created. |
distributorID | int | Optional | The Distributor ID to which the license is to be associated. Pass in 0 (zero) if a distributor has not been specified or is otherwise unavailable. |
unitPrice | double | Required | The unit price of the specified Product Option ID. |
licenseNotes | string | Optional | Any notes to be associated with the new license. Pass in an empty string if notes have not been specified or are otherwise unavailable. |
Output
The result dataset contains the following parameters:
Parameter | Data Type | Description |
---|---|---|
CustomerID | int | The new Customer ID. |
LicenseID | int | The new License ID. |
Password | string | The randomly generated password for the new Customer. |
AuthorSerialNumNext | int | If applicable, the AuthorSerialNumNext value of the product. |
AuthorSerialNumType | string | If applicable, the type of serial number. |
SerialNumber | string | If applicable, the serial number of the license. |
ActivationPassword | string | The randomly generated activation password for the new license. |
RegisterLicense
Allows registering an unregistered license with customer data.
The optional fields listed below are considered optional in the SOLO Server database. Specifying a blank value will result in the respective field being updated with an empty value in the database.
Input
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
licenseID | int | Required | The License ID. |
password | string | Required | The customer password or license activation password. |
company | string | Optional | The customer's company name. |
firstName | string | Optional | The customer's first name. |
lastName | string | Optional | The customer's last name. |
address1 | string | Optional | The customer's street address (or line 1 of the customer's address). |
address2 | string | Optional | The customer's second address line (i.e. apartment or suite number). Pass in an empty string if a second address line has not been specified or is otherwise unavailable. |
city | string | Optional | The city of the customer's address. |
stateProvince | string | Optional | The state/province of the customer's address. For US or Canadian addresses, this should be validated to be a valid state/province code. See State Codes and Country Strings as well as Client Validation Script for details on validation. |
postalcode | string | Optional | The customer's zip/postal code. For US or Canadian addresses, this should be validated to be a valid postal code. See State Codes and Country Strings as well as Client Validation Script for details on validation. |
country | string | Optional | The country of the customer's address. This should be a valid SOLO Server country string. See State Codes and Country Strings as well as Client Validation Script for details on validation. |
phone | string | Optional | The customer's phone number. Pass in an empty string if a phone number has not been specified or is otherwise unavailable. |
fax | string | Optional | The customer's fax number. Pass in an empty string if a fax number has not been specified or is otherwise unavailable. |
string | Optional | The customer's email address. | |
notes | string | Optional | Any notes to be added to the customer record upon registration. Pass in an empty string if no notes have been specified. |
newPassword | string | Optional | A new password for the customer. Note that this will only be updated if the customer password is used for authentication. |
Output
The result dataset contains the following parameters:
Parameter | Data Type | Description |
---|---|---|
Failure | ||
Error | int | Code for the error. Codes are as follows:
|
Message | string | Description of the error. See Error above. |
Success | ||
CustomerID | int | The CustomerID. Note that this can change from the original CustomerID associated with the license if the entered customer data causes a merge to occur. |
UpdateLicenseRegistration
Allows updating the registration information on a license.
The optional fields listed below are considered optional in the SOLO Server database. Specifying a blank value will result in the respective field being updated with an empty value in the database.
Input
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
licenseID | int | Required | The License ID. |
password | string | Required | The customer password or license activation password. |
company | string | Optional | The customer's company name. |
firstName | string | Optional | The customer's first name. |
lastName | string | Optional | The customer's last name. |
address1 | string | Optional | The customer's street address (or line 1 of the customer's address). |
address2 | string | Optional | The customer's second address line (i.e. apartment or suite number). Pass in an empty string if a second address line has not been specified or is otherwise unavailable. |
city | string | Optional | The city of the customer's address. |
stateProvince | string | Optional | The state/province of the customer's address. For US and Canadian addresses, this should be validated to be a valid state/province code. See State Codes and Country Strings as well as Client Validation Script for details on validation. |
postalCode | string | Optional | The customer's zip/postal code. For US and Canadian addresses, this should be validated to be a valid postal code. See State Codes and Country Strings as well as Client Validation Script for details on validation. |
country | string | Optional | The country of the customer's address. This should be a valid SOLO Server country string. See State Codes and Country Strings as well as Client Validation Script for details on validation. |
phone | string | Optional | The customer's phone number. Pass in an empty string if a phone number has not been specified or is otherwise unavailable. |
fax | string | Optional | The customer's fax number. Pass in an empty string if a fax number has not been specified or is otherwise unavailable. |
string | Optional | The customer's e-mail address. | |
notes | string | Optional | Any notes to be added to the customer record upon registration. Pass in an empty string if no notes have been specified. |
newPassword | string | Optional | A new password for the customer. Note that this will only be updated if the customer password is used for authentication. |
Output
The result dataset contains the following parameters:
Parameter | Data Type | Description |
---|---|---|
Failure | ||
Error | int | Code for the error. Codes are as follows:
|
Message | string | Description of the error. See Error above. |
Success | ||
CustomerID | int | The CustomerID. Note that this can change from the original CustomerID associated with the license if the entered customer data causes a merge to occur. |
ValidateLicenseRegistration
Validates whether a given license has been registered.
Input
Parameter | Data Type | Required/Optional | Description |
---|---|---|---|
licenseID | int | Required | The License ID. |
password | string | Required | The customer password or license activation password. |
Output
The result dataset contains the following parameters:
Parameter | Data Type | Description |
---|---|---|
Failure | ||
Error | int | Code for the error. Codes are as follows:
|
Message | string | Description of the error. See Error above. |
Success | ||
The license registration data | XML |
|