EmailSmsNotificationService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations
Description
Orchestrates the dispatch of email and SMS notifications for critical system events. It receives notification requests from upstream services and routes them through the appropriate channel based on recipient preferences and message priority. Handles retry logic, delivery tracking, and ensures reliable message delivery for time-sensitive alerts such as assignment dispatches, event confirmations, and certification expiry warnings.
email-sms-notification-service
Sources & reasoning
No explicit email/SMS source passage exists, but the follow-up dissatisfaction data (line 116) motivates multi-channel delivery to users without consistent app access. Blueprint marks email-sms-notifications [v1.0]. Second phase ordinal = v1.0.
-
docs/source/likeperson.md · line 116Oppfølging av likepersoner: 40 % var ikke fornøyd med oppfølgingen i spørreundersøkelse. Scenariobaserte push-meldinger og kalendersynkronisering.
Responsibilities
- Accept notification requests and resolve the appropriate delivery channel (email or SMS) per recipient
- Invoke NotificationDispatchClient with formatted message payloads for outbound delivery
- Track delivery status and trigger retries on transient failures
- Enforce notification preferences and opt-out rules per user role
- Emit delivery events for audit logging and downstream status updates
Interfaces
sendEmail(recipientId, templateId, context): DeliveryReceipt
sendSms(recipientId, message, priority): DeliveryReceipt
sendBatch(notifications: NotificationRequest[]): DeliveryReceipt[]
getDeliveryStatus(receiptId): DeliveryStatus