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
Parameters
type (string, required)
The type of tracking. Possible values are:
submissioncomment_reply
submission (object, required)
The data payload for the current tracking
id (integer, optional)
The reply identifier. This parameter is required only when type is comment_reply.
learner_reply (string, optional)
The text of the reply. This parameter is required only when type is comment_reply.
name (string, optional)
The title of the submitted assignment. Required only when type is submission.
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 is submission.
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 is submission.
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)
}
}
}Values
id (integer, optional)
The internal ID of the submitted item. Returned only when type is submission.
Structure
{
acknowledge: {
id: (integer, optional)
}
}File
None
Values
url (string, required)
The URL of the S3 file to download
Structure
{
acknowledge: {
url: (string, required)
}
}Googledrive
None
Values
url (string, required)
The URL of the Google Drive file to play
Structure
{
acknowledge: {
url: (string, required)
}
}Htmlpage
None
Values
content (string, required)
The HTML content to display
Structure
{
acknowledge: {
content: (string, required)
}
}Quiz
Parameters
action (string, required)
The action to perform on this quiz. Possible values are:
startcontinuenextprevsubmit_partialsubmittime_elapsed_submittime_enabled_force_exitreview
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:
choiceextended_texttext_entryuploadinline_choice
answers (object, optional)
An object containing a list of answers. Required for question of type:
choice_multiplefill_in_the_blankassociate
[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 is type fill_in_the_blank (for example, answers: {"[answ 1]": "USA", "[answ 2]": "IT"}). Is number if the question is type 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)
}
}
}
}
}
}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:
associatechoicechoice_multipleextended_textfill_in_the_blankinline_choicetext_entrytitleupload
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:
choicechoice_multipleinline_choiceassociate
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 is associate.
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:
choiceextended_texttext_entryuploadinline_choice
answers (object, optional)
An object containing the answers to this question. Required only for questions where type is:
choice_multiplefill_in_the_blankassociate
[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 is choice_multiple. Returns a string when the question type is fill_in_the_blank. Returns a number when the question type is associate.
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_submittedsubmitted
score (decimal, optional)
The current calculated score for the user
evaluation_status (string, optional)
If status is submitted, this contains the evaluation status. Possible values are:
waiting_evaluationevaluated
completion_status (string, required)
The completion status. Possible values are:
completedpassedfailedattempted
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 is per_test.
attempts_consumed (integer, optional)
Tracks the number of attempts consumed by the user. Only used if max_attempts is not 0.
feedback_message (string, optional)
An optional message that depends on the actual user score. Can be displayed if the quiz is in the status:
suspendedretakablemax_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 returns FALSE
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
Parameters
bookmark (integer, required)
The last slide number played by the learner
Structure
{
track: {
bookmark: (integer, required)
}
}None
Survey
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:
choiceinline_choiceextended_text
answers (string[], optional)
The answers to the question. Required only if type is:
likert_scalechoice_multiple
Structure
{
track: {
submitted: (boolean, optional),
questions: (object, optional) {
[id: string]: (object, required) {
user_status: (object, required) {
answer: (string, optional),
answers: (string[], optional)
}
}
}
}
}Values
is_completed (boolean, required)
Returns TRUE if the question is completed, otherwise returns FALSE
Structure
{
acknowledge: {
is_completed: (boolean, required)
}
}Video
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)
}
}None