DIGIT Urban
PlatformDomainsAcademyDesign SystemFeedback
v2.7
v2.7
  • Introducing DIGIT Urban
  • Platform
    • Release Notes
      • MDMS Configuration & Service Build Updates
      • Test Cases
      • FSM Release Notes v1.1
        • FSM Service Build Updates
        • FSM MDMS Configuration Updates
        • FSM Test Cases
        • FSM Module Release Notes
      • National DSS & State DSS Release Notes
      • Birth & Death Release Notes
      • Common Features UI/UX Revamp
      • Property Tax Release Notes
    • Platform Features
    • Architecture
    • Specifications
    • Installation
      • Setup Basics
        • Setup Requirements
          • Tech Enablement Training - Essential Skills and Pre-requisites
          • Tech Enablement Training (eDCR) - Essential Skills and Prerequisites
          • DIGIT Rollout Program Governance
          • DevOps Skills Requirements
          • Infra Requirements
          • Team Composition for DIGIT Implementation
          • Infra Best Practices
          • Operational Best practices
          • Why Kubernetes for DIGIT
        • Supported Clouds
          • Google Cloud
          • Azure
          • AWS
          • VSphere
          • SDC
          • NIC
        • Deployment - Key Concepts
          • Security Practices
          • CI/CD
          • Readiness & Liveness
          • Resource Requests & Limits
        • Understanding ERP Stack
          • ERP Monolithic Architecture
          • ERP Hybrid Architecture
          • ERP Coexistence Architecture
          • APMDP-HYBRID-INFRA-ARCHITECTURE
          • eGov SmartCity eGovernance Suite
          • ERP Deployment Process
          • ERP Release Process
          • ERP User Guide
        • Deploying DIGIT Services
          • Deployment Architecture
          • Routing Traffic
          • Backbone Deployment
        • Troubleshooting
          • Distributed Tracing
          • Logging
          • Monitoring & Alerts
    • Configuration
      • Git Repos
      • Setting up Master Data
        • MDMS Overview
        • Configuring Tenants
        • Configuring Master Data
        • Adding New Master
        • State Level Vs City Level Master
      • Master Data Collection Templates
        • Environment Setup
          • State Level Setup
            • Tenants Information
            • SMS Account Configuration
            • Email Account Configuration
            • Google Play Store Account
            • Payment Gateway Configuration
            • POS Integration Configuration
            • Domain Name Configuration
            • SSL Configuration
            • ULB Departments
            • ULB Designations
            • Localization
            • Google Map Configuration
          • ULB Level Setup
            • Boundary Hierarchies
            • Boundary Data
            • Cross Hierarchy Mapping
            • ULB Bank Accounts
        • Module Setup
          • Web Portals Templates
            • State Portal
            • ULB Portal
          • HRMS Data Templates
            • User Roles
            • System Users
          • Billing And Payments Data Templates
            • Tax Heads
            • Receipt Format
            • Demand Bill Format
          • DSS Data Templates
            • KPI Acceptance
          • Workflow Data Templates
            • Workflow Actions
            • Workflow Levels
            • Workflow Process
            • Workflow Notifications
          • Common Configuration Details
            • Standard Document List
            • Service Document Mapping
            • Checklist
            • Configuring Data FAQs
      • Configuring DIGIT Service Stack
        • Core Services
          • Workflow Services
          • Location Services
          • User Services
          • Access Control Services
          • PDF Generation Service
          • MDMS (Master Data Management Service)
          • Payment Gateway Service
          • NLP Engine Service
          • User Session Management In DIGIT
          • Indexer Service
          • URL Shortening Service
          • XState Core Chatbot
            • XState-Chatbot Integration Document
            • Xstate-Chatbot Message Localisation
        • Business Service
          • Appropriation Service
          • Billing Service
            • Bill Amendment Service Configuration
          • Collection Service
            • Collection Service Migration
            • Collection Service V2
          • Billing Collection Integration
          • Dashboard Analytics - Backend
            • DSS Features Enhancements
            • DSS Dashboard - Technical Document for UI
            • DSS Technical Documentation
          • Technical Script/Steps For Migration Process
        • Municipal Service
          • Turn-Io-Adapter
          • Inbox Service
        • Utilities
      • Configuring Services
        • Persister Configuration
        • Indexer Configuration
        • Setting up a Language
          • Adding New Language
          • Setting Up Default Language For SMS & Emails
        • API Checklist
        • Setting Up SMS Gateway
          • Using The Generic GET & POST SMS Gateway Interface
        • Setting Up Service Locally
        • Configuring Workflows
          • Setting Up Workflows
          • Configuring Workflows For An Entity
          • Workflow Auto Escalation
        • DSS Configuration And Setup
          • Building New Dashboards
        • Configuring New Reports
          • Types Of Reports Used In Report Service
          • Impact Of Heavy Reports On Platform
        • Adding Roles To System
        • Mapping Roles With APIs
        • Deployment Of App on Play Store
        • Adding New APIs For Access
        • FileStore Service
        • Telemetry Service
        • Report Service
        • ID Generation Service
        • Localization Service
        • Email Notification Service
        • SMS Notification Service
        • SMS Template Approval Process
        • Searcher Service
        • Zuul Service
        • User OTP Service
        • eGov OTP Service
        • Persister Service
        • Encryption Service
        • Document Uploader Service
        • Notification Enhancement Based on Different Channels
        • Configuring Localization
          • Setup Base Product Localization
          • Configure SMS and Email
        • DIGIT: Internal Datamart Deployment Steps
        • Customizing PDF Notices And Certificates
          • Integration Of PDF In UI For Download And Print PDF
          • Customizing PDF Receipts & Certificates
      • QA Automation
        • Kafka Consumer Producer Approach
        • Jenkins Setup for Automation
        • Automation Framework Knowledge Base
          • Automation Test Tags
          • Automation Test Reporting
        • State-Level UI Customization
      • Configuration FAQs
    • Customization
      • Frontend/UI
      • DIGIT Customization
        • API Do's & Don'ts
        • Writing A New Customer
        • Enhancing Existing Service
  • Products
    • Products & Modules
      • Trade Licence (TL)
        • TL Brochure
        • TL Module Functional Specifications
        • TL Implementation Guide
        • TL Master Data Templates
          • Trade Type
          • Trade Sub Type
          • Trade Category
          • Trade License Fee
          • Structure Type
          • Structure Sub Type
          • Trade License Document Attachment
        • TL Service Configuration
          • Trade License Calculator
          • TL Apply Flow UI Details
            • My Applications UI Flow
            • Send Back - Edit UI Flow
            • Trade License Renewal UI Flow
            • Employee Inbox UI Details
            • Employee Search Application Search License UI Flow
            • New Trade License UI Flow
            • Application Details - Trade Details UI Flows
            • Renew Edit Application
        • TL User Manual
          • TL Citizen User Manual
          • TL Employee User Manual
        • TL Demo Script
      • Property Tax (PT)
        • PT Brochure
        • PT Module Functional Specifications
        • PT Implementation Guide
        • PT Master Data Templates
          • Mutation Fee
          • Rebate Rates
          • Penalty Rates
          • Interest Rates
          • Tax Rates
          • Unit Rates
          • Special Category Documents
          • Owner Special Category
          • Ownership Sub Category
          • Ownership Category
          • Usage Category Detail
          • Road Type
          • Construction Type
          • Property Type
          • Property Sub Type
          • Usage Category Major
          • Usage Category Minor
          • Usage Category Sub Minor
        • PT Service Configuration
          • Property Mutation & Mutation Calculator
          • PT Update Number & Alternate Number
            • Update Primary Mobile Number & Alternate Mobile Number
          • Assessment of Property
          • PT Calculator
          • Fuzzy Search
            • Fuzzy Search Reindexing
          • Common PT
          • PT - Create Property UI Details
            • Edit-Update Property
            • Property Tax - My Applications
            • Property Tax - My Properties
            • Property Tax - Search Applications
            • Property Tax - Quick Pay for Citizen
            • Property Tax - Search And Pay My Bills
            • Property Tax - My Payments
            • Create Application - Employee UI/UX Revamp
            • Employee Edit Application Flow
            • Employee - Search Property, Property Details Page & Assessment
            • Employee - Inbox & Application Details
            • Employee Inbox (Old UI)
            • Citizen Mutation Flow
            • Employee - Mutation (Ownership Transfer)
          • PT Data Migration
        • PT User Manual
          • PT Citizen User Manual
          • PT Employee User Manual
      • Water & Sewerage (W&S)
        • W&S Brochure
        • W&S Module Functional Specifications
        • W&S Implementation Guide
        • Water Service Configuration
          • Legacy/Re-Indexing the Water & Sewerage Service
          • State DSS - Water & Sewerage
          • Water Calculator Service
          • Sewerage Service Configuration
            • Sewerage Calculator Service
        • Sewerage Charges Master Data Templates
          • Sewerage Rates
          • Sewerage Penalty Rates
          • Sewerage Interest Rates
        • Water Charges Master Data Templates
          • Water Rates (Metered)
          • Pipe Size Types
          • Water Source Types
          • Water Rates (Non-Metered)
          • Water Penalty Rates
          • Water Interest Rates
        • W&S User Manual
          • W&S Citizen User Manual
          • W&S Employee User Manual
      • Public Grievances & Redressal (PGR)
        • PGR Brochure
        • PGR Module Functional Specifications
        • PGR Workflows
        • PGR Master Data Templates
          • Grievance Type
          • Grievance Sub Type
          • Routing Matrix
          • Escalation Matrix
        • PGR Service Configuration
          • PGR Migration
        • PGR User Manual
          • Complaint Types List
          • PGR Citizen User Manual
          • PGR Employee User Manual
        • PGR Demo Script
      • Online Building Plan Approval System (OBPAS)
        • OBPAS Brochure
        • OBPAS Module Functional Specifications
        • OBPAS Implementation Guide
        • OBPAS Master Data Templates
          • Fee Structure
          • NOC Departments
          • Stakeholders Type
          • List Of Services
          • Service-Wise Documents
          • Building Occupancy
          • Building Sub Occupancy
          • Building Usage
          • Inspection Checklist
          • Town Planning Schemes
        • OBPAS Service Configuration
          • BPA Service Configuration
          • BPA Stakeholder Registration
          • Legacy/Re-Indexing For OBPS
          • BPA Calculator Service
          • Setting Up eDCR Service
          • eDCR Integration
          • Noc Services
          • Land Services
          • State DSS - OBPS
          • OBPAS DIGIT UI
            • Stakeholder - Registration Flow
            • OBPS-BPA/OC-BPA Employee Flow
              • OBPS Inbox
              • OBPS Search Application
            • OBPS-BPA/OC-BPA Architect
            • OBPS EDCR /OC-EDCR
            • OBPS BPA / OCBPA Citizen
            • Employee - Stakeholder
              • Stakeholder Inbox
              • Stakeholder Search Application
        • OBPAS User Manual
          • OBPAS Citizen User Manual
          • OBPAS Employee User Manual
        • OBPAS Demo Script
      • mCollect (MCS)
        • MCS Functional Specifications
        • mCollect Master Data Templates
          • Service Category
          • Service Sub Category
          • Service Sub Category GL Code Mapping
        • MCS Service Configuration
          • e-Challan Service
            • e-Challan Calculator Service
          • Re-Indexing The mCollect Service
          • State DSS - mCollect
          • Current Bill Cancellation UI Flow
            • Bill Details UI Flow
            • Cancel Bill UI Flow
          • Receipt Cancellation UI Flow
            • View Receipt - Cancel UI Flow
          • e-Challan UI Details
            • Edit - Cancel Challan
            • Search and Pay Challan
            • mCollect UI Flow
            • Update - Cancel Challan UI Flow
            • Challan Creation
        • mCollect User Manual
          • MCS Citizen User Manual
          • MCS Employee User Manual
      • Faecal Sludge Management (FSM)
      • Finance
        • Finance Module Functional Specifications
        • Finance Implementation Guide
        • Finance Master Data Templates
          • Bank Account
          • Chart Of Accounts
          • Funds
          • Function
          • Contractors
          • Suppliers
          • Schemes
          • Sub Schemes
          • Banks
          • Bank Branch
          • Deduction
          • Opening Balances
          • Sub Ledger Category
          • Sub Ledger Master
        • Finance Service Configuration
          • Finance Collections Voucher Consumer Service
        • Finance User Manual
          • Finance Employee User Manual
          • Admin User Manual
          • Finance Reports Manual
      • Fire NOC
        • Fire NOC Functional Specifications
        • Fire NOC Master Data Templates
          • Building Usage Type
          • Building Sub Usage Type
          • Fire Station Master
          • Areas Served Master
          • Fire Station Mapping
          • Fire NOC Fee
        • Fire NOC Service
          • Re-Indexing the Fire NOC Service
          • State DSS - Fire NOC
          • Fire NOC Calculator Service
          • NOC DIGIT UI
            • NOC Inbox
            • Application Overview
        • Fire NOC User Manual
          • Fire NOC Citizen User Manual
          • Fire NOC Employee User Manual
      • HRMS
        • HRMS Functional Specifications
        • HRMS Employee Create-Edit UI Flow
        • Employee Details UI Flow
        • Employee Activation-Deactivation UI Flow
        • Search Employee By Multiple Criteria UI Flow
        • HRMS Service
        • Employees Count UI Flow
        • Auto Escalation UI Flow
      • Events And Notifications
        • User Events Services
        • Citizen Flow
        • Employee Flow - Events
        • Employee Flow - Messages
      • Citizen Engagement Module
        • Document Uploader Service
        • Documents: Implementation Details
      • Common UI Docs
        • User Profile
          • Citizen Profile
          • Employee Profile
          • Employee City Change
        • Update Number & Invalid Number
        • Troubleshoot Using Browser Network Tab
      • Birth & Death
        • Birth & Death User Manual
          • Birth & Death Citizen User Manual
          • Birth & Death Employee User Manual
        • Birth & Death Service Configuration
          • State DSS - Birth and Death
          • Birth & Death Service Setup
      • National Urban Real-Time Dashboard
        • National Urban Dashboard User Manual
        • National Urban Dashboard Functional Specifications
        • National Dashboard Service Configuration
          • National Dashboard - UI Technical Doc
          • DSS UI Flow
          • W&S - National Dashboard
          • Property Tax - National Dashboard
          • Fire NOC - State DSS
          • National Dashboard - Overview
          • National Urban Realtime Dashboard
          • Trade License - National Dashboard
          • OBPS - National Dashboard
          • PGR - National Dashboard
          • National Dashboard Ingest Service
          • National Dashboard API Performance Testing and Benchmark
          • National Dashboard: Index Creation Steps
          • mCollect National Dashboard
      • Product FAQs
    • Training Resources
      • Training Videos
      • Technical Enablement Areas
      • eDCR Training Plan
    • Partner Support
      • eGov Enablement Support for DIGIT
      • Security Guidelines Handbook
      • Troubleshooting Guide
  • ๐Ÿ›ƒEcosystem
    • DIGIT Pre-Sales Toolkit
      • Infra Calculator
      • Resource Calculator
      • DIGIT Services
    • Access DIGIT
    • Urban Docs Guide
    • Roadmap
    • Open Events
    • Source Code
