Real-time Data of LMS Courses

The course consists of various learning activities on the ClassIn LMS. Currently, the learning activities that are available with real-time webhooks are:

  • Assignment
  • Test

Assignment

Trigger Timing: When assignment grades are generated or updated, typically after the teacher has graded the assignment.

Key Data Description
Cmd String Data Type:HomeworkScore
SID Int64 School ID
CourseID Int64 Course ID
CourseName String Course Name
Data Object Assignment Info and Scores
└ UnitId Int64 Unit ID
└ UnitName String Unit Name
└ ActivityId Int64 Activity(Assignment) ID
└ ActivityName String Activity(Assignment) Title
└ Score float Full Score
└ StudentInfo Object Student Info
  └ StudentUid Int64 Student's UID
  └ StudentName String Student Name: The student's name as displayed in the assignment module of the ClassIn client.
  └ StudentAccount String Student Account: If the student has a registered mobile phone number, the mobile number will be used for the data push. If no mobile number is available, the email address will be used instead.
└ SubmissionTime Int64 Assignment Submission Time
└ CorrectionTime Int64 Grading Time
└ StudentScoringRate float Student Score Rate: A decimal value, for example 0.8. Calculation logic: StudentScoringRate = The score students received in the assignment/Full score
└ TeacherInfo Object Grading Teacher Information
  └ TeacherUid Int64 Teacher UID
  └ TeacherName String Teacher Name: The teacher's name as displayed in the assignment module of the ClassIn client.
  └ TeacherAccount String Teacher Account: If the teacher has a registered mobile phone number, the mobile number will be used for the data push. If no mobile number is available, the email address will be used instead.

Instance


{
    "Cmd" : "HomeworkScore",
    "SID" : 2803666,
    "CourseID" : 2279909,
    "CourseName" : "Test",
    "Data" : {
        "UnitId" : 256,
        "UnitName" : "Unit One",
        "ActivityId" : 185647,
        "ActivityName" : "Test Homework",
        "Score" : 100,
        "StudentInfo" : {
                "StudentUid" : 1000083,
                "StudentName" : "Amy",
                "StudentAccount" : "13451113311"
        },
        "SubmissionTime" : 1713053774,
        "CorrectionTime" : 1713083674,
        "StudentScoringRate" : 0.9,
        "TeacherInfo" : {
                "TeacherUid" : 1000082,
                "TeacherName" : "Mike",
                "TeacherAccount" : "13466668866"
        }
    }
}

Test

Trigger Timing: When a test score is generated, either through automatic grading or teacher grading, the score will be pushed. However, if only partial scores are generated, the data will not be pushed. If the answers are modified, resulting in a score change, the updated score will be pushed.

Key Data Description
Cmd String Data Type:ExamScore
SID Int64 School ID
CourseID Int64 Course ID
CourseName String Course Name
Data Object Test Info and Scores
└ UnitId Int64 Unit ID
└ UnitName String Unit Name
└ ActivityId Int64 Activity(Test) ID
└ ActivityName String Activity(Test) Title
└ClassId Int64 lesson id -- value if the test is published on the lesson
└ Score float Full Score
└ StudentInfo Object Student Info
 └ StudentUid Int64 Student's UID
 └ StudentName String Student Name: The student's name as displayed in the assignment module of the ClassIn client.
 └ StudentAccount String Student Account: If the student has a registered mobile phone number, the mobile number will be used for the data push. If no mobile number is available, the email address will be used instead.
└ SubmissionTime Int64 Test Submission Time
└ AnswerDuration Int64 The time student spent on the test(second)
└ CorrectionTime Int64 Grading Time
└ StudentScoringRate float Student Score Rate: A decimal value, for example 0.8. Calculation logic: StudentScoringRate = The score students received in the assignment/Full score
└ TeacherInfo Object Grading Teacher Information
 └ TeacherUid Int64 Teacher UID. If the test is auto grading, the value of Uid is 0
 └ TeacherName String Teacher Name: The teacher's name as displayed in the assignment module of the ClassIn client. Empty if the test is auto grading
 └ TeacherAccount String Teacher Account: If the teacher has a registered mobile phone number, the mobile number will be used for the data push. If no mobile number is available, the email address will be used instead. Empty if the test is auto grading
└TopicDetails array[object] array
 └TopicId int id of the topic as 1
 └TopicType String type of the topic, (string as "1") 1: Single choice,2: Multiple choice,3:True or False,4:Fills-up,5:essay question , 6: Comprehensive;
 └ TopicResult int 0 = waiting for grading,1=correct,3=half correct,2=incorrect,4=no answer
 └TopicScore float the student's score of the topic
 └TopicMaxScore float max score of the topic
 └SubTopicDetails array[object] if there's no subtopic, it's an empty array []
   └SubTopicId int id of the subtopic
   └SubTopicType String type of the subtopic (string as "1") 1: Single choice, 2: Multiple choice, 3: True or False, 4: Fills-up, 5: essay question , 5: Comprehensive;
   └SubTopicResult int[] 0 = waiting for grading,1=correct,3=half correct,2=incorrect,4=no answer
   └SubTopicScore float score of the subtopic
   └SubTopicMaxScore int max score of the subtopic

Instance


{
    "CourseID": 429724,
    "Cmd": "ExamScore",
    "CourseName": "Test Class",
    "SID": 187286,
    "Data": {
        "ClassId": 34928113,
        "TeacherInfo": {
            "TeacherName": "Lucy",
            "TeacherAccount": "12114444011",
            "TeacherUid": 187286
        },
        "ActivityName": "test Monday",
        "UnitName": "Unit 1",
        "AnswerDuration": 57,
        "ActivityId": 32044258,
        "Score": 24,
        "StudentInfo": {
            "StudentName": "Tom",
            "StudentAccount": "12133333301",
            "StudentUid": 187268
        },
        "UnitId": 32014550,
        "SubmissionTime": 1729576858,
        "TopicDetails": [{
            "TopicId": 1,
            "TopicType": "1",
            "SubTopicDetails": [],
            "TopicResult": [2],
            "TopicMaxScore": 5,
            "TopicScore": 0
        }, 
        {
            "TopicId": 2,
            "TopicType": "5",
            "SubTopicDetails": [],
            "TopicResult": [3],
            "TopicMaxScore": 4,
            "TopicScore": 2
        }, 
        {
            "TopicId": 3,
            "TopicType": "4",
            "SubTopicDetails": [],
            "TopicResult": [2, 2, 2],
            "TopicMaxScore": 6,
            "TopicScore": 0
        }, 
        {
            "TopicId": 4,
            "TopicType": "6",
            "SubTopicDetails": [{
                "SubTopicId": 1,
                "SubTopicType": "1",
                "SubTopicResult": [2],
                "SubTopicScore": 0,
                "SubTopicMaxScore": 5
            }, 
            {
                "SubTopicId": 2,
                "SubTopicType": "2",
                "SubTopicResult": [2],
                "SubTopicScore": 0,
                "SubTopicMaxScore": 4
            }],
            "TopicResult": [2],
            "TopicMaxScore": 9,
            "TopicScore": 0
        }],
        "StudentScoringRate": 0.083333,
        "CorrectionTime": 1729576949
    }
}

results matching ""

    No results matching ""