API Guide
Event Subscriptions
Event-driven notifications via Kafka event streams — transaction events, card status changes, fraud alerts, and event payload format.
DCMS supports event-driven notifications via Kafka-based event streams for real-time system integration. Banks can subscribe to events to trigger downstream workflows.
Delivery Mechanism
Events are delivered via Kafka event streams — not HTTP webhooks. Event subscriptions are configured during onboarding with your DCMS support team.
Event Flow
Available Events
| Event | Trigger | Category |
|---|---|---|
TRANSACTION_AUTHORIZED | Transaction approved | Transaction |
TRANSACTION_DECLINED | Transaction declined | Transaction |
CARD_ACTIVATED | Card activated | Card Status |
CARD_BLOCKED | Card blocked (admin/fraud) | Card Status |
CARD_STATUS_CHANGED | Any card status transition | Card Status |
PIN_CHANGED | PIN modified | Security |
WALLET_LOADED | NCMC wallet top-up completed | NCMC |
FRAUD_ALERT | Suspicious activity detected | Fraud |
Event Payload Format
{
"eventType": "TRANSACTION_AUTHORIZED",
"timestamp": "2025-03-30T10:15:00Z",
"tenantId": "BANK_TENANT_ID",
"data": {
"entityId": "CUST_001",
"kitNo": "KIT20240001",
"amount": "1500.00",
"currency": "INR",
"channel": "POS",
"merchantId": "MERCH_001",
"status": "AUTHORIZED"
}
}| Field | Type | Description |
|---|---|---|
eventType | String | Event identifier from the table above |
timestamp | String | ISO 8601 timestamp of the event |
tenantId | String | Bank tenant identifier |
data | Object | Event-specific payload (varies by event type) |
Event Subscription
Event subscriptions are configured during onboarding. Contact your DCMS support team to set up event delivery endpoints.
Best Practices
- Acknowledge quickly — Return a 200 response immediately, process asynchronously
- Idempotency — Events may be delivered more than once; use
eventType+timestamp+ entity identifiers for deduplication - Retry handling — Failed deliveries are retried with exponential backoff
- Monitoring — Monitor event processing latency and failure rates
