Тема
Event Invites API
POST /v1/events/:id/invites
Надіслати запрошення на приватну подію.
Авторизація: Bearer <accessToken> (organizer або admin події)
Тіло запиту
json
{
"circleIds": ["circle-uuid-1"],
"userIds": ["user-uuid-1", "user-uuid-2"],
"emails": ["guest@example.com"]
}| Поле | Тип | Опис |
|---|---|---|
circleIds | string[] | ID кіл — запрошуються всі їхні учасники |
userIds | string[] | ID конкретних користувачів |
emails | string[] | Email-адреси (надсилається лист із посиланням) |
Мінімум одне з полів повинно бути непорожнім.
Відповідь 201
json
{
"sent": 5,
"skipped": 1,
"inviteLink": "https://m.pisd.uk/invite/abc123xyz"
}| Поле | Опис |
|---|---|
sent | Кількість надісланих запрошень |
skipped | Вже запрошені або не знайдені |
inviteLink | Загальне посилання-запрошення для ручного поширення |
GET /v1/me/event-invites
Список незакритих запрошень поточного користувача.
Авторизація: Bearer <accessToken>
Відповідь 200
json
{
"data": [
{
"id": "invite-uuid",
"event": {
"id": "event-uuid",
"title": "День народження Олі",
"startAt": "2024-08-15T17:00:00Z",
"coverUrl": "https://cdn.pisd.uk/covers/uuid.jpg",
"organizer": { "name": "Оля Іванова" }
},
"status": "pending",
"createdAt": "2024-08-01T10:00:00Z"
}
]
}GET /v1/event-invites/:token
Превью події за токеном запрошення (публічний ендпоінт).
Авторизація: не потрібна
Відповідь 200
json
{
"event": {
"id": "event-uuid",
"title": "День народження Олі",
"startAt": "2024-08-15T17:00:00Z",
"coverUrl": "https://cdn.pisd.uk/covers/uuid.jpg",
"location": { "address": "вул. Прорізна 5, Київ" },
"organizer": { "name": "Оля Іванова", "avatar": "..." }
},
"token": "abc123xyz",
"expiresAt": "2024-08-15T17:00:00Z"
}TIP
Цей ендпоінт не вимагає авторизації — дозволяє показати превью події для неавторизованих гостей.
POST /v1/event-invites/:token/accept
Прийняти запрошення за токеном.
Авторизація: Bearer <accessToken>
Відповідь 200
json
{
"eventId": "event-uuid",
"myRsvp": "going",
"message": "Ви приєднались до події"
}Помилки
| Код | Причина |
|---|---|
404 | Токен не знайдено або прострочено |
409 | Вже прийнято запрошення |
Pending token flow
Якщо користувач перейшов за посиланням до авторизації — збережіть токен локально. Після входу/реєстрації автоматично викличте цей ендпоінт із збереженим токеном.
DELETE /v1/me/event-invites/:id
Відхилити запрошення.
Авторизація: Bearer <accessToken>
Відповідь 200
json
{ "success": true }