This article is for DEVELOPERS and PARTNERS who are integrating Snapplify Engage into an existing solution (e.g. an LMS).
Snapplify is a registered IMS Global partner and supports Learning Tools Interoperability version 1.3 (LTI). Snapplify's Engage Launch API follows the IMS Global Learning Consortium's LTI integration and security framework (1EdTech).
Learning Tools Interoperability is an industry-best, secure method for Snapplify Education partners to integrate with Engage (Snapplify's e-learning platform and education marketplace).
This API enables the following:
A user is registered for Engage and logged in to a specific Engage instance on launch.
A user is launched from Engage into your tool and is registered and logged in
The API supports custom parameters that enable the following:
A user is automatically added to a designated group in Engage.
A user is automatically allocated any content prescribed to the designated group in Engage.
A user is automatically prompted to complete the purchase of any prescribed content they have been allocated.
orA user is provisioned titles that have been prepurchased from a pool of available titles
We currently support LTI 1.0 Launch / LTI 1.3 Deep link for 'External into Snapplify' flow, and OAuth2 / LTI for 'Snapplify to External' flow integration.
To review the documentation associated with the LTI Launch standard, please see the LTI Launch Spec.
Endpoints
Once you’ve set up your API keys in Engage, you can easily implement the launch API using the following endpoint:
Endpoint: The endpoint can be any URL to your Engage instance. After the launch process is completed, the user will be redirected to the endpoint used in the initial launch (e.g. https://myengage.snapplify.com/home/reading).
Method: POST
Content type: application/x-www-form-urlencoded
Parameters
Use these parameters to implement the launch API:
Errors
Errors that occur with any parameter will redirect the user to an access prohibited screen. The most common error we encounter: using the incorrect URL for the 'userinfo' request.
- Correct URL: https://auth.snapplify.com/api/userinfo
- Incorrect URL: https://auth.snapplify.com/userinfo (not the lack of /api')
{"error":"unauthorized","error_description":"Full authentication is required to access this resource"}
Practical considerations
- Groups and prescribed lists must be set up and published in Engage in order to enable auto-assignment to a group and auto-allocation of content via the launch API.
- The use of the custom Snapplify parameter in the launch request “custom_snapplify_group_id” can be used to automatically add a user to a specific group within your Snapplify instance.
If you do use this endpoint, the user will be redirected to the order confirmation screen if there are prescribed assets available for purchase.
Need help? Use the live chat in the bottom right corner of your screen or email us at help@snapplify.com.