Notification Enhancement Based on different Channel

Overview

Details steps required for the configuration of the notification messages for a business service across all channels based on their actions.

Key Functionalities

  • For a specific action of the user, he/she will get an SMS and email as an acknowledgment.

  • Users can get SMS, Event, and email-based on different channels.

  • The application allows one to either send different messages across all channels based on their actions.

Details of Enhancement

  • To have this functionality for different business services, a channel names file was created and added to the MDMS data. 

  • It contains information about the combination of different actions and channels for a particular business service. Example -

"channelList": [ {   "businessService": "PT.CREATE",      "module": "PT", "action" : "OPEN", "channelNames": ["SMS", "EMAIL", "EVENT"]  }, { "businessService": "BPA.CREATE", "module": "BPA", "action" : "SENDBACKTOCITIZEN", "channelNames": ["SMS", "EMAIL", "EVENT"] }, { "businessService": "NewTL", "module": "TL", "action": "FORWARD", "channelNames": ["SMS", "EMAIL", "EVENT"] }, { "businessService": "WS.CREATE", "module": "WS", "action" : "ACTIVATE_CONNECTION", "channelNames": ["SMS", "EMAIL", "EVENT"] }, { "businessService": "SW.CREATE", "module": "SW", "action" : "APPROVE_CONNECTION", "channelNames": ["SMS", "EMAIL", "EVENT"] }, { "businessService": "MCOLLECT.CREATE", "module": "MCOLLECT", "action" : "CREATE", "channelNames": ["SMS", "EMAIL", "EVENT"] }, { "businessService": "PGR", "module": "PGR", "action" : "INITIATE", "channelNames": ["SMS", "EMAIL", "EVENT"] }, { "businessService": "WS.CREATE", "module": "WS", "action" : "EXECUTE_DISCONNECTION", "channelNames": ["SMS", "EMAIL", "EVENT"] } ]
  • The Different channels are

    • SMS: ID (Mobile Number)

    • Event 

    • Email: ID (Email ID)

  • This feature enabled the functionality which would first check for the channels present in the file and send the notification accordingly. 

  • For SMS event, it would send the SMS notification and log “Sending SMS Notification”, for Event it would log, “Event Notification Sent”, and for Email, it would log, “Email Notification Sent”.

Steps for enabling/disabling channels for a particular business service

To add/delete any particular channel for a business service

  • Update channelNames array in Channel List file and add/delete the channel you want a business service’s action to have.

  • Restart egov-mdms-service to apply the changes.

  • Configure your business service with the steps mentioned below to

Configuration for a particular business service

  • Adding details about the particular action and the channels you want that action to trigger in the Channel List file in egov-mdms-data repository.

  • For any record that comes into the topic first, the service should fetch all the required data like user name, property id, mobile number, tenant id, etc from the record which we fetched from the topic.

  • Respected localization templates should be upserted before in required environment using the localization service. Restart localization service to have the newly updated templates available.

  • Then we should fetch the message content from localization and the service replaces the placeholders with the actual data.

  • Then put the record in whichever channel’s kafka topic that the sms, event or email service is listening to.

  • Then the respective channel services (sms, event, email) will send out the notifications.