## Evaly Notifier `Evaly Aggregator ` connects to a grpc server running on `Evaly Notifier` that exposes push/app notifications for web apps to consume. It exposes four api endpoints on notification base url : `/api/v1/notification`. ### List Notifications : - `Description:` This api returns a paginated list of notifications available for a user based on the given parameters. - `Endpoint` : `/` - `Method` : `GET` - `Headers` : - `Authorization` : < your access token here > - `Query Parameters` : - `page` : (optional) - page number of the paginated notification-list, default : 1. - `limit` : (optional) - number of notifications from the paginated notification-list to be loaded per page. - `seen` : (optional) - This field takes a boolean value (ie. true/false). - If seen is "false", the resulting list contains only the unseen notifications. - If seen is "true", the resulting list contains only the seen notifications. - If seen parameter is unused, the resulting list contains both the seen, and the unseen notifications. - `Request Body` : N/A - `Response Body` : ```json { "message": "Successful", "data": [ { "notification_id": "rtln_0e191937-93a7-4e05-8caf-279186836fff_1594724585965934529", "TargetAppName": "evaly", "created_at": "Tue, 14 Jul 2020 11:03:05", "updated_at": "Tue, 14 Jul 2020 11:03:08", "notification_type": "all", "subject": "test", "AppNotificationContent": { "data": { "body": "body of data", "title": "title of data" }, "notification": { "body": "বাংলা লেখা Tue, 14 Jul 2020 17:03:05", "title": "System notification" } } }, { "notification_id": "rtln_e8862674-3d4c-4f54-bfbe-cf459cd0ded4_1594724630486443928", "TargetAppName": "evaly", "created_at": "Tue, 14 Jul 2020 11:03:50", "updated_at": "Tue, 14 Jul 2020 11:03:52", "notification_type": "single", "recipient": "01723456789", "subject": "test", "AppNotificationContent": { "data": { "body": "body of data", "title": "title of data" }, "notification": { "body": "বাংলা লেখা Tue, 14 Jul 2020 17:03:50", "title": "System notification" } } } ] } ``` `Message` field contains "successful" or error log for unsuccessful requests. `Data` field contains the actual notification-list. ### Count Notifications : - `Description:` This api returns the number of notifications available for a user based on the given parameters. - `Endpoint` : `/count` - `Method` : `GET` - `Headers` : - `Authorization` : < your access token here > - `Query Parameters` : - `seen` : (optional) - This field takes a boolean value (ie. true/false). - If seen is "false", the result contains the number of unseen notifications only. - If seen is "true", the result contains the number of seen notifications only. - If seen parameter is unused, the result contains the number of both the seen, and the unseen notifications. - `Request Body` : N/A - `Response Body` : ```json { "message": "Successful", "data": { "Count": 2 } } ``` `Message` field contains "successful" or error log for unsuccessful requests. `Data` field contains the actual notification count. ### Mark Notifications : - `Description:` This api marks all the unseen notifications as seen for the user. - `Endpoint` : `/mark` - `Method` : `GET` - `Headers` : - `Authorization` : < your access token here > - `Query Parameters` : N/A - `Request Body` : N/A - `Response Body` : ```json { "message": "Successful", "data": { "Marked": true } } ``` `Message` field contains "successful" or error log for unsuccessful requests. `Data` field contains the actual marking confirmation. ### Mark Single Notification : - `Description:` This api marks a single unseen notification as seen for the user by using `notification_id`. - `Endpoint` : `/{notification_id}/mark` - `Method` : `GET` - `Headers` : - `Authorization` : < your access token here > - `Query Parameters` : N/A - `Request Body` : N/A - `Response Body` : ```json { "message": "Successful", "data": { "Marked": true } } ``` `Message` field contains "successful" or error log for unsuccessful requests. `Data` field contains the actual marking confirmation.