EVENT GUIDE
tutorhub-enrollmentmanagement-service
Handles enrollments (course booking, lesson/slot allocation, fulfillment/pre-check, and payment via Stripe) and refund workflow (strictly after first lesson only, auto approved, and Stripe-based). Exposes all enrollment/payment/refund status for admins, tutors, and students. All business state transitions are auditable for analytics and compliance.
Architectural Design Credit and Contact Information
The architectural design of this microservice is credited to . For inquiries, feedback, or further information regarding the architecture, please direct your communication to:
Email:
We encourage open communication and welcome any questions or discussions related to the architectural aspects of this microservice.
Documentation Scope
Welcome to the official documentation for the EnrollmentManagement Service Event descriptions. This guide is dedicated to detailing how to subscribe to and listen for state changes within the EnrollmentManagement Service, offering an exclusive focus on event subscription mechanisms.
Intended Audience
This documentation is aimed at developers and integrators looking to monitor EnrollmentManagement Service state changes. It is especially relevant for those wishing to implement or enhance business logic based on interactions with EnrollmentManagement objects.
Overview
This section provides detailed instructions on monitoring service events, covering payload structures and demonstrating typical use cases through examples.
Authentication and Authorization
Access to the EnrollmentManagement service’s events is facilitated through the project’s Kafka server, which is not accessible to the public. Subscription to a Kafka topic requires being on the same network and possessing valid Kafka user credentials. This document presupposes that readers have existing access to the Kafka server.
Additionally, the service offers a public subscription option via REST for real-time data management in frontend applications, secured through REST API authentication and authorization mechanisms. To subscribe to service events via the REST API, please consult the Realtime REST API Guide.
Database Events
Database events are triggered at the database layer, automatically and atomically, in response to any modifications at the data level. These events serve to notify subscribers about the creation, update, or deletion of objects within the database, distinct from any overarching business logic.
Listening to database events is particularly beneficial for those focused on tracking changes at the database level. A typical use case for subscribing to database events is to replicate the data store of one service within another service’s scope, ensuring data consistency and syncronization across services.
For example, while a business operation such as “approve membership” might generate a high-level business event like membership-approved, the underlying database changes could involve multiple state updates to different entities. These might be published as separate events, such as dbevent-member-updated and dbevent-user-updated, reflecting the granular changes at the database level.
Such detailed eventing provides a robust foundation for building responsive, data-driven applications, enabling fine-grained observability and reaction to the dynamics of the data landscape. It also facilitates the architectural pattern of event sourcing, where state changes are captured as a sequence of events, allowing for high-fidelity data replication and history replay for analytical or auditing purposes.
DbEvent enrollment-created
Event topic: tutorhub-enrollmentmanagement-service-dbevent-enrollment-created
This event is triggered upon the creation of a enrollment data object in the database. The event payload encompasses the newly created data, encapsulated within the root of the paylod.
Event payload:
{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent enrollment-updated
Event topic: tutorhub-enrollmentmanagement-service-dbevent-enrollment-updated
Activation of this event follows the update of a enrollment data object. The payload contains the updated information under the enrollment attribute, along with the original data prior to update, labeled as old_enrollment and also you can find the old and new versions of updated-only portion of the data…
Event payload:
{
old_enrollment:{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
enrollment:{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
oldDataValues,
newDataValues
}
DbEvent enrollment-deleted
Event topic: tutorhub-enrollmentmanagement-service-dbevent-enrollment-deleted
This event announces the deletion of a enrollment data object, covering both hard deletions (permanent removal) and soft deletions (where the isActive attribute is set to false). Regardless of the deletion type, the event payload will present the data as it was immediately before deletion, highlighting an isActive status of false for soft deletions.
Event payload:
{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent refundRequest-created
Event topic: tutorhub-enrollmentmanagement-service-dbevent-refundrequest-created
This event is triggered upon the creation of a refundRequest data object in the database. The event payload encompasses the newly created data, encapsulated within the root of the paylod.
Event payload:
{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent refundRequest-updated
Event topic: tutorhub-enrollmentmanagement-service-dbevent-refundrequest-updated
Activation of this event follows the update of a refundRequest data object. The payload contains the updated information under the refundRequest attribute, along with the original data prior to update, labeled as old_refundRequest and also you can find the old and new versions of updated-only portion of the data…
Event payload:
{
old_refundRequest:{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
refundRequest:{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
oldDataValues,
newDataValues
}
DbEvent refundRequest-deleted
Event topic: tutorhub-enrollmentmanagement-service-dbevent-refundrequest-deleted
This event announces the deletion of a refundRequest data object, covering both hard deletions (permanent removal) and soft deletions (where the isActive attribute is set to false). Regardless of the deletion type, the event payload will present the data as it was immediately before deletion, highlighting an isActive status of false for soft deletions.
Event payload:
{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent sys_enrollmentPayment-created
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_enrollmentpayment-created
This event is triggered upon the creation of a sys_enrollmentPayment data object in the database. The event payload encompasses the newly created data, encapsulated within the root of the paylod.
Event payload:
{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent sys_enrollmentPayment-updated
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_enrollmentpayment-updated
Activation of this event follows the update of a sys_enrollmentPayment data object. The payload contains the updated information under the sys_enrollmentPayment attribute, along with the original data prior to update, labeled as old_sys_enrollmentPayment and also you can find the old and new versions of updated-only portion of the data…
Event payload:
{
old_sys_enrollmentPayment:{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
sys_enrollmentPayment:{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
oldDataValues,
newDataValues
}
DbEvent sys_enrollmentPayment-deleted
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_enrollmentpayment-deleted
This event announces the deletion of a sys_enrollmentPayment data object, covering both hard deletions (permanent removal) and soft deletions (where the isActive attribute is set to false). Regardless of the deletion type, the event payload will present the data as it was immediately before deletion, highlighting an isActive status of false for soft deletions.
Event payload:
{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent sys_paymentCustomer-created
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_paymentcustomer-created
This event is triggered upon the creation of a sys_paymentCustomer data object in the database. The event payload encompasses the newly created data, encapsulated within the root of the paylod.
Event payload:
{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent sys_paymentCustomer-updated
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_paymentcustomer-updated
Activation of this event follows the update of a sys_paymentCustomer data object. The payload contains the updated information under the sys_paymentCustomer attribute, along with the original data prior to update, labeled as old_sys_paymentCustomer and also you can find the old and new versions of updated-only portion of the data…
Event payload:
{
old_sys_paymentCustomer:{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
sys_paymentCustomer:{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
oldDataValues,
newDataValues
}
DbEvent sys_paymentCustomer-deleted
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_paymentcustomer-deleted
This event announces the deletion of a sys_paymentCustomer data object, covering both hard deletions (permanent removal) and soft deletions (where the isActive attribute is set to false). Regardless of the deletion type, the event payload will present the data as it was immediately before deletion, highlighting an isActive status of false for soft deletions.
Event payload:
{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent sys_paymentMethod-created
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_paymentmethod-created
This event is triggered upon the creation of a sys_paymentMethod data object in the database. The event payload encompasses the newly created data, encapsulated within the root of the paylod.
Event payload:
{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
DbEvent sys_paymentMethod-updated
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_paymentmethod-updated
Activation of this event follows the update of a sys_paymentMethod data object. The payload contains the updated information under the sys_paymentMethod attribute, along with the original data prior to update, labeled as old_sys_paymentMethod and also you can find the old and new versions of updated-only portion of the data…
Event payload:
{
old_sys_paymentMethod:{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
sys_paymentMethod:{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},
oldDataValues,
newDataValues
}
DbEvent sys_paymentMethod-deleted
Event topic: tutorhub-enrollmentmanagement-service-dbevent-sys_paymentmethod-deleted
This event announces the deletion of a sys_paymentMethod data object, covering both hard deletions (permanent removal) and soft deletions (where the isActive attribute is set to false). Regardless of the deletion type, the event payload will present the data as it was immediately before deletion, highlighting an isActive status of false for soft deletions.
Event payload:
{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
ElasticSearch Index Events
Within the EnrollmentManagement service, most data objects are mirrored in ElasticSearch indices, ensuring these indices remain syncronized with their database counterparts through creation, updates, and deletions. These indices serve dual purposes: they act as a data source for external services and furnish aggregated data tailored to enhance frontend user experiences. Consequently, an ElasticSearch index might encapsulate data in its original form or aggregate additional information from other data objects.
These aggregations can include both one-to-one and one-to-many relationships not only with database objects within the same service but also across different services. This capability allows developers to access comprehensive, aggregated data efficiently. By subscribing to ElasticSearch index events, developers are notified when an index is updated and can directly obtain the aggregated entity within the event payload, bypassing the need for separate ElasticSearch queries.
It’s noteworthy that some services may augment another service’s index by appending to the entity’s extends object. In such scenarios, an *-extended event will contain only the newly added data. Should you require the complete dataset, you would need to retrieve the full ElasticSearch index entity using the provided ID.
This approach to indexing and event handling facilitates a modular, interconnected architecture where services can seamlessly integrate and react to changes, enriching the overall data ecosystem and enabling more dynamic, responsive applications.
Index Event enrollment-created
Event topic: elastic-index-tutorhub_enrollment-created
Event payload:
{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event enrollment-updated
Event topic: elastic-index-tutorhub_enrollment-created
Event payload:
{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event enrollment-deleted
Event topic: elastic-index-tutorhub_enrollment-deleted
Event payload:
{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event enrollment-extended
Event topic: elastic-index-tutorhub_enrollment-extended
Event payload:
{
id: id,
extends: {
[extendName]: "Object",
[extendName + "_count"]: "Number",
},
}
Route Events
Route events are emitted following the successful execution of a route. While most routes perform CRUD (Create, Read, Update, Delete) operations on data objects, resulting in route events that closely resemble database events, there are distinctions worth noting. A single route execution might trigger multiple CRUD actions and ElasticSearch indexing operations. However, for those primarily concerned with the overarching business logic and its outcomes, listening to the consolidated route event, published once at the conclusion of the route’s execution, is more pertinent.
Moreover, routes often deliver aggregated data beyond the primary database object, catering to specific client needs. For instance, creating a data object via a route might not only return the entity’s data but also route-specific metrics, such as the executing user’s permissions related to the entity. Alternatively, a route might automatically generate default child entities following the creation of a parent object. Consequently, the route event encapsulates a unified dataset encompassing both the parent and its children, in contrast to individual events triggered for each entity created. Therefore, subscribing to route events can offer a richer, more contextually relevant set of information aligned with business logic.
The payload of a route event mirrors the REST response JSON of the route, providing a direct and comprehensive reflection of the data and metadata communicated to the client. This ensures that subscribers to route events receive a payload that encapsulates both the primary data involved and any additional information deemed significant at the business level, facilitating a deeper understanding and integration of the service’s functional outcomes.
Route Event enrollment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundrequest-created
Event topic : tutorhub-enrollmentmanagement-service-refundrequest-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollment-canceled
Event topic : tutorhub-enrollmentmanagement-service-enrollment-canceled
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundenrollment-admined
Event topic : tutorhub-enrollmentmanagement-service-refundenrollment-admined
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event tutorban-cascaded
Event topic : tutorhub-enrollmentmanagement-service-tutorban-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event courseremoval-cascaded
Event topic : tutorhub-enrollmentmanagement-service-courseremoval-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayments-listed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayments-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayments data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayments","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_enrollmentPayments":[{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-updated
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-updated
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-deleted
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-deleted
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"DELETE","action":"delete","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbyorderid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbyorderid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbypaymentid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbypaymentid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-started
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-started
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-refreshed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-refreshed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-calledback
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-calledback
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event paymentcustomerbyuserid-retrived
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomerbyuserid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomer data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomer object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomer","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_paymentCustomer":{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event paymentcustomers-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomers-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomers data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomers object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomers","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentCustomers":[{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event paymentcustomermethods-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomermethods-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentMethods data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentMethods object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentMethods","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentMethods":[{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Index Event refundrequest-created
Event topic: elastic-index-tutorhub_refundrequest-created
Event payload:
{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event refundrequest-updated
Event topic: elastic-index-tutorhub_refundrequest-created
Event payload:
{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event refundrequest-deleted
Event topic: elastic-index-tutorhub_refundrequest-deleted
Event payload:
{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event refundrequest-extended
Event topic: elastic-index-tutorhub_refundrequest-extended
Event payload:
{
id: id,
extends: {
[extendName]: "Object",
[extendName + "_count"]: "Number",
},
}
Route Events
Route events are emitted following the successful execution of a route. While most routes perform CRUD (Create, Read, Update, Delete) operations on data objects, resulting in route events that closely resemble database events, there are distinctions worth noting. A single route execution might trigger multiple CRUD actions and ElasticSearch indexing operations. However, for those primarily concerned with the overarching business logic and its outcomes, listening to the consolidated route event, published once at the conclusion of the route’s execution, is more pertinent.
Moreover, routes often deliver aggregated data beyond the primary database object, catering to specific client needs. For instance, creating a data object via a route might not only return the entity’s data but also route-specific metrics, such as the executing user’s permissions related to the entity. Alternatively, a route might automatically generate default child entities following the creation of a parent object. Consequently, the route event encapsulates a unified dataset encompassing both the parent and its children, in contrast to individual events triggered for each entity created. Therefore, subscribing to route events can offer a richer, more contextually relevant set of information aligned with business logic.
The payload of a route event mirrors the REST response JSON of the route, providing a direct and comprehensive reflection of the data and metadata communicated to the client. This ensures that subscribers to route events receive a payload that encapsulates both the primary data involved and any additional information deemed significant at the business level, facilitating a deeper understanding and integration of the service’s functional outcomes.
Route Event enrollment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundrequest-created
Event topic : tutorhub-enrollmentmanagement-service-refundrequest-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollment-canceled
Event topic : tutorhub-enrollmentmanagement-service-enrollment-canceled
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundenrollment-admined
Event topic : tutorhub-enrollmentmanagement-service-refundenrollment-admined
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event tutorban-cascaded
Event topic : tutorhub-enrollmentmanagement-service-tutorban-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event courseremoval-cascaded
Event topic : tutorhub-enrollmentmanagement-service-courseremoval-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayments-listed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayments-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayments data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayments","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_enrollmentPayments":[{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-updated
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-updated
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-deleted
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-deleted
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"DELETE","action":"delete","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbyorderid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbyorderid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbypaymentid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbypaymentid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-started
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-started
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-refreshed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-refreshed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-calledback
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-calledback
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event paymentcustomerbyuserid-retrived
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomerbyuserid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomer data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomer object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomer","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_paymentCustomer":{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event paymentcustomers-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomers-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomers data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomers object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomers","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentCustomers":[{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event paymentcustomermethods-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomermethods-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentMethods data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentMethods object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentMethods","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentMethods":[{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Index Event sys_enrollmentpayment-created
Event topic: elastic-index-tutorhub_sys_enrollmentpayment-created
Event payload:
{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_enrollmentpayment-updated
Event topic: elastic-index-tutorhub_sys_enrollmentpayment-created
Event payload:
{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_enrollmentpayment-deleted
Event topic: elastic-index-tutorhub_sys_enrollmentpayment-deleted
Event payload:
{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_enrollmentpayment-extended
Event topic: elastic-index-tutorhub_sys_enrollmentpayment-extended
Event payload:
{
id: id,
extends: {
[extendName]: "Object",
[extendName + "_count"]: "Number",
},
}
Route Events
Route events are emitted following the successful execution of a route. While most routes perform CRUD (Create, Read, Update, Delete) operations on data objects, resulting in route events that closely resemble database events, there are distinctions worth noting. A single route execution might trigger multiple CRUD actions and ElasticSearch indexing operations. However, for those primarily concerned with the overarching business logic and its outcomes, listening to the consolidated route event, published once at the conclusion of the route’s execution, is more pertinent.
Moreover, routes often deliver aggregated data beyond the primary database object, catering to specific client needs. For instance, creating a data object via a route might not only return the entity’s data but also route-specific metrics, such as the executing user’s permissions related to the entity. Alternatively, a route might automatically generate default child entities following the creation of a parent object. Consequently, the route event encapsulates a unified dataset encompassing both the parent and its children, in contrast to individual events triggered for each entity created. Therefore, subscribing to route events can offer a richer, more contextually relevant set of information aligned with business logic.
The payload of a route event mirrors the REST response JSON of the route, providing a direct and comprehensive reflection of the data and metadata communicated to the client. This ensures that subscribers to route events receive a payload that encapsulates both the primary data involved and any additional information deemed significant at the business level, facilitating a deeper understanding and integration of the service’s functional outcomes.
Route Event enrollment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundrequest-created
Event topic : tutorhub-enrollmentmanagement-service-refundrequest-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollment-canceled
Event topic : tutorhub-enrollmentmanagement-service-enrollment-canceled
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundenrollment-admined
Event topic : tutorhub-enrollmentmanagement-service-refundenrollment-admined
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event tutorban-cascaded
Event topic : tutorhub-enrollmentmanagement-service-tutorban-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event courseremoval-cascaded
Event topic : tutorhub-enrollmentmanagement-service-courseremoval-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayments-listed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayments-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayments data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayments","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_enrollmentPayments":[{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-updated
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-updated
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-deleted
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-deleted
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"DELETE","action":"delete","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbyorderid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbyorderid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbypaymentid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbypaymentid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-started
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-started
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-refreshed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-refreshed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-calledback
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-calledback
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event paymentcustomerbyuserid-retrived
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomerbyuserid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomer data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomer object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomer","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_paymentCustomer":{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event paymentcustomers-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomers-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomers data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomers object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomers","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentCustomers":[{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event paymentcustomermethods-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomermethods-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentMethods data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentMethods object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentMethods","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentMethods":[{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Index Event sys_paymentcustomer-created
Event topic: elastic-index-tutorhub_sys_paymentcustomer-created
Event payload:
{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_paymentcustomer-updated
Event topic: elastic-index-tutorhub_sys_paymentcustomer-created
Event payload:
{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_paymentcustomer-deleted
Event topic: elastic-index-tutorhub_sys_paymentcustomer-deleted
Event payload:
{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_paymentcustomer-extended
Event topic: elastic-index-tutorhub_sys_paymentcustomer-extended
Event payload:
{
id: id,
extends: {
[extendName]: "Object",
[extendName + "_count"]: "Number",
},
}
Route Events
Route events are emitted following the successful execution of a route. While most routes perform CRUD (Create, Read, Update, Delete) operations on data objects, resulting in route events that closely resemble database events, there are distinctions worth noting. A single route execution might trigger multiple CRUD actions and ElasticSearch indexing operations. However, for those primarily concerned with the overarching business logic and its outcomes, listening to the consolidated route event, published once at the conclusion of the route’s execution, is more pertinent.
Moreover, routes often deliver aggregated data beyond the primary database object, catering to specific client needs. For instance, creating a data object via a route might not only return the entity’s data but also route-specific metrics, such as the executing user’s permissions related to the entity. Alternatively, a route might automatically generate default child entities following the creation of a parent object. Consequently, the route event encapsulates a unified dataset encompassing both the parent and its children, in contrast to individual events triggered for each entity created. Therefore, subscribing to route events can offer a richer, more contextually relevant set of information aligned with business logic.
The payload of a route event mirrors the REST response JSON of the route, providing a direct and comprehensive reflection of the data and metadata communicated to the client. This ensures that subscribers to route events receive a payload that encapsulates both the primary data involved and any additional information deemed significant at the business level, facilitating a deeper understanding and integration of the service’s functional outcomes.
Route Event enrollment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundrequest-created
Event topic : tutorhub-enrollmentmanagement-service-refundrequest-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollment-canceled
Event topic : tutorhub-enrollmentmanagement-service-enrollment-canceled
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundenrollment-admined
Event topic : tutorhub-enrollmentmanagement-service-refundenrollment-admined
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event tutorban-cascaded
Event topic : tutorhub-enrollmentmanagement-service-tutorban-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event courseremoval-cascaded
Event topic : tutorhub-enrollmentmanagement-service-courseremoval-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayments-listed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayments-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayments data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayments","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_enrollmentPayments":[{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-updated
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-updated
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-deleted
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-deleted
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"DELETE","action":"delete","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbyorderid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbyorderid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbypaymentid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbypaymentid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-started
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-started
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-refreshed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-refreshed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-calledback
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-calledback
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event paymentcustomerbyuserid-retrived
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomerbyuserid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomer data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomer object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomer","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_paymentCustomer":{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event paymentcustomers-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomers-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomers data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomers object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomers","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentCustomers":[{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event paymentcustomermethods-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomermethods-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentMethods data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentMethods object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentMethods","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentMethods":[{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Index Event sys_paymentmethod-created
Event topic: elastic-index-tutorhub_sys_paymentmethod-created
Event payload:
{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_paymentmethod-updated
Event topic: elastic-index-tutorhub_sys_paymentmethod-created
Event payload:
{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_paymentmethod-deleted
Event topic: elastic-index-tutorhub_sys_paymentmethod-deleted
Event payload:
{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}
Index Event sys_paymentmethod-extended
Event topic: elastic-index-tutorhub_sys_paymentmethod-extended
Event payload:
{
id: id,
extends: {
[extendName]: "Object",
[extendName + "_count"]: "Number",
},
}
Route Events
Route events are emitted following the successful execution of a route. While most routes perform CRUD (Create, Read, Update, Delete) operations on data objects, resulting in route events that closely resemble database events, there are distinctions worth noting. A single route execution might trigger multiple CRUD actions and ElasticSearch indexing operations. However, for those primarily concerned with the overarching business logic and its outcomes, listening to the consolidated route event, published once at the conclusion of the route’s execution, is more pertinent.
Moreover, routes often deliver aggregated data beyond the primary database object, catering to specific client needs. For instance, creating a data object via a route might not only return the entity’s data but also route-specific metrics, such as the executing user’s permissions related to the entity. Alternatively, a route might automatically generate default child entities following the creation of a parent object. Consequently, the route event encapsulates a unified dataset encompassing both the parent and its children, in contrast to individual events triggered for each entity created. Therefore, subscribing to route events can offer a richer, more contextually relevant set of information aligned with business logic.
The payload of a route event mirrors the REST response JSON of the route, providing a direct and comprehensive reflection of the data and metadata communicated to the client. This ensures that subscribers to route events receive a payload that encapsulates both the primary data involved and any additional information deemed significant at the business level, facilitating a deeper understanding and integration of the service’s functional outcomes.
Route Event enrollment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundrequest-created
Event topic : tutorhub-enrollmentmanagement-service-refundrequest-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollment-canceled
Event topic : tutorhub-enrollmentmanagement-service-enrollment-canceled
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event refundenrollment-admined
Event topic : tutorhub-enrollmentmanagement-service-refundenrollment-admined
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the refundRequest data object itself.
The following JSON included in the payload illustrates the fullest representation of the refundRequest object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"refundRequest","method":"POST","action":"create","appVersion":"Version","rowCount":1,"refundRequest":{"id":"ID","enrollmentId":"ID","requestedBy":"ID","requestedAt":"Date","processedAt":"Date","status":"Enum","status_idx":"Integer","reason":"String","firstLessonCompleted":"Boolean","adminNote":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event tutorban-cascaded
Event topic : tutorhub-enrollmentmanagement-service-tutorban-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event courseremoval-cascaded
Event topic : tutorhub-enrollmentmanagement-service-courseremoval-cascaded
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollments data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollments","method":"POST","action":"list","appVersion":"Version","rowCount":"\"Number\"","enrollments":[{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayments-listed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayments-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayments data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayments object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayments","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_enrollmentPayments":[{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event enrollmentpayment-created
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-created
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"201","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"POST","action":"create","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-updated
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-updated
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-deleted
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-deleted
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"DELETE","action":"delete","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":false,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbyorderid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbyorderid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpaymentbypaymentid-retrived
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpaymentbypaymentid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_enrollmentPayment data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_enrollmentPayment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_enrollmentPayment","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_enrollmentPayment":{"id":"ID","ownerId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"String","statusLiteral":"String","redirectUrl":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event enrollmentpayment-started
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-started
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-refreshed
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-refreshed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"PATCH","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event enrollmentpayment-calledback
Event topic : tutorhub-enrollmentmanagement-service-enrollmentpayment-calledback
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the enrollment data object itself.
The following JSON included in the payload illustrates the fullest representation of the enrollment object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"enrollment","method":"POST","action":"update","appVersion":"Version","rowCount":1,"enrollment":{"id":"ID","coursePackId":"ID","studentId":"ID","tutorProfileId":"ID","lessonSlotIds":"ID","totalAmount":"Double","currency":"String","paymentStatus":"Enum","paymentStatus_idx":"Integer","refundStatus":"Enum","refundStatus_idx":"Integer","enrollmentStatus":"Enum","enrollmentStatus_idx":"Integer","enrolledAt":"Date","paymentConfirmation":"Enum","paymentConfirmation_idx":"Integer","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},"paymentResult":{"paymentTicketId":"ID","orderId":"ID","paymentId":"String","paymentStatus":"Enum","paymentIntentInfo":"Object","statusLiteral":"String","amount":"Double","currency":"String","success":true,"description":"String","metadata":"Object","paymentUserParams":"Object"}}
Route Event paymentcustomerbyuserid-retrived
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomerbyuserid-retrived
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomer data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomer object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomer","method":"GET","action":"get","appVersion":"Version","rowCount":1,"sys_paymentCustomer":{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"}}
Route Event paymentcustomers-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomers-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentCustomers data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentCustomers object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentCustomers","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentCustomers":[{"id":"ID","userId":"ID","customerId":"String","platform":"String","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Route Event paymentcustomermethods-listed
Event topic : tutorhub-enrollmentmanagement-service-paymentcustomermethods-listed
Event payload:
The event payload, mirroring the REST API response, is structured as an encapsulated JSON. It includes metadata related to the API as well as the sys_paymentMethods data object itself.
The following JSON included in the payload illustrates the fullest representation of the sys_paymentMethods object. Note, however, that certain properties might be excluded in accordance with the object’s inherent logic.
{"status":"OK","statusCode":"200","elapsedMs":126,"ssoTime":120,"source":"db","cacheKey":"hexCode","userId":"ID","sessionId":"ID","requestId":"ID","dataName":"sys_paymentMethods","method":"GET","action":"list","appVersion":"Version","rowCount":"\"Number\"","sys_paymentMethods":[{"id":"ID","paymentMethodId":"String","userId":"ID","customerId":"String","cardHolderName":"String","cardHolderZip":"String","platform":"String","cardInfo":"Object","isActive":true,"recordVersion":"Integer","createdAt":"Date","updatedAt":"Date","_owner":"ID"},{},{}],"paging":{"pageNumber":"Number","pageRowCount":"NUmber","totalRowCount":"Number","pageCount":"Number"},"filters":[],"uiPermissions":[]}
Copyright
All sources, documents and other digital materials are copyright of .
About Us
For more information please visit our website: .
. .