Powered by GitBook

โ€‹All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.

On this page
  • Overview
  • Pre-requisites
  • Key Functionalities
  • Interaction Diagram
  • Deployment Details
  • Configuration Details
  • Integration
  • Integration Scope
  • Integration Benefits
  • Steps to Integration
  • Reference Docs

Was this helpful?

Edit on GitHub
Export as PDF
  1. Products
  2. Products & Modules
  3. Events And Notifications

User Events Services

Technical Configuration Doc

PreviousEvents And NotificationsNextCitizen Flow

Last updated 2 years ago

Was this helpful?

Overview

eGov-User-Events service provide a common point to manage all the events generated for the users in the system. Events include updates from multiple applications like PT, PGR, TL; events created by the employee addressing the citizen etc. This service provides the users with APIs to create , update and search the events.

Pre-requisites

Before you proceed make sure the following pre-requisites are met -

  • Java 8

  • Kafka server is up and running

  • egov-persister service is running and has egov-user-events persister config path added in it

  • PSQL server is running and database is created

Key Functionalities

  • Provide a common platform to create, manage and notify events

  • Events can be created either by an API call or by pushing records to the Kafka queue

Interaction Diagram

Deployment Details

  1. Add the MDMS configs required for egov-user-events

  2. Add the Role-Action mapping details for APIs

  3. Deploy the latest version of egov-user-events

  4. Add egov-user-events file in config folder in git and add that path in the persister . (The file path should be added in environment yaml file in param called persist-yml-path )

