Collapse Menu
Classic Docs
Order Page Config, Design and Page Flow
Advanced Features
Subscriptions and Saasy
Contact Support

Set Up a Remote License Script

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. 

Initial Setup

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.

452.png511.png

In the field under URL, enter in the Remote URL our system will access to generate a license. The URL must begin with http:// or https://.512.png

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.

Adding Parameters

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.

456.png

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.457.png
  • 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.
 

Example Template

The following email template assumes that a license fulfillment action has been configured for the product.

Subject

Your #{orderItem.display} License - Order #{order.id}

Content

Dear #{order.customer.fullName},

Thank you for your order.  Your license information is:

License Name: #{orderItem.fulfillment.license.licenseName}
License: #{orderItem.fulfillment.license.licenses.list}

    Removing License Keys from a Fulfillment

    For various reasons, you may wish to remove license keys from your License Fulfillment. The only way to accomplish this is to disable the License Fulfillment that has license keys you wish to remove and to create a new License Fulfillment with only the correct license keys from the original list. Go to SpringBoard's Store Home » Products and Pages. Select your product that needs license keys removed. Click to Edit your License Fulfillment. Download your Single-Lined or Multi-Lined licenses as a .txt file. Click Save to go back to your product details.

    392.png393.png

    Click to Add a new Fulfillment Action. Select Generate a License. Select Pre-defined List and click Next. Choose the same License Format and License Quantity Behavior as the License Fulfillment you already have on the product. Copy and paste your license data from the .txt file you downloaded and into the Enter Licenses area. Remove any license keys you no longer need. Click Create. Next, click to Disable your original License Fulfillment.

    770.png771.png