LearningStudio’s Eventing suite provides the ability for applications to be notified when certain events happen within LearningStudio. For example, LearningStudio can send an event when a user replies to a thread, when an instructor updates a grade, or when a student submits an assignment or completes an exam. LearningStudio provides a number of different events to which you can subscribe. You can find a list in the Event Contracts section.
Eventing reduces or eliminates the need for applications to “poll” for status changes, because the changes are instead pushed directly from LearningStudio to the application in near-real time. This reduces wasted API calls especially in cases where your application needs knowledge about the state of a course or user.
Once you’ve completed some Initial Set Up, the Eventing process looks like this:
- You subscribe to the types of events you want to receive, providing a URL where events should be sent.
- When such an event occurs, LearningStudio sends an HTTP POST containing the event payload to the URL you’ve indicated for this subscription.
- Your application replies with an HTTP status code to acknowledge receipt of the event. (Codes can also pause or cancel delivery attempts.)
- Your application processes the event payload, including running any additional API calls to get the desired data.