Course Report
Table of Contents
Note: Applicable to all services except Zoho Creator.
Overview
The zoho.learn.courseReport task retrieves the completion and progress report for all learners in a specified course in Zoho Learn.
Scope
ZohoLearn.course.READ
Syntax
<response>=zoho.learn.course.getReports(<portalUrl>,<courseId>,<params>,<connection>);
where:
| Parameter | Data Type | Description |
| <response> | KEY-VALUE | The response returned contains the report data for the specified course. |
| portalUrl | TEXT | The URL of the hub/network (portal) in Zoho Learn. |
| courseId | TEXT | The ID of the course for which the report needs to be generated. Course ID can be fetched from Get course API; here, id from the response represents the course ID. |
| params | TEXT | A map containing optional filter keys:
|
| connection | TEXT | The connection link name created for this service. A Zoho OAuth connection with the scope ZohoLearn.course.READ must be configured. |
Example
The following script fetches the report of a course, filtered by completed learners:
response=zoho.learn.course.getReports("zylker","6342496000000086001",{"isMemberView":false,"pageIndex":1},"learnconnection");
where:
| response | The KEY-VALUE response variable that holds the course report data. |
| zylker | The TEXT representing the URL of the hub/network. |
| 6342496000000086001 | The TEXT representing the ID of the course for which the report is requested. |
| {"isMemberView":false,"pageIndex":1} | The KEY-VALUE variable containing optional filter parameters such as page index and filter criteria. |
| learnconnection | The connection link name in TEXT format. |
Response Format
Success Response
When isMemberView is false
{ "LESSON_STATS": [ { "completedMembersCount": "1", "failedMembersCount": "0", "timeSpent": "13132559", "timeSpentFormatted": { "hours": 3, "seconds": 52, "minutes": 38, "days": 0 }, "lessonId": "6342496000000086007", "inProgressMembersCount": "0", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "TEXT", "passedMembersCount": "0", "learnerStatus": "100.0", "avgScore": "0", "name": "Text Lesson", "courseId": "6342496000000086001", "order": "0" }, { "completedMembersCount": "1", "failedMembersCount": "0", "timeSpent": "2214", "timeSpentFormatted": { "hours": 0, "seconds": 2, "minutes": 0, "days": 0 }, "lessonId": "6342496000000086013", "inProgressMembersCount": "0", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "BLOCK", "passedMembersCount": "0", "learnerStatus": "100.0", "avgScore": "0", "name": "Block Lesson", "courseId": "6342496000000086001", "order": "1" }, { "completedMembersCount": "1", "failedMembersCount": "0", "timeSpent": "3157", "timeSpentFormatted": { "hours": 0, "seconds": 3, "minutes": 0, "days": 0 }, "lessonId": "6342496000000086019", "inProgressMembersCount": "0", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "DOCUMENT", "passedMembersCount": "0", "learnerStatus": "100.0", "avgScore": "0", "name": "Document Lesson", "courseId": "6342496000000086001", "order": "2" }, { "completedMembersCount": "1", "failedMembersCount": "0", "timeSpent": "8554", "timeSpentFormatted": { "hours": 0, "seconds": 8, "minutes": 0, "days": 0 }, "lessonId": "6342496000000086025", "inProgressMembersCount": "0", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "VIDEO", "passedMembersCount": "0", "learnerStatus": "100.0", "avgScore": "0", "name": "Video Lesson Upload", "courseId": "6342496000000086001", "order": "3" }, { "completedMembersCount": "1", "failedMembersCount": "0", "timeSpent": "3107", "timeSpentFormatted": { "hours": 0, "seconds": 3, "minutes": 0, "days": 0 }, "lessonId": "6342496000000086065", "inProgressMembersCount": "0", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "VIDEO", "passedMembersCount": "0", "learnerStatus": "100.0", "avgScore": "0", "name": "Video Lesson Embed URL", "courseId": "6342496000000086001", "order": "4" }, { "completedMembersCount": "1", "failedMembersCount": "0", "timeSpent": "3063", "timeSpentFormatted": { "hours": 0, "seconds": 3, "minutes": 0, "days": 0 }, "lessonId": "6342496000000086071", "inProgressMembersCount": "0", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "VIDEO", "passedMembersCount": "0", "learnerStatus": "100.0", "avgScore": "0", "name": "Video Lesson Embed Code", "courseId": "6342496000000086001", "order": "5" }, { "completedMembersCount": "1", "failedMembersCount": "0", "timeSpent": "34592", "timeSpentFormatted": { "hours": 0, "seconds": 34, "minutes": 0, "days": 0 }, "lessonId": "6342496000000086031", "inProgressMembersCount": "0", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "QUIZ", "passedMembersCount": "0", "learnerStatus": "100.0", "avgScore": "0", "name": "Quiz Lesson", "courseId": "6342496000000086001", "order": "6" }, { "completedMembersCount": "0", "failedMembersCount": "0", "timeSpent": "0", "timeSpentFormatted": { "hours": 0, "seconds": 0, "minutes": 0, "days": 0 }, "lessonId": "6342496000000086037", "inProgressMembersCount": "1", "totalMembersCount": "0", "avgAttempt": "0", "yetTostartMembersCount": "0", "type": "ASSIGNMENT", "passedMembersCount": "0", "learnerStatus": "0.0", "avgScore": "0", "name": "Assignment Lesson", "courseId": "6342496000000086001", "order": "7" } ], "STATUS": "OK", "COURSE_STATS": { "percentCompleted": "87.5", "timeTaken": { "hours": 12, "seconds": 56, "minutes": 23, "days": 0 }, "completedMembersCount": "0", "notStartedMembersCount": "0", "totalMembersCount": "1", "inProgressMembersCount": "1" } }When isMemberView is true
{ "STATUS": "OK", "MEMBER_STATS": [ { "timeTaken": { "hours": 12, "seconds": 56, "minutes": 23, "days": 0 }, "enrollmentTime": { "date": "13 Jul 2023", "time": "03:34 PM" }, "learnerStatus": "87.5", "completedOn": { "date": "14 Jul 2023", "time": "03:37 AM" }, "learner": { "role": "MEMBER", "name": "Ben Taylor", "colorIndex": "1", "emailId": "taylor@zylker.com", "id": "799705135", "type": "MEMBER", "learnerCourseStatus": "YET_TO_START", "status": "ACTIVE", "learnerCourseProgress": "0.0" }, "startTime": { "date": "13 Jul 2023", "time": "03:13 PM" }, "courseId": "6342496000000086001", "status": "INPROGRESS" } ], "COURSE_STATS": { "percentCompleted": "87.5", "timeTaken": { "hours": 12, "seconds": 56, "minutes": 23, "days": 0 }, "completedMembersCount": "0", "notStartedMembersCount": "0", "totalMembersCount": "1", "inProgressMembersCount": "1" } }
Failure Response
The failure response for an invalid or non-existent course ID will be returned in the following format:
{ "result": "failure", "reason": "Course is invalid.", "errorCode": "237" }