The Registration API is a way for our clients to "push" information about orders made on their website/AMS into Elevate.
To make this work, the following are required:
- Every product for sale on Elevate must have a corresponding product on the AMS site, and client must be able to find out a "Remote Product ID" (the ID of the product in the AMS) so that they can enter that in on their Elevate product setup page.
- Every product for sale on Elevate must have a "Remote Product Registration URL". This is the URL in the AMS where the user should be sent if they want to buy this product. The Elevate product page's Registration button will link to that page. Ideally, this URL will put the product in the "cart" in the AMS estore, rather than make them click another button to add it to the cart.
- The AMS programmers must modify their shopping cart / registration system so that whenever an order is completed that contains a product that is on Elevate, their system makes a call to our Registration API, posting a set of information in JSON format, which tells Elevate the following:
- The User's information: first name, last name, email, and unique user ID
- The Remote Product ID of the product they bought.
- The Elevate site must be set up with SSO, so that we validate the user via their system, and can identify them by their Unique User ID when they arrive at Elevate, and so that orders sent with the Registration API, which uses the same Unique User ID, will belong to the correct person.
How it works (short version)
When the client's system calls our Registration API, Elevate tries to match up the user information with any existing user (using the Unique User ID that is also part of the SSO integration), and Elevate either updates the user's local record or creates a new local user record, then registers that local user for the product. The user can then comes to the product page, and must log in (or may be automatically logged in with SSO), and can access the content. An optional field in the API call will tell Elevate to send a confirmation email, which will contain a link to the product page. Alternately, the API response for a successful call will include the Product URL so that the AMS can send a confirmation email, and/or provide a link to the Elevate product page on the AMS site.
Our Registration API
Our Registration API provides a method for you to take registrations on your AMS and have the registration records be pushed to Elevate LMS in real time. To achieve this, your AMS needs to be able to program custom actions that will occur when users register so that the related information can be sent to Elevate LMS.
How Does the API Work?
When your system calls Elevate LMS' Registration API, Elevate LMS will look to match up the user information with an existing user (using the Unique User ID that is also part of the SSO integration), and then Elevate LMS will either updates the user's local record or creates a new local user record. Then, it will register that local user for the product.
Before we discuss the next steps, let's first explore which route you want to take.
ROUTE 1
User browses on Elevate LMS and purchases on AMS store.
ROUTE 2
User browses and purchases on AMS store and after, then brought to Elevate LMS for engagement.
Registration API: Route 1
When User browses on Elevate LMS (Fig. 1)

Fig. 1 - Route 1 Flowchart.
Things to consider in this approach:
- All products for sale on Elevate LMS will also have to be created and set up on the AMS store.
- All products for sale will have to be connected between Elevate LMS and the AMS store.
- The user will bounce between the LMS and the AMS store and back to the LMS for engagement.
Registration API: Route 2
When User browses on your AMS (Fig. 2)

