Một khóa học của ClassIn có thể tạo được nhiều hoạt động học tập LMS. Hiện tại, có thể nhận dữ liệu trả về theo thời gian thực cho các hoạt động sau:
- Điểm của hoạt động Bài tập
- Điểm của hoạt động Bài kiểm tra
- Điểm của hoạt động Phiếu đáp án
The course consists of various learning activities on the ClassIn LMS. Currently, the learning activities that are available with real-time webhooks are:
- Score of Assignment
- Assignment Submission
- Score of Test
- Score of Answer Sheet
Assignment score #
Gửi dữ liệu điểm số của học sinh theo thời gian thực ngay sau khi bài tập được cập nhật điểm
Key | Định dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’HomeworkScore’ |
SID | Int64 | ID của trường |
CourseID | Int64 | ID khóa học |
CourseName | String | Tên khóa học |
Data | Object | Chi tiết |
└ UnitId | Int64 | ID chương |
└ UnitName | String | Tên chương |
└ ActivityId | Int64 | ID của hoạt động |
└ ActivityName | String | Tên hoạt động |
└ Score | float | Điểm số |
└ StudentInfo | Object | Thông tin học sinh |
└ StudentUid | Int64 | UID của học sinh |
└ StudentName | String | Tên học sinh: Tên hiển thị trên app của HS khi tham gia hoạt động Bài tập |
└ StudentAccount | String | Tài khoản học sinh (SĐT/Email) |
└ SubmissionTime | Int64 | Thời gian nộp bài tập |
└ CorrectionTime | Int64 | Thời gian bài tập được chấm điểm |
└ StudentScoringRate | float | Mức độ hoàn thành của học sinh: Hiện điểm theo dạng thập phân (ví dụ: 0.8) Logic tính điểm: Mức độ hoàn thành của học sinh = Số điểm thực tế của học sinh đã được chấm / Tổng điểm của bài tập |
└ TeacherInfo | Object | Thông tin GV đã chấm điểm |
└ TeacherUid | Int64 | UID giáo viên |
└ TeacherName | String | Tên giáo viên: Tên hiển thị trên app của GV khi mở hoạt động Bài tập |
└ TeacherAccount | String | Tài khoản giáo viên (SĐT/Email) |
Example #
{
"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"
}
}
}
Assignment submission #
Gửi dữ liệu nộp bài tập của học sinh theo thời gian thực ngay sau khi bài tập được nộp
Key | Data | Description |
---|---|---|
Cmd | String | cmd=’HomeworkSubmit’ |
SID | Int64 | ID của trường |
CourseID | Int64 | ID khóa học |
CourseName | String | Tên khóa học |
Data | Object | Chi tiết |
└ UnitId | Int64 | ID chương |
└ UnitName | String | Tên chương |
└ ActivityId | Int64 | ID của hoạt động |
└ ActivityName | String | Tên hoạt động |
StudentTotal | Int64 | Số lượng học sinh tham gia hoạt động |
SubmitTotal | Int64 | Số học sinh đã nộp bài |
SubmissionTime | Int64 | Thời gian nộp bài |
IsSubmitLate | Int64 | Nộp trễ: 0=không, 1=có |
IsRevision | Int64 | Trả về làm lại: 0=không, 1=có |
Content | String | Nội dung bài tập |
Files | Object | Tệp đính kèm bài tập |
└ Src | String | URL tải tệp |
└ FileName | String | Tên tệp |
└ FileExtension | String | Định dạng tệp |
StudentInfo | Object | Thông tin học sinh |
└ StudentUid | Int64 | UID học sinh |
└ StudentName | String | Tên học sinh: Tên hiển thị trên app của HS khi tham gia hoạt động Bài tập |
└ StudentAccount | String | Tài khoản học sinh (SĐT/Email) |
TeacherInfo | Object | Thông tin GV |
└ TeacherUid | Int64 | UID giáo viên |
└ TeacherName | String | Tên giáo viên: Tên hiển thị trên app của GV khi mở hoạt động Bài kiểm tra |
└ TeacherAccount | String | Tài khoản giáo viên (SĐT/Email). Nếu bài kiểm tra được chấm điểm tự động thì trường này sẽ trống |
Example #
{
"ActionTime": 1741334951,
"CourseID": 26901289,
"TimeStamp": 1741335551,
"SafeKey": "d9a20c9bf3ac660766ddbfac4988ca31",
"Cmd": "HomeworkSubmit",
"CourseName": "test course",
"SID": 1068502,
"_id": "67caa9a7976eb388db162139",
"Data": {
"Files": [
{
"FileExtension": "png",
"src": "https://static.eeo.cn/upload/files/file01/20250307/03_03_71cfd3e-a71f-58e7-0cc8-577183e60485_1741334949147.png",
"fileName": "eeo.png"
}
],
"TeacherInfo": {
"TeacherName": "Lucy",
"TeacherAccount": "001-38102248",
"TeacherUid": 10602
},
"ActivityName": "Magic Key",
"UnitName": "test unit",
"IsSubmitLate": 1,
"StudentTotal": 2,
"Content": "<section class=\"eeo-editor-wrapper\" style=\"font-size:15px;color:#38404A;\"><p>start\u00a0</p></section>",
"ActivityId": 54911996,
"IsRevision": 0,
"StudentInfo": {
"StudentName": "GoodGuy",
"StudentAccount": "23672340105",
"StudentUid": 102494
},
"UnitId": 255618,
"SubmissionTime": 1741334950,
"SubmitTotal": 1
}
}
Test score #
Gửi điểm số của học sinh theo thời gian thực ngay sau khi bài kiểm tra được chấm điểm thủ công hoặc tự động. Nếu như bài kiểm tra chỉ được chấm điểm một phần thì dữ liệu sẽ không được gửi
Key | Định dạng | Mô tả | |
---|---|---|---|
Cmd | String | cmd=’ExamScore’ | |
SID | Int64 | ID của trường | |
CourseID | Int64 | ID của khóa học | |
CourseName | String | Tên khóa học | |
Data | Object | Chi tiết | |
└ UnitId | Int64 | ID chương | |
└ UnitName | String | Tên chương | |
└ ActivityId | Int64 | ID của hoạt động | |
└ ActivityName | String | Tên hoạt động | |
└ClassId | Int64 | ID lớp học — sẽ hiển thị nếu như bài kiểm tra được giao trong lớp | |
└ Score | float | Điểm số | |
└ StudentInfo | Object | Thông tin học sinh | |
└ StudentUid | Int64 | UID học sinh | |
└ StudentName | String | Tên học sinh: Tên hiển thị trên app của HS khi tham gia hoạt động Bài kiểm tra | |
└ StudentAccount | String | Tài khoản học sinh (SĐT/Email) | |
└ SubmissionTime | Int64 | Thời gian nộp bài kiểm tra | |
└ AnswerDuration | Int64 | Thời gian học sinh làm bài kiểm tra (tính theo giây) | |
└ CorrectionTime | Int64 | Thời gian bài kiểm tra được chấm điểm | |
└ StudentScoringRate | float | Mức độ hoàn thành của học sinh: Hiện điểm theo dạng thập phân (ví dụ: 0.8) Logic tính điểm: Mức độ hoàn thành của học sinh = Số điểm thực tế của học sinh đã được chấm / Tổng điểm của bài kiểm tra | |
└ TeacherInfo | Object | Thông tin giáo viên đã chấm điểm | |
└ TeacherUid | Int64 | UID của giáo viên. Nếu bài kiểm tra được chấm điểm tự động thì trường này sẽ là 0 | |
└ TeacherName | String | Tên giáo viên: Tên hiển thị trên app của GV khi mở hoạt động Bài kiểm tra | |
└ TeacherAccount | String | Tài khoản giáo viên (SĐT/Email). Nếu bài kiểm tra được chấm điểm tự động thì trường này sẽ trống | |
└TopicDetails | array[object] | Điểm chi tiết | |
└TopicId | int | ID của câu hỏi | |
└TopicType | String | Loại câu hỏi. 1: Một đáp án đúng; 2: Nhiều đáp án đúng; 3: Đúng/Sai; 4: Điền vào chỗ trống; 5: Tự luận Q&A; 6: Tổng hợp | |
└ TopicResult | int | 0 = đang chờ chấm điểm,1=đúng,3=đúng một phần,2=sai,4=không trả lời | |
└TopicScore | float | Điểm của học sinh ở câu này | |
└TopicMaxScore | float | Điểm tối đa của câu | |
└SubTopicDetails | array[object] | Nếu không có câu hỏi phụ thì trường này sẽ hiển thị bảng trống[] | |
└SubTopicId | int | ID của câu hỏi phụ | |
└SubTopicType | String | Loại câu hỏi. 1: Một đáp án đúng; 2: Nhiều đáp án đúng; 3: Đúng/Sai; 4: Điền vào chỗ trống; 5: Tự luận Q&A; 6: Tổng hợp | |
└SubTopicResult | int[] | 0 = đang chờ chấm điểm,1=đúng,3=đúng một phần,2=sai,4=không trả lời | |
└SubTopicScore | float | Điểm của học sinh ở câu này | |
└SubTopicMaxScore | int | Điểm tối đa của câu |
Example #
{
"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
}
}
AnswerSheet Score #
Gửi theo thời gian thực ngay sau khi phiếu đáp án được chấm điểm thủ công hoặc tự động. Nếu như phiếu đáp án chỉ
được chấm điểm một phần thì dữ liệu sẽ không được gửi. Khi điểm số của Phiếu đáp án được chỉnh sửa hoặc cập nhật thì dữ liệu này cũng sẽ được gửi.
Key | Data | Description | |
---|---|---|---|
Cmd | String | cmd=’AnswerSheetScore’ | |
SID | Int64 | ID của trường | |
CourseID | Int64 | ID của khóa học | |
CourseName | String | Tên khóa học | |
Data | Object | Chi tiết | |
└ UnitId | Int64 | ID Chương | |
└ UnitName | String | Tên Chương | |
└ ActivityId | Int64 | ID hoạt động | |
└ ActivityName | String | Tên hoạt động | |
└ClassId | Int64 | ID lớp học (lesson) — Nếu hoạt động được mở trong lớp học ảo thì sẽ có dữ liệu này | |
└ Score | float | Điểm tổng | |
└ StudentInfo | Object | Thông tin học sinh | |
└ StudentUid | Int64 | UID học sinh | |
└ StudentName | String | Tên học sinh: Tên hiển thị trên app của HS khi tham gia hoạt động Bài kiểm tra | |
└ StudentAccount | String | Tài khoản học sinh (SĐT/Email) | |
└ SubmissionTime | Int64 | Thời gian nộp bài | |
└ AnswerDuration | Int64 | Thời gian làm bài | |
└ CorrectionTime | Int64 | Thời gian chấm bài | |
└ StudentScoringRate | float | Tỷ lệ điểm của học sinh: Số thập phân, ví dụ 0.8 Công thức tính: Tỷ lệ điểm của học sinh = Số điểm học sinh đạt được trong bài tập / Tổng điểm tối đa | |
└ TeacherInfo | Object | Hiện tại đang trống | |
└ TeacherUid | Int64 | Hiện tại đang mặc định là 0. Sẽ cập nhật trong tương lai | |
└ TeacherName | String | Hiện tại đang trống | |
└ TeacherAccount | String | Tài khoản giáo viên: Nếu giáo viên đã đăng ký số điện thoại di động, số điện thoại sẽ được sử dụng để gửi dữ liệu. Nếu không có số điện thoại, địa chỉ email sẽ được sử dụng thay thế. Sẽ để trống nếu Phiếu đáp án được chấm điểm tự động | |
└TopicDetails | array[object] | array | |
└TopicId | int | ID của câu hỏi | |
└TopicType | String | Loại câu hỏi: 1: Một đáp án đúng; 2: Nhiều đáp án đúng; 3: Đúng – Sai; 4: Điền vào chỗ trống; 5: Câu hỏi tự luận; 6: Câu hỏi tổng hợp | |
└ TopicResult | int | 0 = Chờ chấm điểm,1= Đúng,3= Đúng 1 phần,2= Sai,4= Không trả lời | |
└TopicScore | float | Điểm của học sinh | |
└TopicMaxScore | float | Điểm tối đa học sinh có thể nhận được | |
└SubTopicDetails | array[object] | nếu không có câu hỏi phụ thì phần này sẽ trống [] | |
└SubTopicId | int | id câu hỏi phụ | |
└SubTopicType | String | Loại câu hỏi: 1: Một đáp án đúng; 2: Nhiều đáp án đúng; 3: Đúng – Sai; 4: Điền vào chỗ trống; 5: Câu hỏi tự luận; 6: Câu hỏi tổng hợp | |
└SubTopicResult | int[] | 0 = Chờ chấm điểm,1= Đúng,3= Đúng 1 phần,2= Sai,4= Không trả lời | |
└SubTopicScore | float | Điểm của học sinh | |
└SubTopicMaxScore | int | Điểm tối đa học sinh có thể nhận được |
Example #
{
"CourseID": 429724,
"Cmd": "ExamScore",
"CourseName": "Test Class",
"SID": 187286,
"Data": {
"ClassId": 34928113,
"TeacherInfo": {
"TeacherName": "",
"TeacherAccount": "",
"TeacherUid": 0
},
"ActivityName": "AnswerSheet on 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",
"TopicResult": [3],
"TopicMaxScore": 4,
"TopicScore": 2
},
{
"TopicId": 3,
"TopicType": "4",
"TopicResult": [2, 2, 2],
"TopicMaxScore": 6,
"TopicScore": 0
},
{
"TopicId": 4,
"TopicType": "3",
"TopicResult": [2],
"TopicMaxScore": 9,
"TopicScore": 0
}],
"StudentScoringRate": 0.083333,
"CorrectionTime": 1729576949
}
}