Supplemental information for API call POST ⧸learn⧸v1⧸lo⧸﹛id﹜⧸track

Prev Next

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:

  • 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 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:

  • 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 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:

  • 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 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:

  • 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 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_submitted

  • submitted

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_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 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:

  • 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 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:

  • 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)
        }
      }
    }
  }
}

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