API notification management
🌐 This document is available in both English and Ukrainian. Use the language toggle in the top right corner to switch between versions. |
1. Notification template management API
The API route is intended for service use by the Regulation Publication Pipeline to populate the template repository with data. Root is not accessible externally via Kong. |
PUT /api/notifications/templates/{channel}:{name}
Parameter | Type | Part of the request | Description |
---|---|---|---|
channel |
Textual |
Query parameter |
Channel name [inbox, email, diia] |
name |
Textual |
Query parameter |
The unique name of the template within the channel |
{
"title": "{title}",
"content": "{content}",
"attributes": [
{
"name": "actionType",
"value": "message"
},
{
"name": "templateType",
"value": "attention"
},
{
"name": "shortText",
"value": "{shortText}"
}
]
}
{
"name": "{template_name}",
"channel": "{channel}",
"title": "{title}",
"content": "{content}",
"checksum": "{sha256-hash}",
"attributes": [
{
"name": "actionType",
"value": "message"
},
{
"name": "templateType",
"value": "attention"
},
{
"name": "shortText",
"value": "{shortText}"
}
],
"createdAt": "{timestamp}",
"updatedAt": "{timestamp}",
"externalTemplateId": "{external-id}",
"externallyPublishedAt": "{timestamp}"
}
Code | Description |
---|---|
200 |
OK with returning the data result of the modified template |
201 |
Created with returning the result of the template data |
400 |
Incorrectly formed request |
401 |
Authentication error (missing access token) |
500 |
Server error processing of the request |
==API access to the inbox of user notifications
Obtaining access to the API is possible only within the framework of the execution of a request of an authenticated user in the system |
1.1. Receiving a list of in-app notifications in the User portal
This API route is public and should be published for external access via a separate Kong Route for Citizen portal. |
GET /api/notifications/inbox
Parameter | Type | Part of the request | Description |
---|---|---|---|
X-Access-Token |
JWT |
HTTP header |
User access token |
limit |
int |
Query parameter |
Number of notifications for one-time receiving (for pagination) |
offset |
int |
Query parameter |
Indent from the first notification (for pagination) |
The user ID for message filtering is obtained from the access token (RECIPIENT_ID field). The resulting records should be ordered in reverse order by created_at (created_at DESC) |
[
{
"id": "id1",
"subject": "SUBJECT",
"message": "Some content",
"isAcknowledged": true,
"createdAt": "2022-07-29 11:08:16"
},
{
"id": "id2",
"subject": "SUBJECT2",
"message": "Some different content",
"isAcknowledged": false,
"createdAt": "2022-07-27 16:04:17"
}
]
Code | Description |
---|---|
200 |
OK |
400 |
Incorrectly formed request |
401 |
Authentication error (missing access token) |
500 |
Server error processing the request |
1.2. Confirmation of viewing the in-app notification in the User portal
This API route is public and should be published for external access via a separate Kong Route for Citizen portal. |
POST /api/notifications/inbox/{id}/ack
Parameter | Type | Part of the request | Description |
---|---|---|---|
X-Access-Token |
JWT |
HTTP header |
User access token |
id |
Text |
Query parameter |
Notification ID |
Code | Description |
---|---|
200 |
OK |
400 |
Incorrectly formed request |
401 |
Authentication error (missing access token) |
403 |
Access denied (when trying to update someone else’s message) |
500 |
Server error processing the request |