Skip to Content

API ролей

Эндпоинты для управления ролями в системе.

Получение списка ролей

Получение полного списка ролей.

Запрос

GET /api/roles

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "roles": [ { "id": 1, "name": "admin", "description": "Администратор" }, { "id": 2, "name": "moderator", "description": "Модератор" }, { "id": 3, "name": "user", "description": "Пользователь" } ] }

Поля ответа

ПолеТипОписание
rolesarrayМассив ролей
idintegerID роли
namestringИмя роли
descriptionstringОписание роли

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса

Получение данных роли

Получение детальной информации о конкретной роли.

Запрос

GET /api/roles/{id}

Параметры пути

НазваниеТипОписание
idintegerID роли

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "role": { "id": 1, "name": "admin", "description": "Администратор", "permissions": [ { "id": 1, "name": "admin.users", "description": "Управление пользователями" }, { "id": 2, "name": "admin.roles", "description": "Управление ролями" } ] } }

Поля ответа

ПолеТипОписание
roleobjectОбъект роли
idintegerID роли
namestringИмя роли
descriptionstringОписание роли
permissionsarrayМассив разрешений роли

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Роль не найдена

Создание роли

Создание новой роли в системе.

Запрос

POST /api/roles

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "name": "editor", "description": "Редактор контента" }

Параметры тела запроса

НазваниеТипОписание
namestringОбязательный. Имя роли
descriptionstringНеобязательный. Описание роли

Ответ

{ "message": "Role created successfully", "role": { "id": 4, "name": "editor", "description": "Редактор контента" } }

Коды ответов

КодОписание
201Роль успешно создана
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
422Неверные параметры запроса

Обновление роли

Обновление данных существующей роли.

Запрос

PUT /api/roles/{id}

Параметры пути

НазваниеТипОписание
idintegerID роли

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "name": "content-editor", "description": "Редактор всех типов контента" }

Параметры тела запроса

НазваниеТипОписание
namestringНеобязательный. Имя роли
descriptionstringНеобязательный. Описание роли

Ответ

{ "message": "Role updated successfully", "role": { "id": 4, "name": "content-editor", "description": "Редактор всех типов контента" } }

Коды ответов

КодОписание
200Роль успешно обновлена
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Роль не найдена
422Неверные параметры запроса

Удаление роли

Удаление роли из системы.

Запрос

DELETE /api/roles/{id}

Параметры пути

НазваниеТипОписание
idintegerID роли

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "message": "Role deleted successfully" }

Коды ответов

КодОписание
200Роль успешно удалена
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Роль не найдена

Управление разрешениями роли

Изменение списка разрешений для роли.

Запрос

PUT /api/roles/{id}/permissions

Параметры пути

НазваниеТипОписание
idintegerID роли

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "permission_ids": [1, 2, 3] }

Параметры тела запроса

НазваниеТипОписание
permission_idsarrayОбязательный. Массив 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Неверные параметры запроса