API ролей
Эндпоинты для управления ролями в системе.
Получение списка ролей
Получение полного списка ролей.
Запрос
GET /api/roles
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"roles": [
{
"id": 1,
"name": "admin",
"description": "Администратор"
},
{
"id": 2,
"name": "moderator",
"description": "Модератор"
},
{
"id": 3,
"name": "user",
"description": "Пользователь"
}
]
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
roles | array | Массив ролей |
id | integer | ID роли |
name | string | Имя роли |
description | string | Описание роли |
Коды ответов
Код | Описание |
---|---|
200 | Успешный запрос |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
Получение данных роли
Получение детальной информации о конкретной роли.
Запрос
GET /api/roles/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID роли |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"role": {
"id": 1,
"name": "admin",
"description": "Администратор",
"permissions": [
{
"id": 1,
"name": "admin.users",
"description": "Управление пользователями"
},
{
"id": 2,
"name": "admin.roles",
"description": "Управление ролями"
}
]
}
}
Поля ответа
Поле | Тип | Описание |
---|---|---|
role | object | Объект роли |
id | integer | ID роли |
name | string | Имя роли |
description | string | Описание роли |
permissions | array | Массив разрешений роли |
Коды ответов
Код | Описание |
---|---|
200 | Успешный запрос |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Роль не найдена |
Создание роли
Создание новой роли в системе.
Запрос
POST /api/roles
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"name": "editor",
"description": "Редактор контента"
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
name | string | Обязательный. Имя роли |
description | string | Необязательный. Описание роли |
Ответ
{
"message": "Role created successfully",
"role": {
"id": 4,
"name": "editor",
"description": "Редактор контента"
}
}
Коды ответов
Код | Описание |
---|---|
201 | Роль успешно создана |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
422 | Неверные параметры запроса |
Обновление роли
Обновление данных существующей роли.
Запрос
PUT /api/roles/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID роли |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"name": "content-editor",
"description": "Редактор всех типов контента"
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
name | string | Необязательный. Имя роли |
description | string | Необязательный. Описание роли |
Ответ
{
"message": "Role updated successfully",
"role": {
"id": 4,
"name": "content-editor",
"description": "Редактор всех типов контента"
}
}
Коды ответов
Код | Описание |
---|---|
200 | Роль успешно обновлена |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Роль не найдена |
422 | Неверные параметры запроса |
Удаление роли
Удаление роли из системы.
Запрос
DELETE /api/roles/{id}
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID роли |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Ответ
{
"message": "Role deleted successfully"
}
Коды ответов
Код | Описание |
---|---|
200 | Роль успешно удалена |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Роль не найдена |
Управление разрешениями роли
Изменение списка разрешений для роли.
Запрос
PUT /api/roles/{id}/permissions
Параметры пути
Название | Тип | Описание |
---|---|---|
id | integer | ID роли |
Заголовки
Название | Тип | Описание |
---|---|---|
X-API-Key | string | Обязательный. API ключ |
Content-Type | string | Обязательный. application/json |
Тело запроса
{
"permission_ids": [1, 2, 3]
}
Параметры тела запроса
Название | Тип | Описание |
---|---|---|
permission_ids | array | Обязательный. Массив ID разрешений |
Ответ
{
"message": "Role permissions updated successfully",
"role": {
"id": 4,
"name": "content-editor",
"description": "Редактор всех типов контента",
"permissions": [
{
"id": 1,
"name": "admin.users",
"description": "Управление пользователями"
},
{
"id": 2,
"name": "admin.roles",
"description": "Управление ролями"
},
{
"id": 3,
"name": "admin.pages",
"description": "Управление страницами"
}
]
}
}
Коды ответов
Код | Описание |
---|---|
200 | Разрешения роли успешно обновлены |
401 | Неверный API ключ или отсутствует |
403 | Недостаточно прав для выполнения запроса |
404 | Роль не найдена |
422 | Неверные параметры запроса |