Fig. 2 - Route 2 Flowchart.
Things to consider with this approach:
- All products for sale on Elevate LMS will also have to be created and set up on the AMS store.
- All products for sale will have to be connected between Elevate LMS and the AMS store.
- The user will begin on AMS store but engage in the activity on the LMS.
- All Elevate LMS features such as the catalog page, tagging of content, site layout widgets, etc. will be unusable as you are using AMS store to do these functions.
Programming Details
Your AMS will POST some JSON data, as the body of an HTTPS POST, to the API URL, as described below, for each product registered.
Example JSON Data
{
"api_key":"API_KEY_HERE",
"remote_user_id":"UNIQUE_USER_ID",
"firstname":"USER_FIRST_NAME",
"lastname":"USER_LAST_NAME",
"email":"USER@DOMAIN.COM",
"remote_product_id":"REMOTE_PRODUCT_ID",
"amount_paid":"0",
"send_email":true
}
Fill in values for firstname, lastname, email, and remote_user_id that match the buyer's user information.
The remote_user_id will be a value that is unique for each user, and it must be the same value used to identify the user in the SSO setup.
The remote_product_id, would be the ID of the product on the AMS, which will also be entered into the Remote Product ID field in the Elevate product as well.
amount_paid will be a numeric value, integer or decimal. If you do not need to store dollar amounts in Elevate reports, you can send "0.00" for everything, as the real accounting would be in your AMS.
Lastly, you can add an optional parameter send_email = true and Elevate will send the buyer a confirmation email with a link to the product.
Impexium requires alternate info to be provided if necessary.
Programming Details – Response
When you POST your JSON data, you will get a JSON response that looks like this:
{
"product_url":"https://demo.elevate.commpartners.com/products/live-test-l5?force_login=1",
"registration_id":583919
}
If it is successful, the response will have two values:
- product_url, which is the URL of the product page in case you wish to make links to the product in the user's account page somewhere.
- registration_id, which is the ID of the registration on this end, which can be used later if you plan to use the Cancellation API.
Tracking Errors
If the call is not successful, Elevate will send a response with “error_messages”, which will detail why the registration could not be completed. An example error is below:
{
"error_messages": {"product":"The requested product could not be found."}
}
Programming Details – PHP Example
This example is in PHP. You will program the same functionality in your own programming language.
<?php
Ini_set('display_errors',1);
Error_reporting(E_ALL);
//set up all retuqest values in array
$request_array – array(
"api_key"=>"API_KEY_HERE",
"remote_user_id" => "123456",
"firstname" => "Testfname",
"lastname" => "Testlname",
"email" => "ttestlname@domain.com",
"remote_product_id" => "ABCD1234",
"amount_paid" => "0"
);
//encode array to JSON text
$json_request = json_encode($request_array);
print("Sending JSON:\n".$json_request."");
//set up POST to Reg API $ch = curl_init('https://CLIENT_ELEVATE_DOMAIN_NAME_HERE/api/registrations');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($json_request))
);
//try to run POST to Reg API, and print results or error. if($eox_api_response = curl_exec($ch)){
print stripslashes($eox_api_response);
} else {
print curl_error($ch);
} //close curl
curl_close($ch);
?>
Programming Details – Cancellation API
When an order is processed via the Registration API, one of the values returned in the response from Elevate is a "Registration ID". This ID identifies the order in Elevate, and this will need to be stored in your system to use the Cancellation API later.
Programming Details:
- The URL is https://CLIENT_ELEVATE_DOMAIN/registrations/cancel
- The API KEY is the same used for registrations.
Your system would post JSON to it with the following values:
{
"api_key": "API_KEY_HERE",
"registration_id": "REGISTRATION_ID_FROM_REG_API_RESPONSE", "cancellations_email": "EMAIL_OF_ADMIN_TO_RECEIVE_NOTICE OF CANCELLATION", "cancellation_explanation":
"EXPLANATION TEXT OF CANCELLATION FOR ADMIN", "notify_cancelled_user": true,
"cancellation_explanation_for_user":"EXPLANATION TEXT OF CANCELLATION FOR USER"
}
If you do not want the user to get an email from Elevate about the cancellation, set notify_cancelled_user to false.
Setting up your products on Elevate LMS for Registration API
While the setup of Registration API happens mainly within your AMS, you need to connect all products that are for sale on your Elevate LMS to their corresponding products on your AMS store. To do this, use the Remote Product ID field to specify the ID of the product from the AMS store. To find the ID of the item on your AMS store, please refer to them for assistance.
If you are using Elevate LMS for browsing and redirecting your Users to the store upon clicking our "Register" button, then you also need to fill in the Remote Registration URL field. This is the URL in the AMS where the user should be sent to for purchasing. Ideally, this URL will put the product in the "cart" of the AMS store, but at the minimum, it should take the user to the corresponding page for that item in the AMS store (Fig. 3).

Fig. 3 - Elevate Product Integrations Tab.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article