Analytics
in package
Analytics API for Canvas LMS
Provides read-only access to learning analytics data across Account, Course, and User contexts. Returns raw arrays matching Canvas API JSON responses.
Tags
Table of Contents
Properties
- $httpClient : HttpClientInterface|null
- $logger : LoggerInterface
Methods
- fetchAccountActivity() : array<string, mixed>
- Get department-level participation data for current term
- fetchAccountActivityByTerm() : array<string, mixed>
- Get department-level participation data for a specific term
- fetchAccountCompletedActivity() : array<string, mixed>
- Get department-level participation data for completed courses
- fetchAccountCompletedGrades() : array<string, mixed>
- Get department-level grade distribution for completed courses
- fetchAccountCompletedStatistics() : array<string, mixed>
- Get department-level statistics for completed courses
- fetchAccountCompletedStatisticsBySubaccount() : array<string, mixed>
- Get department-level statistics by subaccount for completed courses
- fetchAccountGrades() : array<string, mixed>
- Get department-level grade distribution for current term
- fetchAccountGradesByTerm() : array<string, mixed>
- Get department-level grade distribution for a specific term
- fetchAccountStatistics() : array<string, mixed>
- Get department-level statistics for current term
- fetchAccountStatisticsBySubaccount() : array<string, mixed>
- Get department-level statistics broken down by subaccount for current term
- fetchAccountStatisticsBySubaccountByTerm() : array<string, mixed>
- Get department-level statistics broken down by subaccount for a specific term
- fetchAccountStatisticsByTerm() : array<string, mixed>
- Get department-level statistics for a specific term
- fetchCourseActivity() : array<int, array<string, mixed>>
- Get course-level participation data
- fetchCourseAssignments() : array<int, array<string, mixed>>|array<string, string>
- Get course-level assignment data
- fetchCourseStudentSummaries() : array<int, array<string, mixed>>
- Get course-level student summary data
- fetchUserCourseActivity() : array<string, mixed>
- Get user-in-course participation data
- fetchUserCourseAssignments() : array<int, array<string, mixed>>
- Get user-in-course assignment data
- fetchUserCourseCommunication() : array<string, mixed>
- Get user-in-course messaging data
- setHttpClient() : void
- Set a custom HTTP client
- setLogger() : void
- Set a logger instance
- get() : array<string|int, mixed>
- Make a GET request to the Analytics API
- getHttpClient() : HttpClientInterface
- Get the HTTP client instance
- initLogger() : void
- Initialize the logger
Properties
$httpClient
private
static HttpClientInterface|null
$httpClient
= null
$logger
private
static LoggerInterface
$logger
Methods
fetchAccountActivity()
Get department-level participation data for current term
public
static fetchAccountActivity([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns ['by_date' => [...], 'by_category' => [...]]
fetchAccountActivityByTerm()
Get department-level participation data for a specific term
public
static fetchAccountActivityByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $termId : int
-
Term ID
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns ['by_date' => [...], 'by_category' => [...]]
fetchAccountCompletedActivity()
Get department-level participation data for completed courses
public
static fetchAccountCompletedActivity([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns ['by_date' => [...], 'by_category' => [...]]
fetchAccountCompletedGrades()
Get department-level grade distribution for completed courses
public
static fetchAccountCompletedGrades([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns grade distribution with scores as keys
fetchAccountCompletedStatistics()
Get department-level statistics for completed courses
public
static fetchAccountCompletedStatistics([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns statistics array
fetchAccountCompletedStatisticsBySubaccount()
Get department-level statistics by subaccount for completed courses
public
static fetchAccountCompletedStatisticsBySubaccount([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns ['accounts' => [...]]
fetchAccountGrades()
Get department-level grade distribution for current term
public
static fetchAccountGrades([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns grade distribution with scores as keys
fetchAccountGradesByTerm()
Get department-level grade distribution for a specific term
public
static fetchAccountGradesByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $termId : int
-
Term ID
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns grade distribution with scores as keys
fetchAccountStatistics()
Get department-level statistics for current term
public
static fetchAccountStatistics([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns statistics array
fetchAccountStatisticsBySubaccount()
Get department-level statistics broken down by subaccount for current term
public
static fetchAccountStatisticsBySubaccount([int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns ['accounts' => [...]]
fetchAccountStatisticsBySubaccountByTerm()
Get department-level statistics broken down by subaccount for a specific term
public
static fetchAccountStatisticsBySubaccountByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $termId : int
-
Term ID
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns ['accounts' => [...]]
fetchAccountStatisticsByTerm()
Get department-level statistics for a specific term
public
static fetchAccountStatisticsByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $termId : int
-
Term ID
- $accountId : int|null = null
-
Account ID (defaults to Config::getAccountId())
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns statistics array
fetchCourseActivity()
Get course-level participation data
public
static fetchCourseActivity(int $courseId[, array<string, mixed> $params = [] ]) : array<int, array<string, mixed>>
Parameters
- $courseId : int
-
Course ID
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<int, array<string, mixed>> —Returns array of activity data by date
fetchCourseAssignments()
Get course-level assignment data
public
static fetchCourseAssignments(int $courseId[, array<string, mixed> $params = [] ]) : array<int, array<string, mixed>>|array<string, string>
Parameters
- $courseId : int
-
Course ID
- $params : array<string, mixed> = []
-
Additional parameters (e.g., ['async' => true])
Tags
Return values
array<int, array<string, mixed>>|array<string, string> —Array of assignments or progress URL
fetchCourseStudentSummaries()
Get course-level student summary data
public
static fetchCourseStudentSummaries(int $courseId[, array<string, mixed> $params = [] ]) : array<int, array<string, mixed>>
Parameters
- $courseId : int
-
Course ID
- $params : array<string, mixed> = []
-
Additional parameters (e.g., ['sort_column' => 'name'])
Tags
Return values
array<int, array<string, mixed>> —Returns array of student summaries
fetchUserCourseActivity()
Get user-in-course participation data
public
static fetchUserCourseActivity(int $courseId, int $userId[, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $courseId : int
-
Course ID
- $userId : int
-
User/Student ID
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns ['page_views' => [...], 'participations' => [...]]
fetchUserCourseAssignments()
Get user-in-course assignment data
public
static fetchUserCourseAssignments(int $courseId, int $userId[, array<string, mixed> $params = [] ]) : array<int, array<string, mixed>>
Parameters
- $courseId : int
-
Course ID
- $userId : int
-
User/Student ID
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<int, array<string, mixed>> —Returns array of assignment data with submission info
fetchUserCourseCommunication()
Get user-in-course messaging data
public
static fetchUserCourseCommunication(int $courseId, int $userId[, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
- $courseId : int
-
Course ID
- $userId : int
-
User/Student ID
- $params : array<string, mixed> = []
-
Additional parameters
Tags
Return values
array<string, mixed> —Returns messaging data grouped by date
setHttpClient()
Set a custom HTTP client
public
static setHttpClient(HttpClientInterface $client) : void
Parameters
- $client : HttpClientInterface
setLogger()
Set a logger instance
public
static setLogger(LoggerInterface $logger) : void
Parameters
- $logger : LoggerInterface
get()
Make a GET request to the Analytics API
private
static get(string $endpoint[, array<string, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $endpoint : string
- $params : array<string, mixed> = []
Tags
Return values
array<string|int, mixed>getHttpClient()
Get the HTTP client instance
private
static getHttpClient() : HttpClientInterface
Return values
HttpClientInterfaceinitLogger()
Initialize the logger
private
static initLogger() : void