Notification
The Notification Service is responsible for managing a common message-streaming platform that can be used to send and consume messages across platform applications and mobile apps.

- Allow mobile applications to register and configure notification message format and delivery options for receiving notifications.
- Send notifications to registered mobile applications in specified formats.
- Allow tenants or apps to define filters on topics.
For mobile notifications, there is a notification service with a separate topic. For using a notification service to push notifications to mobile applications, first apps need to be registered with the notification service. Notification service uses Firebase Cloud Messaging (FCM) service to push notifications to mobile devices.Β
Register an App Notification Configuration in Notification Service
- Before configuring an App in the notification service, first, add FCM App credentials including the project ID, the client email, and the private key in the Secure Data Storage (SDS) service vault. Then use this SDS ID when you configure the App.
- To store notification data in SDS Vault:
- Create an App in the SDS service.
- Create a vault in the SDS service and provide decrypted read permission(010) to the App notification.
- Store data in the vault created in the above step.
Register the Notification Configuration which acts as a default configuration if there is no other configuration defined in the Kafka event.
Send notification events to topic: <tenant>_mobile_notification_P0_<env>
- e.g. delhivery_mobile_notification_P0_preprod
Attributes for App Registration
Attribute Name | Data Type Expected | Description |
name* | string | App name |
appPlatform* | string | Enum: [Android, iOS] |
appId* | string | Unique ApplicationID generated on Firebase. |
enableNotification | boolean | default: true |
accountConfig.android.projectId* | string | SDS key for the globally unique, user-assigned ID of the parent project for the app. |
accountConfig.android.clientEmail* | string | SDS key for Firebase service account |
accountConfig.android.privateKey* | string | SDS key for a private key for the Firebase service account |
πNoteο»Ώ
Attributes marked with (*) are mandatory
Attributes for App Notification
Attribute Name | Data Type Expected | Description |
androidConfig.collapseKey* | string | Collapse key for the message |
androidConfig.priority | string | FCM concept that controls when the message is delivered. Enum: [high, normal] |
androidConfig.ttl | string | Time-to-live duration of the message in milliseconds. |
androidConfig.restrictedPackageName | boolean | default: true |
androidConfig.icon | string | SDS key for the globally unique, user-assigned ID of the parent project for the app. |
androidConfig.color | string | ο»Ώ |
androidConfig.sound | string | ο»Ώ |
androidConfig.tag | string | ο»Ώ |
androidConfig.clickAction | string | ο»Ώ |
androidConfig.bodyLocKey | string | ο»Ώ |
androidConfig.bodyLocArgs | Array<string> | ο»Ώ |
androidConfig.titleLocKey | string | ο»Ώ |
androidConfig.titleLocArgs | Array<string> | ο»Ώ |
androidConfig.channelId | string | ο»Ώ |
androidConfig.ticker | string | ο»Ώ |
androidConfig.sticky | boolean | ο»Ώ |
androidConfig.eventTimestamp | string | ο»Ώ |
androidConfig.localOnly | string | ο»Ώ |
androidConfig.notificationPriority | string | Enum [min, low, default, high, max] |
androidConfig.defaultSound | boolean | ο»Ώ |
androidConfig.defaultVibrateTimings | boolean | ο»Ώ |
androidConfig.defaultLightSettings | boolean | ο»Ώ |
androidConfig.vibrateTimingsMillis | Array<integer> | ο»Ώ |
androidConfig.visibility | string | Enum [private, public, secret] |
androidConfig.notificationCount | integer | ο»Ώ |
androidConfig.imageUrl | string | ο»Ώ |
Attributes for IOS Device Push Notification
Attribute Name | Data Type expected | Description |
name* | string | App name |
appPlatform* | string | Enum: [Android, iOS] |
appId* | string | Unique ApplicationID generated on Firebase. |
enableNotification | boolean | default: true |
accountConfig.ios.projectId* | string | SDS key for the globally unique, user-assigned ID of the parent project for the app |
accountConfig.ios.clientEmail* | string | SDS key for Firebase service account |
accountConfig.ios.privateKey* | string | SDS key for a private key for the Firebase service account |
πNoteο»Ώ
Attributes marked with (*) are mandatory
Attributes for IOS device notification configuration options
Attribute Name | Data Type Expected | Description |
iosConfig.priority* | integer | Priority of notification (highest=10, lowest=5) |
iosConfig.sound | string | Name of sound (default) |
iosConfig.volume | float | Volume (highest=1.0 , lowest = 0.0) |
iosConfig.criticalSound | boolean | Default: true |
iosConfig.imageUrl | string | Image URL for the notification. |
πNoteο»Ώ
Attributes marked with (*) are mandatory
Reference request payload for Kafka Events
ο»Ώ