Перейти к основному содержимому

Членство в команде

Управление командой салона. Владелец создаёт инвайт-токены, мастера принимают приглашения.
Все эндпоинты требуют аутентификации.


Список участников

GET /api/v1/salons/:id/memberships

Список участников команды. Только владелец салона.

Ответ 200

{
"success": true,
"status": "200",
"message": "Memberships retrieved successfully",
"errors": null,
"data": [
{
"id": "uuid",
"role": "master",
"status": "active",
"invite_token": null,
"invited_at": "2026-03-01T10:00:00Z",
"accepted_at": "2026-03-02T09:00:00Z",
"user": {
"id": "uuid",
"first_name": "Ion",
"last_name": "Popescu"
}
}
]
}

Пригласить участника

POST /api/v1/salons/:id/memberships

Создать приглашение в команду. Только владелец салона.
Возвращает invite_token — передаётся мастеру для принятия через отдельный эндпоинт.

Запрос

{
"membership": {
"role": "master"
}
}
ПолеДопустимые значения
rolemaster, receptionist

Ответ 201

{
"success": true,
"status": "201",
"message": "Invitation created successfully",
"errors": null,
"data": {
"id": "uuid",
"role": "master",
"status": "pending",
"invite_token": "abc123xyz",
"invited_at": "2026-04-06T12:00:00Z",
"accepted_at": null,
"user": null
}
}

Удалить участника

DELETE /api/v1/salons/:id/memberships/:mid

Деактивировать участника команды. Только владелец салона.

Ответ 200

{
"success": true,
"status": "200",
"message": "Membership deactivated successfully",
"errors": null,
"data": null
}

Принять приглашение

POST /api/v1/invitations/:token/accept

Принять приглашение в команду. Требует аутентификации (мастер должен быть залогинен).

Запрос

POST /api/v1/invitations/abc123xyz/accept
Authorization: Bearer <token>

Ответ 200

{
"success": true,
"status": "200",
"message": "Invitation accepted successfully",
"errors": null,
"data": null
}

Ответ 404 — Токен не найден или уже использован

{
"success": false,
"status": "404",
"message": "Invitation not found",
"errors": null,
"data": null
}