Configuration Details

Add master data in MDMS service with the module name as mseva. The sample master data for the service is given below: Event Categories

{
  "tenantId": "pb",
  "moduleName": "mseva",
  "EventCategories": [
    {
      "code": "PUBLICHEALTH",
      "eventType":"EVENTSONGROUND",
      "active": true
    },
    {
      "code": "CULTURAL",
      "eventType":"EVENTSONGROUND",
      "active": true
    },
    {
      "code": "WARDCOMMITTEEMEETING",
      "eventType":"EVENTSONGROUND",
      "active": true
    }
  ]
}

Event Types

{
  "tenantId": "pb",
  "moduleName": "mseva",
  "EventTypes": [
    {
      "code": "BROADCAST",
      "active": true
    },
    {
      "code": "EVENTSONGROUND",
      "active": true
    },
    {
      "code": "SYSTEMGENERATED",
      "active": true
    },
    {
      "code": "OTHERS",
      "active": true
    }
  ]
}

Use /localization/messages/v1/_upsert to add localisation (templates) for notification messages to be sent. The product notification templates are given below:

{
  "messages": [
    {
      "code": "egovuserevents.notification.counterevent.ondelete",
      "message": "<event_name> has been deleted. Please remove from your calendar.",
      "module": "egov-user-events",
      "locale": "en_IN"
    },
    {
      "code": "egovuserevents.notification.counterevent.onupdate",
      "message": "Details of <event_name> have been updated.",
      "module": "egov-user-events",
      "locale": "en_IN"
    }
  ]
}

