Course Report

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:

ParameterData TypeDescription
<response>KEY-VALUEThe response returned contains the report data for the specified course.
portalUrlTEXTThe URL of the hub/network (portal) in Zoho Learn.
courseIdTEXTThe 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.
paramsTEXT

A map containing optional filter keys:

  • pageIndex – Page number for paginated results.
  • filterBy – Filter by learner status (complete / inprogress / fail).
  • zuids – List of Zoho User IDs to filter the report.
  • emailIds – List of email addresses to filter the report.
connectionTEXTThe 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:

responseThe KEY-VALUE response variable that holds the course report data.
zylkerThe TEXT representing the URL of the hub/network.
6342496000000086001The 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.
learnconnectionThe 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" }

Related Topics