Skip to content

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.

file

Recipient Alert Logic

Upon receiving a RecipientAlertRequested integration event, ENS is called to send an alert to a recipient.

file

Unsubscribe Flow

The Notifier listener subscribes to integration event CustomerContactTokenUnregistered. The handler removes the subscription in ENS.

file