Configurable Properties

The following properties are configurable in the application.properties file in egov-user-events service.

Property

Value

Remarks

kafka.topics.persister.save.events

save-user-events

This is the persister topic onto which user-events pushes records for persistence. This is for creating events.

kafka.topics.persister.update.events

update-user-events

This is the persister topic onto which user-events pushes records for persistence. This is for updating events.

kafka.topics.lat.details

user-events-lat

This is the persister topic onto which user-events pushes records for persistence. This is for storing last-access-time / last-login-time of the user.

kafka.topics.save.events

persist-user-events-async

Topic to which the user-events consumer is subscribed. Producers willing to create events must push records to this topic.

kafka.topics.update.events

update-user-events-async

Topic to which the user-events consumer is subscribed. Producers willing to update events must push records to this topic

mseva.notif.search.offset

0

Default pagination offset.

mseva.notif.search.limit

200

Default pagination limit.

Entities

Events: Model to capture the events information. This object captures all event details that is either created or updated.

EventDetails: Captures details of the event such as organiser, location, time etc are captured here. This is the child object to the Events object. This holds significance only if the type of the event is โ€˜EVENTSONGROUNDโ€™.

Action: This captures the user-actions involved in the event. For instance, the pay now option, reopen option, download certificate option etc.

Recipient: Every event is addressed to a crowd to which a notification for the same is sent. This model captures information about the recipients of the notification of this event or can also be framed as details of the addressee of the event.

