Open edX Events Data Attributes#
Here are the data classes and attributes available for use when creating new Open edX Events. Review the classes and attributes to understand the data available in your event before creating new data classes.
Note
If you are creating a new data class in a subdomain that is not listed here, please add the new data class to the appropriate new subdomain section.
Learning Subdomain#
Data attributes for events within the architecture subdomain learning.
These attributes follow the form of attr objects specified in OEP-49 data pattern.
- class openedx_events.learning.data.BadgeData(uuid: str, user: UserData, template: BadgeTemplateData)[source]#
Data related to a badge object.
- uuid#
the UUID of the badge.
- Type:
str
- template#
badge template data.
- Type:
- class openedx_events.learning.data.BadgeTemplateData(uuid: str, origin: str, name: str = None, description: str = None, image_url: str = None)[source]#
Data related to a badge template object.
- uuid#
UUID of the badge template.
- Type:
str
- origin#
type of badge template.
- Type:
str
- name#
badge name.
- Type:
str
- description#
badge description.
- Type:
str
- image_url#
badge image url.
- Type:
str
- class openedx_events.learning.data.CcxCourseData(ccx_course_key: CCXLocator, master_course_key: CourseKey, display_name: str = NOTHING, coach_email: str = NOTHING, start: str = None, end: str = None, max_students_allowed: int = None)[source]#
Represents data for a CCX (Custom Courses for edX) course.
- ccx_course_key#
The unique identifier for the CCX course.
- Type:
CCXLocator
- master_course_key#
The unique identifier for the original course from which the CCX is derived.
- Type:
CourseKey
- display_name#
The name of the CCX course as it should appear to users.
- Type:
str
- coach_email#
The email address of the coach (instructor) for the CCX course.
- Type:
str
- start#
The start date of the CCX course. Defaults to None, indicating no specific start date.
- Type:
str, optional
- end#
The end date of the CCX course. Defaults to None, indicating no specific end date.
- Type:
str, optional
- max_students_allowed#
The maximum number of students that can enroll in the CCX course. Defaults to None, indicating no limit.
- Type:
int, optional
- class openedx_events.learning.data.CcxCoursePassingStatusData(is_passing: bool, user: UserData, course: CcxCourseData)[source]#
Extends CoursePassingStatusData for CCX courses, specifying CCX course data.
This class is used for events where a user’s grade crosses a threshold specifically in a CCX course, providing a custom course attribute suited for CCX course instances.
- course#
An instance of CcxCourseData containing details about the CCX course in which the grade threshold was crossed.
- Type:
- All other attributes are inherited from CoursePassingStatusData.
- class openedx_events.learning.data.CertificateData(user: UserData, course: CourseData, mode: str, grade: str, download_url: str, name: str, current_status: str, previous_status: str = NOTHING)[source]#
Data related to a certificate object.
This data is based on the GeneratedCertificate data model defined in the certificates app.
- course#
course where the user obtained the certificate.
- Type:
- mode#
course mode associated with the course enrollment.
- Type:
str
- grade#
user’s grade in this course run.
- Type:
str
- download_url#
URL where the PDF version of the certificate.
- Type:
str
- name#
user’s name.
- Type:
str
- current_status#
current certificate status.
- Type:
str
- previous_status#
if available, pre-event certificate status.
- Type:
str
- class openedx_events.learning.data.CohortData(user: UserData, course: CourseData, name: str)[source]#
Attributes defined for cohort membership object.
This data is based on the fields available in the CohortMembership data model defined in the cohorts app.
- course#
course associated with the course group.
- Type:
- name#
name of the cohort group.
- Type:
str
- class openedx_events.learning.data.CourseAccessRoleData(user: UserData, org_key: str, course_key: CourseKey, role: str)[source]#
Data related to a user’s access role in a course.
- course_key#
identifier of the related course object.
- Type:
CourseKey
- org#
identifier of the organization.
- Type:
str
- role#
the role of the user in the course.
- Type:
str
- class openedx_events.learning.data.CourseData(course_key: CourseKey, display_name: str = NOTHING, start: datetime = None, end: datetime = None)[source]#
Data related to a course object.
This data is based on the fields available in the CourseOverview data model defined in the course_overviews app.
- course_key#
identifier of the course.
- Type:
str
- display_name#
display name associated with the course.
- Type:
str
- start#
start date for the course. Defaults to None.
- Type:
datetime
- end#
end date for the course. Defaults to None.
- Type:
datetime
- class openedx_events.learning.data.CourseDiscussionConfigurationData(course_key: CourseKey, provider_type: str, enable_in_context: bool = True, enable_graded_units: bool = False, unit_level_visibility: bool = False, plugin_configuration: dict = {}, contexts: List[DiscussionTopicContext] = NOTHING)[source]#
Data related to a course discussion configuration object.
Course configuration information for discussions. Contains all the metadata needed to configure discussions for a course.
- course_key#
identifier of the course to which the discussion belongs.
- Type:
str
- provider_type#
provider type from discussion settings.
- Type:
str
- enable_in_context#
indicates whether in-context discussion is enabled for the course
- Type:
bool
- enable_graded_units#
If enabled, discussion topics will be created for graded units as well.
- Type:
bool
- unit_level_visibility#
visibility for unit level.
- Type:
bool
- plugin_configuration#
The plugin configuration data for this context/provider.
- Type:
dict
- contexts#
contains all the contexts for which discussion is to be enabled.
- Type:
List[DiscussionTopicContext]
- class openedx_events.learning.data.CourseEnrollmentData(user: UserData, course: CourseData, mode: str, is_active: bool, creation_date: datetime, created_by: UserData = None)[source]#
Data related to a course enrollment object.
This data is based on the fields available in the CourseEnrollment data model defined in the student app.
- course#
course where the user is enrolled in.
- Type:
- mode#
course mode associated with the course enrollment.
- Type:
str
- is_active#
whether the enrollment is active.
- Type:
bool
- creation_date#
creation date of the enrollment.
- Type:
datetime
- class openedx_events.learning.data.CourseNotificationData(course_key: CourseKey, app_name: str, notification_type: str, content_url: str, content_context: dict = NOTHING, audience_filters: dict = NOTHING)[source]#
Data related to a course notification object.
- course_key#
identifier of the Course object.
- Type:
str
- app_name#
name of the app requesting the course notification.
- Type:
str
- notification_type#
type of the notification.
- Type:
str
- content_url#
url of the content the notification will redirect to.
- Type:
str
- content_context#
additional information related to the content of the notification. Notification content templates are defined in edx-platform here: openedx/edx-platform
- Type:
dict
- audience_filters#
additional information related to the audience of the notification. We can have different filters on course level, such as roles, enrollments, cohorts etc.
- Type:
dict
Example of content_context for a discussion notification:
>>> { ..., "content_context": { "post_title": "Post Title", "replier_name": "test_user", }
Example of audience_filters for a discussion notification (new_discussion_post):
>>> { ..., "audience_filters": { "enrollment": ["verified", "audit"], "role": ["discussion admin", "discussion moderator"], }
- class openedx_events.learning.data.CoursePassingStatusData(is_passing: bool, course: CourseData, user: UserData)[source]#
Represents the event data when a user’s grade is updated, indicates if current grade is enough for course passing.
- is_passing#
Indicates whether the user’s grade is enough to pass the course.
- Type:
bool
- user#
An instance of UserData containing information about the user whose grade was updated.
- Type:
- course#
An instance of CourseData containing details about the course in which the grade was updated.
- Type:
- class openedx_events.learning.data.DiscussionThreadData(anonymous: bool, anonymous_to_peers: bool, body: str, category_id: int, category_name: str, commentable_id: str, group_id: int, id: int, team_id: int, thread_type: str, title: str, title_truncated: bool, truncated: bool, url: str, user: UserData, course_id: CourseKey, discussion: dict = NOTHING, user_course_roles: List[str] = NOTHING, user_forums_roles: List[str] = NOTHING, options: dict = NOTHING)[source]#
Data related to a discussion thread object, used to represent Forum events such as comments, responses, and threads.
For more details on the data attributes, please see the following documentation: https://docs.openedx.org/en/latest/developers/references/internal_data_formats/tracking_logs/student_event_types.html#edx-forum-thread-created
- anonymous#
indicates whether the user is anonymous.
- Type:
bool
- anonymous_to_peers#
indicates whether the user is anonymous to peers.
- Type:
bool
- body#
body of the discussion thread.
- Type:
str
- category_id#
identifier of the category.
- Type:
int
- category_name#
name of the category.
- Type:
str
- commentable_id#
identifier of the commentable.
- Type:
str
- group_id#
identifier of the group.
- Type:
int
- id#
identifier of the discussion thread.
- Type:
int
- team_id#
identifier of the team.
- Type:
int
- thread_type#
type of the thread.
- Type:
str
- title#
title of the thread.
- Type:
str
- title_truncated#
indicates whether the title is truncated.
- Type:
bool
- truncated#
indicates whether the thread is truncated.
- Type:
bool
- url#
url of the thread.
- Type:
str
- course_id#
identifier of the course.
- Type:
CourseKey
- discussion#
discussion data. (optional, specific to comments and responses)
- Type:
dict
- user_course_roles#
user course roles.
- Type:
List[str]
- user_forums_roles#
user forums roles.
- Type:
List[str]
- options#
options for the thread.
- Type:
dict
- class openedx_events.learning.data.DiscussionTopicContext(title: str, usage_key: UsageKey = None, group_id: int | None = None, external_id: str = None, ordering: int = None, context: dict = NOTHING)[source]#
Data related to a discussion topic context.
Context for linking the external id for a discussion topic to its associated usage key.
- title#
title of the discussion. This field is cached to improve the performance, since otherwise we’d need to look it up in the course structure each time.
- Type:
str
- usage_key#
unit location.
- Type:
str
- group_id#
can be used for providers that don’t internally support cohorting but we can emulate that with different contexts for different groups.
- Type:
Optional[int]
- external_id#
store the commentable id that is used by cs_comments_service.
- Type:
str
- ordering#
represent the position of the discussion topic.
- Type:
int
- context#
additional structured information about the context in which this topic is used, such as the section, subsection etc.
- Type:
dict
- class openedx_events.learning.data.ExamAttemptData(student_user: UserData, course_key: CourseKey, usage_key: UsageKey, exam_type: str, requesting_user: UserData = None)[source]#
Data for the Open edX Exam downstream effects.
- Note that events that use this data type:
A. Pretain to “Special Exams”, e.g. Timed or Proctored exams, and not non-timed course subsections that are labelled as an exam. B. Are only ever emitted from the newer exams backend, edx-exams, and never from the legacy exams backend, edx-proctoring.
The event signals that use this data have the prefix EXAM_, which is equivalent to “special exam”. We are using this as a shortened form of the prefix SPECIAL_EXAM to avoid confusion, as these are likely the only type of exams that will be of concern in the context of events/the event bus.
For more information, please see the ADR relating to this event data: openedx/openedx-events
- course_key#
identifier of the course to which the exam attempt belongs
- Type:
CourseKey
- usage_key#
identifier of the content that will get a exam attempt
- Type:
UsageKey
- exam_type#
type of exam that was taken (e.g. timed, proctored, etc.)
- Type:
str
- class openedx_events.learning.data.ExternalGraderScoreData(points_possible: int, points_earned: int, course_id: str, score_msg: str, submission_id: int, user_id: str, module_id: str, queue_key: str, queue_name: str)[source]#
Class that encapsulates score data provided by an external grader.
This class uses attr.s with frozen=True to create an immutable structure containing information about the score assigned to a student submission.
- points_possible#
Maximum possible score for this assignment
- Type:
int
- points_earned#
Score earned by the student
- Type:
int
- course_id#
Unique identifier for the course
- Type:
str
- score_msg#
Descriptive message about the score (feedback)
- Type:
str
- submission_id#
Unique identifier for the graded submission
- Type:
int
- user_id#
ID of the user who submitted the assignment
- Type:
str
- module_id#
ID of the module/problem being graded
- Type:
str
- queue_key#
Unique key for the submission in the queue
- Type:
str
- queue_name#
Name of the queue that processed the submission
- Type:
str
- class openedx_events.learning.data.ORASubmissionAnswer(parts: List[dict] = NOTHING, file_keys: List[str] = NOTHING, file_descriptions: List[str] = NOTHING, file_names: List[str] = NOTHING, file_sizes: List[int] = NOTHING, file_urls: List[str] = NOTHING)[source]#
Data related to the answer submitted by the user in an ORA submission.
- parts#
List with the response text in the ORA submission.
- Type:
List[dict]
- The following attributes are used to represent the files submitted in the ORA submission
- file_keys#
List of file keys in the ORA submission.
- Type:
List[str]
- file_descriptions#
List of file descriptions in the ORA submission.
- Type:
List[str]
- file_names#
List of file names in the ORA submission.
- Type:
List[str]
- file_sizes#
List of file sizes in the ORA submission.
- Type:
List[int]
- file_urls#
List of file URLs in the ORA submission.
- Type:
List[str]
- class openedx_events.learning.data.ORASubmissionData(uuid: str, anonymous_user_id: str, location: str, attempt_number: int, created_at: datetime, submitted_at: datetime, answer: ORASubmissionAnswer)[source]#
Data associated to the ORA assessment submitted by a user.
- uuid#
The UUID of the ORA submission.
- Type:
str
- anonymous_user_id#
Optional. Anonymous user ID of the user who submitted the ORA submission.
- Type:
str
- location#
Optional. Location of the ORA submission.
- Type:
str
- attempt_number#
Attempt number of the ORA submission.
- Type:
int
- created_at#
Date and time when the ORA submission was created.
- Type:
datetime
- submitted_at#
Date and time when the ORA submission was submitted.
- Type:
datetime
- answer#
Answer submitted by the user in the ORA submission.
- Type:
- class openedx_events.learning.data.PersistentCourseGradeData(user_id: int, course: CourseData, course_edited_timestamp: datetime, course_version: str, grading_policy_hash: str, percent_grade: float, letter_grade: str, passed_timestamp: datetime)[source]#
Data related to a persistent course grade object.
This data is based on the fields available in the PersistentCourseGrade data model defined in the grades app.
- user_id#
identifier of the grade to which the grade belongs.
- Type:
int
- course#
Identifier of the course to which the grade belongs.
- Type:
- course_edited_timestamp#
date the course was edited.
- Type:
datetime
- course_version#
version of the course.
- Type:
str
- grading_policy_hash#
grading policy hash of the course.
- Type:
str
- percent_grade#
percentage of the grade.
- Type:
float
- letter_grade#
grade in letter
- Type:
str
- passed_timestamp#
date the course was passed.
- Type:
datetime
- class openedx_events.learning.data.ProgramCertificateData(user: UserData, program: ProgramData, uuid: str, status: str, url: str, certificate_available_date: datetime = None)[source]#
Data related to a Program Certificate object.
- program#
Program data associated with the Program Certificate.
- Type:
- uuid#
UUID of the UserCredential record in Credentials.
- Type:
str
- certificate_available_date#
Optional. A DateTime describing when a learner is allowed to view the credential.
- Type:
datetime
- status#
The status of the credential (e.g. awarded or revoked).
- Type:
str
- url#
A URL to the learner’s credential.
- Type:
str
- class openedx_events.learning.data.ProgramData(uuid: str, title: str, program_type: str)[source]#
Data related to a program object.
- uuid#
The UUID of the program (from Course-Discovery).
- Type:
str
- title#
The title of the program.
- Type:
str
- program_type#
The type slug of the program (e.g. professional, microbachelors, micromasters, etc.).
- Type:
str
- class openedx_events.learning.data.UserData(id: int, is_active: bool, pii: UserPersonalData)[source]#
Data related to a user object, including personal information and non-personal information.
This class extends UserNonPersonalData to include PII data completing the user object.
- id#
unique identifier for the Django User object.
- Type:
int
- is_active#
indicates whether the user is active.
- Type:
bool
- pii#
user’s Personal Identifiable Information.
- Type:
- class openedx_events.learning.data.UserNonPersonalData(id: int, is_active: bool)[source]#
Data related to a user object that does not contain personal information (PII).
- id#
unique identifier for the Django User object.
- Type:
int
- is_active#
indicates whether the user is active.
- Type:
bool
- class openedx_events.learning.data.UserNotificationData(user_ids: List[int], notification_type: str, content_url: str, app_name: str, course_key: CourseKey, context: dict = NOTHING)[source]#
Data related to a user notification object.
- user_ids#
identifier of the users to which the notification belongs.
- Type:
List(int)
- notification_type#
type of the notification.
- Type:
str
- content_url#
url of the content.
- Type:
str
- app_name#
name of the app.
- Type:
str
- course_key#
identifier of the Course object.
- Type:
str
- context#
additional structured information about the context of the notification.
- Type:
dict
- class openedx_events.learning.data.UserPersonalData(username: str, email: str, name: str = NOTHING)[source]#
Data related to a user object that contains personal information (PII).
- username#
username associated with the user.
- Type:
str
- email#
email associated with the user.
- Type:
str
- name#
name associated with the user’s profile.
- Type:
str
- class openedx_events.learning.data.VerificationAttemptData(attempt_id: int, user: UserData, status: str, name: str = None, expiration_date: datetime = None)[source]#
Data related to a IDV attempt object.
- attempt_id#
the id of the verification attempt
- Type:
int
- user#
the user (usually a learner) performing the verification attempt.
- Type:
User
- status#
the status of the verification attempt.
- Type:
string
- name#
the name being ID verified. Defaults to None.
- Type:
string
- expiration_datetime#
When the verification attempt expires. Defaults to None.
- Type:
datetime, optional
- class openedx_events.learning.data.XBlockSkillVerificationData(usage_key: UsageKey, verified_skills: List[int] = NOTHING, ignored_skills: List[int] = NOTHING)[source]#
Data needed to update verification count of tags/skills for an XBlock.
User feedback on whether tags/skills related to an XBlock are valid.
- usage_key#
identifier of the XBlock object.
- Type:
UsageKey
- verified_skills#
list of verified skill ids.
- Type:
List[int]
- ignored_skills#
list of ignored skill ids.
- Type:
List[int]
Analytics Subdomain#
Data attributes for events within the architecture subdomain analytics.
These attributes follow the form of attr objects specified in OEP-49 data pattern.
- class openedx_events.analytics.data.TrackingLogData(name: str, timestamp: datetime, data: str, context: str)[source]#
Data related to tracking events.
- name#
event name
- Type:
str
- timestamp#
timestamp of the event
- Type:
datetime
- data#
json string representation of a dictionary with extra data (optional), e.g., >>> {“course_id”: “course-v1:edX+DemoX+Demo_Course”}
- Type:
str
- context#
json string representation of a dictionary of context data defined in https://docs.openedx.org/en/latest/developers/references/internal_data_formats/index.html
- Type:
dict
Enterprise Subdomain#
Data attributes for events within the architecture subdomain enterprise.
These attributes follow the form of attr objects specified in OEP-49 data pattern.
- class openedx_events.enterprise.data.BaseEnterpriseFulfillment(uuid: UUID, created: datetime, modified: datetime, fulfillment_type: str, is_revoked: bool, enterprise_course_entitlement_uuid: UUID = None, enterprise_course_enrollment: EnterpriseCourseEnrollment = None)[source]#
Defines the common attributes of enterprise fulfillment classes, i.e.
enterprise.EnterpriseFulfillmentSource.Django model definition: openedx/edx-enterprise
- uuid#
Primary identifier of the record.
- Type:
str
- created#
When the record was created.
- Type:
datetime
- modified#
When the record was last modified.
- Type:
datetime
- fulfillment_type#
Subsidy fulfillment type, typical values: “license”, “learner_credit”, “coupon_code”.
- Type:
str
- enterprise_course_entitlement_uuid#
The course entitlement the associated subsidy is for.
- Type:
UUID
- enterprise_course_enrollment#
The course enrollment the associated subsidy is for.
- is_revoked#
Whether the enterprise subsidy is revoked, e.g., when a user’s license is revoked.
- Type:
bool
- class openedx_events.enterprise.data.BaseLedgerTransaction(uuid: UUID, created: datetime, modified: datetime, idempotency_key: str, quantity: int, state: str)[source]#
Data related to a Ledger Transaction object.
- uuid#
Primary identifier of the record.
- Type:
UUID
- created#
When the record was created.
- Type:
datetime
- modified#
When the record was last modified.
- Type:
datetime
- idempotency_key#
Client-generated unique value to achieve idempotency of operations.
- Type:
str
- quantity#
How many units of value this transaction represents (e.g. USD cents).
- Type:
int
- state#
Current lifecyle state of the record, one of (created, pending, committed, failed).
- Type:
str
- class openedx_events.enterprise.data.EnterpriseCourseEnrollment(id: int, created: datetime, modified: datetime, enterprise_customer_user: EnterpriseCustomerUser, course_id: CourseKey, saved_for_later: bool, source_slug: str = None, unenrolled: bool = None, unenrolled_at: datetime = None)[source]#
Data related to an Enterprise Course Enrollment object.
Django model definition: openedx/edx-enterprise
- id#
Primary identifier of the record.
- Type:
int
- created#
When the record was created.
- Type:
datetime
- modified#
When the record was last modified.
- Type:
datetime
- enterprise_customer_user#
The enterprise learner to which this enrollment is attached.
- Type:
- course_id#
The ID of the course in which the learner was enrolled.
- Type:
CourseKey
- saved_for_later#
Specifies whether a user marked this course as saved for later in the learner portal.
- Type:
bool
- source_slug#
DB slug for the source of the enrollment, e.g. “enrollment_task”, “management_command”, etc.
- Type:
str
- unenrolled#
Specifies whether the related LMS course enrollment object was unenrolled.
- Type:
bool
- unenrolled_at#
Specifies when the related LMS course enrollment object was unenrolled.
- Type:
datetime
- class openedx_events.enterprise.data.EnterpriseCustomerUser(id: int, created: datetime, modified: datetime, enterprise_customer_uuid: UUID, user_id: int, active: bool, linked: bool, is_relinkable: bool, should_inactivate_other_customers: bool, invite_key: UUID = None)[source]#
Data related to an Enterprise Customer User object.
Django model definition: openedx/edx-enterprise
- id#
Primary identifier of the record.
- Type:
int
- created#
When the record was created.
- Type:
datetime
- modified#
When the record was last modified.
- Type:
datetime
- enterprise_customer_uuid#
The enterprise customer to which the user is linked.
- Type:
UUID
- user_id#
The LMS user ID corresponding to this enterprise user.
- Type:
int
- active#
The active enterprise user for the given LMS user.
- Type:
bool
- linked#
This enterprise user has been linked to an enterprise customer.
- Type:
bool
- is_relinkable#
When set to False, the user cannot be relinked to the enterprise.
- Type:
bool
- invite_key#
Invite key used to link a learner to an enterprise.
- Type:
UUID
- should_inactivate_other_customers#
When enabled along with active, all other linked enterprise customers for this user will be marked as inactive upon save.
- Type:
bool
- class openedx_events.enterprise.data.LearnerCreditEnterpriseCourseEnrollment(uuid: UUID, created: datetime, modified: datetime, fulfillment_type: str, is_revoked: bool, enterprise_course_entitlement_uuid: UUID = None, enterprise_course_enrollment: EnterpriseCourseEnrollment = None, transaction_id: UUID = None)[source]#
Attributes of an
enterprise.LearnerCreditEnterpriseCourseEnrollmentrecord.Django model definition: openedx/edx-enterprise
All of the same attributes from BaseEnterpriseFulfillment plus the following:
- transaction_id#
Ledgered transaction UUID to associate with this learner credit fulfillment.
- Type:
UUID
- class openedx_events.enterprise.data.LedgerTransaction(uuid: UUID, created: datetime, modified: datetime, idempotency_key: str, quantity: int, state: str, ledger_uuid: UUID, subsidy_access_policy_uuid: UUID, lms_user_id: int, content_key: CourseKey, parent_content_key: str = None, fulfillment_identifier: str = None, reversal: LedgerTransactionReversal = None)[source]#
Attributes of an
openedx_ledger.Transactionrecord.A
Transactionis a model that represents value moving in or out of aLedger. It’s primarily used within the domain of edX Enterprise for recording the redemption of subsidized enrollments. openedx/openedx-ledger- uuid#
Primary identifier of the Transaction.
- Type:
UUID
- created#
When the record was created.
- Type:
datetime
- modified#
When the record was last modified.
- Type:
datetime
- idempotency_key#
Client-generated unique value to achieve idempotency of operations.
- Type:
str
- quantity#
How many units of value this transaction represents (e.g. USD cents).
- Type:
int
- state#
Current lifecyle state of the record, one of (created, pending, committed, failed).
- Type:
str
- ledger_uuid#
The primary identifier of this Transaction’s ledger object.
- Type:
UUID
- subsidy_access_policy_uuid#
The primary identifier of the subsidy access policy for this transaction.
- Type:
UUID
- lms_user_id#
The LMS user id of the user associated with this transaction.
- Type:
int
- content_key#
The course (run) key associated with this transaction.
- Type:
CourseKey
- parent_content_key#
The parent (just course, not run) key for the course key.
- Type:
str
- fulfillment_identifier#
The identifier of the subsidized enrollment record for a learner, generated durning enrollment.
- Type:
str
- reversal#
Any reversal associated with this transaction.
- class openedx_events.enterprise.data.LedgerTransactionReversal(uuid: UUID, created: datetime, modified: datetime, idempotency_key: str, quantity: int, state: str)[source]#
Attributes of an
openedx_ledger.Reversalrecord.A
Reversalis a model that represents the “undo-ing” of aTransaction(see below). It’s primarily used within the domain of edX Enterprise for recording unenrollments and refunds of subsidized enterprise enrollments. openedx/openedx-ledger- uuid#
Primary identifier of the record.
- Type:
str
- created#
When the record was created.
- Type:
datetime
- modified#
When the record was last modified.
- Type:
datetime
- idempotency_key#
Client-generated unique value to achieve idempotency of operations.
- Type:
str
- quantity#
How many units of value this reversal represents (e.g. USD cents).
- Type:
int
- state#
Current lifecyle state of the record, one of (created, pending, committed, failed).
- Type:
str
- class openedx_events.enterprise.data.LicensedEnterpriseCourseEnrollment(uuid: UUID, created: datetime, modified: datetime, fulfillment_type: str, is_revoked: bool, enterprise_course_entitlement_uuid: UUID = None, enterprise_course_enrollment: EnterpriseCourseEnrollment = None, license_uuid: UUID = None)[source]#
Attributes of an
enterprise.LicensedEnterpriseCourseEnrollmentrecord.Django model definition: openedx/edx-enterprise
All of the same attributes from BaseEnterpriseFulfillment plus the following:
- license_uuid#
License UUID to associate with this enterprise license fulfillment.
- Type:
UUID
- class openedx_events.enterprise.data.SubsidyRedemption(subsidy_identifier: str, content_key: str, lms_user_id: int)[source]#
Data related to a Subsidy Redemption object.
- subsidy_identifier#
unique identifier to fetch the applied subsidy
- Type:
str
- content_key#
content id where subsidy is utilized
- Type:
str
- lms_user_id#
lms user id of subsidy beneficiary
- Type:
str
Maintenance chart
Review Date |
Reviewer |
Release |
Test situation |
2025-02-05 |
Maria Grimaldi |
Sumac |
Pass. |