API управління повідомленнями
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. API управління шаблонами повідомлень
1.1. Створення або внесення змін до шаблону для каналу зв’язку за назвою
Призначенням API-роута є службове використання Пайплайном публікації регламенту для наповнення даними сховища шаблонів. Роут не доступний для зовнішнього доступу через Kong. |
PUT /api/notifications/templates/{channel}:{name}
Параметр | Тип | Частина запиту | Опис |
---|---|---|---|
channel |
Текстовий |
Параметр запиту |
Назва каналу [inbox, email, diia] |
name |
Текстовий |
Параметр запиту |
Унікальна назва шаблону в рамках каналу |
{
"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}"
}
Код | Опис |
---|---|
200 |
OK з поверненням результату даних зміненого шаблону |
201 |
Created з поверненням результату даних шаблону |
400 |
Некоректно сформований запит |
401 |
Помилка автентифікації (відсутній токен доступу) |
500 |
Серверна помилка обробки запиту |
2. API доступу до inbox повідомлень користувача
Отримання доступу до API можливе лише в рамках виконання запиту автентифікованого користувача в системі |
2.1. Отримання переліку in-app повідомлень у Кабінеті Користувача
Данний API-роут є публічним та має бути опублікованим для зовнішнього доступу через окремий Kong Route для Кабінету Громадянина. |
GET /api/notifications/inbox
Параметр | Тип | Частина запиту | Опис |
---|---|---|---|
X-Access-Token |
JWT |
HTTP заголовок |
Токен доступу користувача |
limit |
int |
Параметр запиту |
Кількість повідомлень для одноразового отримання (для пагінації) |
offset |
int |
Параметр запиту |
Відступ від першого повідомлення (для пагінації) |
Ідентифікатор користувача для фільтрації повідомлень отримується з токену доступу (поле RECIPIENT_ID). Отримані записи мають бути впорядковані у зворотньому напрямку за параметром 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"
}
]
Код | Опис |
---|---|
200 |
OK |
400 |
Некоректно сформований запит |
401 |
Помилка автентифікації (відсутній токен доступу) |
500 |
Серверна помилка обробки запиту |
2.2. Підтвердження перегляду in-app повідомлення у Кабінеті Користувача
Данний API-роут є публічним та має бути опублікованим для зовнішнього доступу через окремий Kong Route для Кабінету Громадянина. |
POST /api/notifications/inbox/{id}/ack
Параметр | Тип | Частина запиту | Опис |
---|---|---|---|
X-Access-Token |
JWT |
HTTP заголовок |
Токен доступу користувача |
id |
Text |
Параметр запиту |
Ідентифікатор повідомлення |
Код | Опис |
---|---|
200 |
OK |
400 |
Некоректно сформований запит |
401 |
Помилка автентифікації (відсутній токен доступу) |
403 |
Заборонений доступ (при спробі оновити чуже повідомлення) |
500 |
Серверна помилка обробки запиту |