Event Type: Events are divided into multiple types as follows:

  1. BROADCAST - These are messages broadcasted addressing a group of people. For instance, โ€œThereโ€™s road blockage near the bus stand, please use a different routeโ€

  2. EVENTSONGROUND - These are events organised by a group of people addressing another group of people. Usually, it is the ULB organising events for the citizens. It can be any activity like a 10K Marathon, Polio Drive, Property Tax collection drive etc.

  3. SYSTEMGENERATED - These events are generated by different systems on the egov platform like PT, TL, PGR etc addressing a group of people. For instance, โ€œDear Citizen, Your TL has been approved please proceed to pay <PAY_NOW>โ€

  4. OTHERS - Events that donโ€™t belong to the types mentioned above.

The following are configured in MDMS.

Event Category: Events are categorised into the following:

  1. PUBLICHEALTH - Events related to public health

  2. CULTURAL - Cultural events

  3. WARDCOMMITEEMEETING - Events for recurring meetings of the ward committee

These event categories are mapped to event types internally. The categories mentioned here are for EVENTSONGROUND type. These are configured in MDMS.

How does it work

This service manages user events on the egov-platform, which means all the events about which the user (essentially citizen) has to be notified are stored and retrieved through this service. Events can be created either by an API call or by pushing records to the Kafka queue.

