Delete
Upon deleting a learning object, the LEARNING_OBJECT_DELETION event is generated. This event indicates that the learning object has been deleted and is no longer available for learners to access.
In addition to real-time events, learning object events also have a batch (non-real-time) counterpart, which is triggered as part of the LEARNING_OBJECT_MODIFICATION_BATCH event. This event occurs during the creation or modification of a learning object through the migration workflow. Since learning object draft and delete operations are not supported via migration, there are no corresponding draft or deletion events for these actions.
Learning object instances
The following are the supported events for learning object instances.
Update
Once an instance is created, the LEARNING_OBJECT_INSTANCE_MODIFICATION event is generated. Learning object instances in Adobe Learning Manager don’t have a Draft state; therefore, Adobe Learning Manager doesn’t support a LEARNING_OBJECT_INSTANCE_DRAFT event. This event is generated whenever an instance is created, modified, or retired.
In addition to being generated when an instance is created, updated, or retired, this event is also auto-generated when its parent learning object is marked as Retired. This is because when a learning object is retired, the underlying instances need to be marked as Retired as well.
Delete
When an instance is deleted, the LEARNING_OBJECT_INSTANCE_DELETION event is generated. This event only applies to course instances that contain self-paced modules, as Adobe Learning Manager only allows admins to delete course instances where the module type is self-paced. Adobe Learning Manager does not support explicit deletions for other types of course modules not for learning path instances or certification instances.
The learning object instance also has a non-real-time counterpart, exposed as part of the LEARNING_OBJECT_INSTANCE_MODIFICATION_BATCH event. This event is triggered during the creation or modification of a learning object instance through the migration workflow. Since draft or delete operations for learning object instances are not supported in migration, corresponding draft or deletion events are not available.
Enrollment
Once a learner performs an enrollment action, a real-time enrollment event is triggered. Depending on the learning object type, the real-time enrollment event can fall into one of the following categories:
- COURSE_ENROLLMENT
- LEARNING_PATH_ENROLLMENT
- CERTIFICATION_ENROLLMENT
Enrollment events have batch counterparts in addition to these real-time events. Whenever an enrollment is triggered by an admin, manager, or platform, non-real-time enrollment events are triggered. Based on the learning object type, the batch enrollment event can be one of the following:
- COURSE_ENROLLMENT_BATCH
- LEARNING_PATH_ENROLLMENT_BATCH
- CERTIFICATION_ENROLLMENT_BATCH
Unenrollment
When a learner performs an unenrollment action, a real-time unenrollment event is triggered. Depending on the learning object type, the real-time unenrollment event can fall into one of the following categories:
- COURSE_UNENROLLMENT
- LEARNING_PATH_UNENROLLMENT
- CERTIFICATION_UNENROLLMENT
In addition to these events, there are also batch unenrollment events. Whenever an unenrollment is marked by an admin, manager, or platform, non-real time unenrollment events are triggered. Based on the learning object type, the batch unenrollment event can be one of the following:
- COURSE_UNENROLLMENT_BATCH
- LEARNING_PATH_UNENROLLMENT_BATCH
- CERTIFICATION_UNENROLLMENT_BATCH
Completion
The real-time completion event is triggered whenever a learner completes a learning object. Based on the learning object type, the real-time completion event can fall into one of the following categories:
- COURSE_COMPLETED
- LEARNING_PATH_COMPLETED
- CERTIFICATION_COMPLETED
In addition to these real-time events, there are also batch completion events. For example, when an admin, manager, or platform marks a learning object as complete, the non-real-time completion events are triggered. Based on the learning object type, the batch completion event can fall into one of the following categories:
- COURSE_COMPLETED_BATCH
- LEARNING_PATH_COMPLETED_BATCH
- CERTIFICATION_COMPLETED_BATCH
Learner progress
Whenever a learner enrolls in a learning object and begins the module, their progress is tracked. This data is included in the LEARNER_PROGRESS event. The event may be delayed by up to 15 minutes, as the progress tracking relies on complex aggregation logic, which is not real-time.
CI stats
The CI_STATS real-time event is triggered whenever there is a change in seat or waitlist availability for a course instance. This data is captured only at the instance level. Additionally, this event is triggered for courses and not for other learning paths or certifications, as seat and waitlist availability are attributes specific to a course and its instance.
Ordering of events
Adobe Learning Manager ensures that events are ordered for each account. However, there may be discrepancies when correlating messages between enrollment or completion and progress events. This happens because the learner progress event can be delayed by up to 15 minutes, as progress tracking relies on complex aggregation logic, which is not real-time. Additionally, progress events come from different data sources, so their order cannot be guaranteed in relation to enrollment and completion events. Therefore, Adobe Learning Manager provides best practices for clients when listening to these events.
If the completion event occurs before the learner progress event, the client can ignore the learner progress event. This is because the learner progress event can be delayed by up to 15 minutes, while the completion event may be triggered before the progress event is received. Since receiving a completion event indicates that the learning object is finished, it implies that progress has reached 100%.
In the rare case that the enrollment event comes after the learner progress event, the client can ignore the enrollment event. This is because progress can only be tracked after the learner has enrolled in the learning object. In other words, receiving a progress event indicates that the learning object has been started, which only happens after a successful enrollment.
Realtime events vs batched events
Certain events have real-time and non-real-time counterparts, as mentioned above. There may be questions about when to subscribe to real-time events and when to subscribe to non-real-time events. The following are guidelines that can be followed based on the entities described above.
Real-time events
S.No | Webhook Events | Description |
---|---|---|
1 | CI_STATS | Triggered when there is a change in seat or waitlist availability for a course instance. |
2 | COURSE_ENROLLMENT | Triggered when a learner enrolls in a course. |
3 | COURSE_COMPLETED | Triggered when a learner completes a course. |
4 | LEARNING_PATH_ENROLLMENT | Triggered when a learner enrolls in a learning path. |
5 | LEARNING_PATH_COMPLETED | Triggered when a learner completes a learning path. |
6 | CERTIFICATION_ENROLLMENT | Triggered when a learner enrolls in a certification. |
7 | CERTIFICATION_COMPLETED | Triggered when a learner completes a certification. |
8 | COURSE_UNENROLLMENT | Triggered when a learner unenrolls from a course. |
9 | LEARNING_PATH_UNENROLLMENT | Triggered when a learner unenrolls from a learning path. |
10 | CERTIFICATION_UNENROLLMENT | Triggered when a learner unenrolls from a certification. |
11 | LEARNING_OBJECT_DRAFT | Triggered during the creation of a learning object in draft state. |
12 | LEARNING_OBJECT_DELETION | Triggered during the deletion of a learning object. |
13 | LEARNING_OBJECT_MODIFICATION | Triggered during the modification of a learning object. |
14 | LEARNING_OBJECT_INSTANCE_MODIFICATION |
Triggered during the creation or modification of a learning object instance. Note: It is recommended to use course instances only after the course is published. |
15 | LEARNING_OBJECT_INSTANCE_DELETION | Triggered during the deletion of a learning object instance. |
Non–real-time events
S.No | Webhook Events | Description |
---|---|---|
1 | COURSE_ENROLLMENT_BATCH | Triggered when an admin/manager/platform enrolls learners in a course. |
2 | COURSE_COMPLETED_BATCH | Triggered when an admin/manager/platform marks a course as completed. |
3 | LEARNING_PATH_ENROLLMENT_BATCH | Triggered when an admin/manager/platform enrolls learners in a learning path. |
4 | LEARNING_PATH_COMPLETED_BATCH | Triggered when an admin/manager marks a learning path as completed. |
5 | CERTIFICATION_ENROLLMENT_BATCH | Triggered when an admin/manager/platform enrolls learners in a certification. |
6 | CERTIFICATION_COMPLETED_BATCH | Triggered when an admin/manager/platform marks a certification as completed. |
7 | LEARNER_PROGRESS | Tracks the progress of a learner when a module is completed. |
8 | COURSE_UNENROLLMENT_BATCH | Triggered when an admin/manager/platform unenrolls learners from a course. |
9 | LEARNING_PATH_UNENROLLMENT_BATCH | Triggered when an admin/manager/platform unenrolls learners from a learning path. |
10 | CERTIFICATION_UNENROLLMENT_BATCH | Triggered when an admin/manager/platform unenrolls learners from a certification. |
11 | LEARNING_OBJECT_MODIFICATION_BATCH | Triggered during the modification of a learning object via migration workflow. |
12 | LEARNING_OBJECT_INSTANCE_MODIFICATION_BATCH | Triggered during the creation or modification of a learning object instance via migration workflow. |