This article applies to Classic Commerce. (Looking for Contextual Commerce documentation?)
Setting up a remote license script is a somewhat complicated, but often used method for creating license codes. Using this license type will typically cause the order process to send an HTTP POST, with or without customer data, to a remote URL or webservice on your server. The remote server response (the license string that you would like given to the customer) will be captured and stored as a license for the order and will be based on basic information sent, such as license holder name and quantity. Remote Fulfillment Actions require a URL setup on a remote server to intercept requests from our system.
Go to SpringBoard's Store Home » Products and Pages. Select the product to which you want to add the Remote Fulfillment Action. Click Add next to Fulfillment Actions. Click on the Generate a License radio box, select Remote Server Request, and click Next.
In the field under URL, enter in the Remote URL our system will access to generate a license. The URL must begin with
Select the HTTP method that will be used to access the remote URL your provided.
- HTTP POST: This is the recommended method. The data will be passed in the body of the request.
- HTTP GET: Only use this method if your architecture requires it to be so. HTTP GET request method is designed to retrieve information from the server. The data will be passed within the URI's query string.
Select the POST Encoding, which is the character encoding to use for the HTTP Post. Note: This is not applicable to HTTP Get.
- UTF8: This encoding can represent every character in the Unicode character set. This is the recommended setting. This is not available if you choose HTTP GET as your method.
- ISO-8859-1: This encoding can only represent Latin characters.
Select the Output Format, which is the type of license format our system should expect from your remote server, and click Create.
- Single-Line License (Quantity Based): Supports single-line licenses, where one license is used per quantity or unit ordered. Multiple single-line licenses may be separated by a line feed character (or a carriage return + line feed character).
- Multi-Line License (Quantity Based): Supports single-line licenses and multiple-line licenses, where one license if used per quantity of unit ordered. Multiple licenses may be separated by an empty line. The empty line separator should contain only a line feed character (or a carriage return + line feed character).
- Single License Only: This license may contain any type of character and span multiple lines.
- MIME 1.0 (multipart/mixed): This output format supports binary data as a multipart/mixed MIME 1.0 file. The data is then downloadable via a URL. For additional information, read about the MIME 1.0 Output Format.
License generation is designed to be simple, fast, and repeatable. It should not have a side effect such as storing information in a remote database. For these reasons only a limited set of parameters are passed to the remote server. To receive full order information for the purpose of storing information in a remote database, we support highly customizable post-order notification functionality. Post-order notifications may include all order information, including all licenses generated for the order.
Click on the Parameters tab.
Select the Value for the parameter "name", which will determine what type of information we pass to your script for this parameter. If desired, you can rename this parameter, as well as the parameters "quantity" and "reference", but you cannot rename the other parameters listed below these.
- Not Name Based: The customer's name will not be passed to your script.
- Customizable Name: Customers will be given the opportunity to customize their license holder name, as shown to the right in the order process. If they enter in a Company Name, it will pre-select the Company Name as the license holder name; if they do not enter a Company Name, it will pre-select their full name as the license holder name. Either way, they will be given the opportunity to enter in their own license holder name.
- Email Address: While email is already a parameter that will be automatically passed to your script, you can also select Email Address as the Value if you need it paired with a parameter name that is not "email."
- Person Name: The customer's full name will be passed to your script.
While the default parameters are named name, quantity, and reference, you can change them. Additional or custom parameter name / value pairs can also be passed. The optional parameters must be static strings / values and cannot be used to add additional dynamic information, nor be fed by our variables.
You will need to tell the person who sets up the Remote License Fulfillment Action in SpringBoard what you need the parameter name / value pairs to be.
When you are finished setting up your HTTP parameters, click Save.
Adding Authentication (optional)
Optionally, the Remote License process can be protected by BASIC and DIGEST authentication. To enable this authentication, click on the Security tab and scroll down to Authentication. If a username and password are provided, then the system will use either DIGEST or BASIC authentication to connect to the remote server. DIGEST is recommended for added security. Username and password authentication, including the method DIGEST or BASIC, must be configured on the remote server.
We're Here to Help
If you need assistance setting up a remote license script, please open a support ticket.