Every event contains information about the event type, event category, event name, description, recipient, actions, event details etc. Based on the type of event, the list of mandatory fields varies.

Once the event is sent for creation, the service validates all the required fields and assigns a recipient list to that event. An event can be addressed to a particular person, group of people, a user type and also roles. Events like updates on the TL application are addressed to the TL owners while events like Polio drive are addressed to the entire ULB. Some events like mass Bill generation are addressed only to those who are required to pay those bills. A recipient list is generated based on the request and stored in the system.

When an event is updated a counter-event is generated. Counter events are of 2 types: Counter event on Delete and Counter event on Update. When an event in ACTIVE status is made INACTIVE or CANCELLED, counter-event on delete is generated. When details of an event are updated irrespective of the status a counter-event on update is generated. These counter-events are stored along with the actual events in the system. However, when a counter-event on delete is generated, its corresponding actual event is marked INACTIVE.

One of the important aspects of this service is the search API. Searching for the events stored in the user-events system is different for different roles. When citizens search, all the events addressed to the citizens are retrieved. The events that contain corresponding counter-events are deduplicated and only the latest ACTIVE events are returned.

We have a use case where past events have to be marked INACTIVE. This applies to all the BROADCAST and EVENTSONGROUND types of events which are time-capped. If a BROADCAST event is active from 1/Jan to 10/Jan, it will be marked inactive post 10/Jan, after which the citizens stop receiving any updates to that event. This change of status of the events is achieved by a lazy-update technique instead of a cron-job. Due to this, the search API not only returns the events but also updates the status of events before returning it to the user based on whether it has expired.

When an employee searches, all the EVENTSONGROUND posted in the particular ULB are returned by default irrespective of the status. Once the actions are performed on the events that are active, the notifications are triggered to the citizens.

Employees can search for events based on the date range. The events created or last modified in that range are displayed in the search response. So, to get the details about event in a particular date range pass the value in fromDate and toDate field of search criteria.

fromDate and toDate fields accept epoch values only.

And to get details about the Delete event, pass Status as CANCELLED. To get details about the Broadcast event pass eventType as BROADCAST.

Review the code and descriptions for every method to understand the use-cases and flow-of-logic in a better way.

Integration

Integration Scope

eGov-user-events can be integrated with any organisation or system which wants to send the events generated for the user in the system

Integration Benefits

  • Easy management of user events on the system - which means all the events about which the user (essentially citizen) has to be notified are stored and retrieved through this service.

Steps to Integration

  1. Employees can create events in the system using /egov-user-event/v1/events/_create endpoint

  2. Employees can update events in the system using /egov-user-event/v1/events/_update endpoint

  3. Events are searched in the system using /egov-user-event/v1/events/_search endpoint

  4. /egov-user-event/v1/events/notifications/_count API is used to fetch the count of the total unread and read notifications.

  5. /egov-user-event/v1/events/lat/_update API is used to update the last-login-time of the user. We store the last-login-time of the user through this API thereby deciding which notifications have been read.

Reference Docs

Doc Links

Title

Link

API Swagger Documentation

API List

Title

Link

/egov-user-event/v1/events/_create

/egov-user-event/v1/events/_update

/egov-user-event/v1/events/_search

/egov-user-event/v1/events/notifications/_count

/egov-user-event/v1/events/lat/_update

(Note: All the APIs are in the same postman collection therefore the same link is added in each row)

MDMS configurations file link:

All content on this page by is licensed under a .

Swagger Documentation
https://www.getpostman.com/collections/14812d58dff5565bd3d9
https://www.getpostman.com/collections/14812d58dff5565bd3d9
https://www.getpostman.com/collections/14812d58dff5565bd3d9
https://www.getpostman.com/collections/14812d58dff5565bd3d9
https://www.getpostman.com/collections/14812d58dff5565bd3d9
egov-mdms-data/data/pb/mseva at master ยท egovernments/egov-mdms-data
eGov Foundation
Creative Commons Attribution 4.0 International License
Creative Commons License