Notifier - Overview¶
Overview¶
Notifier serves as a middleware for sending SMS and email alerts via ENS. Given an alert topic and channel, an ENS template is selected and submitted to ENS via jXChange.
Notifier is a module of the Mono service. See Vertical Decomposition
API¶
OpenAPI spec BoyarServices.Notifier.yaml
Alert Templates¶
Alert templates contain the message template used for the message text. They tend to be named like this:
PC_AccountUpdates_Email
PC_AccountUpdates_SMS
PC_InboundPayment_Email
PC_InboundPayment_SMS
Templates are managed in ENS via the dashboard. Notifier maintains a list of templates in order to construct the API call to ENS.
Here is a spreadsheet of templates used by Notifier.
Alert Topics¶
An alert topic is a logic grouping of ENS alert templates. It consists of a name and an array of required params.
In this example, a RequestForPayment topic maintains the required params for templates tied to the topic. An alert requested for topic RequestForPayment will be validated against the required params.
AlertTopics
- RequestForPayment
○ RequiredParameters
AccountLastFour
Memo
RequestorName
Responder
TransactionAmount
TransactionDate
TransactionNumber
TransactionType
AlertTemplates
- PC_RequestForPayment_Email
○ AlertTopic: RequestForPayment
○ ChannelType: Email
○ PayCenterNetworkIds: [Zelle]
- PC_RequestForPayment_SMS
○ AlertTopic: RequestForPayment
○ ChannelType: SMS
○ PayCenterNetworkIds: [Zelle]
Parameter Types¶
When an alert is requested via POST /alerts/recipient-alerts
, parameters are obtained from both the request and configuration for the ENS message.
Network Alert Parameters¶
A set of key-value-pairs are maintained for network rails. All params mapped to the provided PayCenterNetwork
in the request are added to the alert message.
Manage via endpoint /config/networks/{payCenterNetwork}
Financial Institution Parameters¶
A set of key-value-pairs are maintained for financial institutions. All params mapped to the provided PayCenterMemberFIId
in the request are added to the alert message.
Manage via endpoint /config/financial-institutions/{payCenterMemberFIId}
Instance Parameters¶
Parameters provided via InstanceParameters
in the POST are added to the ENS alert message.
Recipient Alerts¶
Recipient alerts represent an instance of an alert to a recipient.
Recipient Alert Flow¶
A POST to create a recipient alert will dispatch a RecipientAlertRequested
integration event. This allows for an async process for the API consumer.
Recipient Alert Logic¶
Upon receiving a RecipientAlertRequested integration event, ENS is called to send an alert to a recipient.
Unsubscribe Flow¶
The Notifier listener subscribes to integration event CustomerContactTokenUnregistered
. The handler removes the subscription in ENS.