Introduction
This article describes the various inputs and outputs available for the endpoint POST /learn/v1/lo/{id}/track
. The inputs and outputs vary depending on the type of the training material identified by its ID in the API call.
Supplemental Information
Presented here is a list of possible inputs and outputs, sorted by training material type.
Assignments
Input
Parameters
type
(string, required)- The type of tracking. Possible values are:
submission
comment_reply
submission
(object, required)- The data payload for the current tracking
id
(integer, optional)- The reply identifier. This parameter is required only when
type
iscomment_reply
. learner_reply
(string, optional)- The text of the reply. This parameter is required only when
type
iscomment_reply
. name
(string, optional)- The title of the submitted assignment. Required only when
type
issubmission
. description
(string, optional)- An optional description of the submitted assignment
files
(array, optional)- An array of uploaded S3 file URLs as part of the submission. Required only when
type
issubmission
. url
(string, required)- The URL of the file
video_url
(string, optional)- The URL (for example, YouTube) submitted in the assignment. Required only when
type
issubmission
.
Structure
{
track: {
type: (string, required),
submission: (object, required) {
id: (integer, required),
learner_reply: (string, required),
name: (string, required),
description: (string, optional),
files: (array, optional) [{
url: (string, required)
}],
video_url: (string, optional)
}
}
}
Output
Values
id
(integer, optional)- The internal ID of the submitted item. Returned only when
type
issubmission
.
Structure
{
acknowledge: {
id: (integer, optional)
}
}
File
Input
None
Output
Values
url
(string, required)- The URL of the S3 file to download
Structure
{
acknowledge: {
url: (string, required)
}
}
Googledrive
Input
None
Output
Values
url
(string, required)- The URL of the Google Drive file to play
Structure
{ acknowledge: { url: (string, required) } }
Htmlpage
Input
None
Output
Values
content
(string, required)- The HTML content to display
Structure
{ acknowledge: { content: (string, required) } }
Quiz
Input
Parameters
action
(string, required)- The action to perform on this quiz. Possible values are:
start
continue
next
prev
submit_partial
submit
time_elapsed_submit
time_enabled_force_exit
review
questions
(object, optional)- An object containing the quiz answers to submit, indexed by question ID
[id: (string)]
(object, required - the ID parameter itself is a string of the question ID)-
user_status
(object, required)-
answer
(integer, optional)- The answer to this question. Required for question of type:
choice
extended_text
text_entry
upload
inline_choice
answers
(object, optional)- An object containing a list of answers. Required for question of type:
choice_multiple
fill_in_the_blank
associate
[id: (string)]
(boolean | string | number, optional - the ID parameter itself is a string)- The selected answers to this question, indexed by answer ID. Is boolean if the question is
type
choice_multiple
(for example,true = selected
). Is string if the question istype
fill_in_the_blank
(for example,answers: {"[answ 1]": "USA", "[answ 2]": "IT"}
). Is number if the question istype
associate
(for example,answers: {"12": 1, "13": 2, "14": 3}
).
Structure
{ track: { action: (string, required), questions: (object, required) { [id: (string, required)]: (object, required){ user_status: (object, required) { answer: (string, optional) answers: { [id: (string, required)]: (boolean / string / number) } } } } } }
Output
Values
questions
(array, required)- An array of questions for the requested page
question
(string, required)- The ID of the question
question_index
(integer, required)- The position of the question in the page
type
(string, required)- The type of question. Possible values are:
associate
choice
choice_multiple
extended_text
fill_in_the_blank
inline_choice
text_entry
title
upload
title
(string, optional)- The question title to display
category
(string, optional)- The question category
time_limit
(integer, optional)- The time limit per question. Used only if time options for the test is
per_question
. additional_info
(object, optional)- Additional information used by specific question types
answers
(array, optional)- Possible answers to the given question. Used only for questions where type is:
choice
choice_multiple
inline_choice
associate
id_answer
(number, required)- The answer ID
text
(string, required)- The answer title
associations
(array, optional)- Possible association answers. Used only for questions where
type
isassociate
.id
(number, required)- The ID of the associated answer
title
(string, required)- The title of the associated answer
user_status
(object, optional)- An object containing the answers provided by the user so far
answer
(string, optional)- The answer to this question. Required only for questions where type is:
choice
extended_text
text_entry
upload
inline_choice
answers
(object, optional)- An object containing the answers to this question. Required only for questions where
type
is:choice_multiple
fill_in_the_blank
associate
[id: (string)]
(boolean | string | number, required - the ID itself is a string of the answer ID)- The selected answers to this question, indexed by answer ID. Returns a boolean value when the question
type
ischoice_multiple
. Returns a string when the questiontype
isfill_in_the_blank
. Returns a number when the questiontype
isassociate
.
page_number
(integer, optional)- The page number, returned only if there is a previous or next page.
user_status
(object, optional)- The user status information for the current test
status
(string, required)- The current quiz status for this user. Possible values are:
not_submitted
submitted
score
(decimal, optional)- The current calculated score for the user
evaluation_status
(string, optional)- If
status
issubmitted
, this contains the evaluation status. Possible values are:waiting_evaluation
evaluated
completion_status
(string, required)- The completion status. Possible values are:
completed
passed
failed
attempted
suspension_time
(integer, optional)- This property sets how many minutes the user should wait before the test is unsuspended. If this value is set, the test is currently suspended.
time_consumed
(string, optional)- Tracks the amount of time consumed by the user. Only used if
time_option
isper_test
. attempts_consumed
(integer, optional)- Tracks the number of attempts consumed by the user. Only used if
max_attempts
is not0
. feedback_message
(string, optional)- An optional message that depends on the actual user score. Can be displayed if the quiz is in the status:
suspended
retakable
max_attempts_reached
score_per_category
(array, optional)- An optional array containing the calculated scores divided by category
category_name
(string, required)- The name of the category
questions_count
(integer, required)- The number of questions inside this category
score
(decimal, required)- The calculated score for this category
total_score
(decimal, required)- The total score
questions_id
(string[], required)- An array of question IDs for this category
average_user_score
(decimal, optional)- The average score of other users who have already completed the test
show_results
(boolean, required)- Returns
TRUE
if the results should be displayed, otherwise returnsFALSE
Structure
{ acknowledge: { questions: [{ question: (string, required), question_index: (integer, required), type: (string, required), title: (string, optional), category: (string, optional), time_limit: (integer, optional), additional_info: (object, optional) { answers: (array, optional) [{ id_answer: (number, required), text: (string, required) }], associations: (array, optional) [{ id: (number, required), title: (string, required) }], }, user_status: (object, optional) { answer: (string, optional) answers: (object, optional) { [id: (string, required)]: (boolean / string / number, required) } } }], page_number: (integer, optional), user_status: (object, optional) { status: (string, required), score: (decimal, required), evaluation_status: (string, optional), completion_status: (string, required), suspension_time: (integer, optional), time_consumed: (string, optional), attempts_consumed: (integer, optional), feedback_message: (string, optional), score_per_category: (array, optional) [{ category_name: (string, required), questions_count: (integer, required), score: (decimal, required), total_score: (decimal, required), questions_id: (string[], required) }], average_user_score: (decimal, optional), show_results: (boolean, required) } } }
Slides Converter
Input
Parameters
bookmark
(integer, required)- The last slide number played by the learner
Structure
{ track: { bookmark: (integer, required) } }
Output
None
Survey
Input
Parameters
submitted
(boolean, optional)- Submit the poll as completed
questions
(object, optional)- A list of question ID - answer pairs
[id: string]
(object, required)- The ID of the question for which the answer is given
user_status
(object, required)- The user answer to the question
answer
(string, optional)- The answer to the question. Required only if type is:
choice
inline_choice
extended_text
answers
(string[], optional)- The answers to the question. Required only if type is:
likert_scale
choice_multiple
Structure
{ track: { submitted: (boolean, optional), questions: (object, optional) { [id: string]: (object, required) { user_status: (object, required) { answer: (string, optional), answers: (string[], optional) } } } } }
Output
Values
is_completed
(boolean, required)- Returns
TRUE
if the question is completed, otherwise returnsFALSE
Structure
{ acknowledge: { is_completed: (boolean, required) } }
Video
Input
Parameters
bookmark
(integer, required)- The video offset reached by the user
complete
(boolean, optional)- Set to
TRUE
if the video is completed
Structure
{ track: { bookmark: (integer, required), complete: (boolean, optional) } }
Output
None