In order to create an exam which has an LTI Connection through the API, you’ll need to go through these steps:
1. Create an exam 2. Create a tool provider, which specifies your external platform, linked to your Institute. You can create the tool provider via the API or once, using the web interface, in which case you should fetch the tool_providers with the API in order to know its id. 3. Create an LTI resource with the exam_id of the exam you want to connect and the tool_provider_id of the external platform you created in step 2. The LTI resource you create here should match one of the resources you have created on your external platform. 4. Finally, create the exam instructions using the /documents API, by inserting the placeholder that was returned in step 3 into the instructions (exam_content field)
Code | Description |
---|---|
403 | You are not authorized to access this page. |
422 | Param is missing or the value is empty: 'param' |
{ 'example_request_params': { 'lti_resource_link_name': 'some name', 'exam_id': '1', 'tool_provider_id': '1', 'nonce': 1527500365, 'timestamp': 1527500365052, 'signature': '8aac70c9906ad0812f4fbc34617322f985b4ac978cec861724f142cb572b88ff' }, 'example_response': { 'lti_resource': { 'id':1, 'lti_resource_link_id':null, 'tool_provider_id':'1', 'lti_resource_link_name':'some name', 'exam_id':1, 'created_at': '2020-11-25T17:21:59.485+01:00', 'updated_at': '2020-11-25T17:21:59.485+01:00', 'lti_resource_launch_url':'http://localhost:5001/link1', 'lti_custom_data':'', 'open_in_new_tab':false, 'placeholder': 'LTI_EXAM_1' } } }
Param name | Description |
---|---|
lti_resource_link_name required |
Name of the lti resource Validations:
|
exam_id required |
ID of the exam to attach the lti resource to Validations:
|
tool_provider_id required |
ID of the tool provider to create the lti resource from Validations:
|
lti_resource_launch_url optional |
LTI launch url of the external platform (default to the tool provider url) Validations:
|
open_in_new_tab optional |
If set to true the link will be opened in a new tab on click Validations:
|
lti_custom_data optional |
Json as a string that will add custom data to the LTI request (default to the tool provider lti_custom_data) Validations:
|
timestamp required |
Timestamp of the request in milliseconds. Validations:
|
nonce required |
Random number unique between the api calls made in the previous 24 hours. Validations:
|
signature required |
HMAC sha256 hex encoded hash, using the user secret_key as key, of the query string build with all the other parameters in the format ‘name=value’ joined by ‘?’ and ordered alphabethically by name. Do not use encoding scheme on the values you use to calculate the string Validations:
|