Skip to Content
Справочник APIAPI элементов навигации

API элементов навигации

Эндпоинты для управления элементами навигационной панели (меню) в системе.

Получение списка элементов навигации

Получение полного списка элементов навигации.

Запрос

GET /api/navbar-items

Заголовки

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

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

НазваниеТипОписание
pageintegerНеобязательный. Номер страницы (по умолчанию: 1)
per_pageintegerНеобязательный. Количество записей на странице (по умолчанию: 20)

Ответ

{ "navbar_items": [ { "id": 1, "title": "Главная", "url": "/", "new_tab": false, "icon": "home", "position": 0, "visible_only_for_guests": false, "visible_only_for_logged_in": false, "visibility": "all", "parent_id": null }, { "id": 2, "title": "О нас", "url": "/about", "new_tab": false, "icon": "info", "position": 1, "visible_only_for_guests": false, "visible_only_for_logged_in": false, "visibility": "all", "parent_id": null } ] }

Поля ответа

ПолеТипОписание
navbar_itemsarrayМассив элементов навигации
idintegerID элемента навигации
titlestringЗаголовок элемента
urlstringURL-адрес элемента (может быть null)
new_tabbooleanОткрывать в новой вкладке
iconstringИконка элемента (может быть null)
positionintegerПозиция элемента в навигации
visible_only_for_guestsbooleanВидимость только для гостей
visible_only_for_logged_inbooleanВидимость только для авторизованных пользователей
visibilitystringВидимость (all, desktop, mobile)
parent_idintegerID родительского элемента (может быть null)

Коды ответов

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

Получение данных элемента навигации

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

Запрос

GET /api/navbar-items/{id}

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

НазваниеТипОписание
idintegerID элемента навигации

Заголовки

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

Ответ

{ "navbar_item": { "id": 1, "title": "Главная", "url": "/", "new_tab": false, "icon": "home", "position": 0, "visible_only_for_guests": false, "visible_only_for_logged_in": false, "visibility": "all", "parent_id": null, "roles": [ { "id": 1, "name": "admin" }, { "id": 2, "name": "user" } ], "children": [ { "id": 3, "title": "Подстраница", "url": "/subpage", "new_tab": false, "icon": null, "position": 0, "visible_only_for_guests": false, "visible_only_for_logged_in": false, "visibility": "all", "parent_id": 1 } ] } }

Поля ответа

ПолеТипОписание
navbar_itemobjectОбъект элемента навигации
idintegerID элемента навигации
titlestringЗаголовок элемента
urlstringURL-адрес элемента (может быть null)
new_tabbooleanОткрывать в новой вкладке
iconstringИконка элемента (может быть null)
positionintegerПозиция элемента в навигации
visible_only_for_guestsbooleanВидимость только для гостей
visible_only_for_logged_inbooleanВидимость только для авторизованных пользователей
visibilitystringВидимость (all, desktop, mobile)
parent_idintegerID родительского элемента (может быть null)
rolesarrayМассив ролей, для которых доступен этот элемент
childrenarrayМассив дочерних элементов навигации

Коды ответов

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

Создание элемента навигации

Создание нового элемента навигации в системе.

Запрос

POST /api/navbar-items

Заголовки

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

Тело запроса

{ "title": "Новый элемент", "url": "/new-page", "new_tab": false, "icon": "star", "position": 2, "visible_only_for_guests": false, "visible_only_for_logged_in": false, "visibility": "all", "parent_id": null }

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

НазваниеТипОписание
titlestringОбязательный. Заголовок элемента
urlstringНеобязательный. URL-адрес элемента
new_tabbooleanНеобязательный. Открывать в новой вкладке
iconstringНеобязательный. Иконка элемента
positionintegerНеобязательный. Позиция элемента (по умолчанию: 0)
visible_only_for_guestsbooleanНеобязательный. Видимость только для гостей
visible_only_for_logged_inbooleanНеобязательный. Видимость только для авторизованных
visibilitystringНеобязательный. Видимость (all, desktop, mobile)
parent_idintegerНеобязательный. ID родительского элемента

Ответ

{ "message": "Navbar item created successfully", "navbar_item": { "id": 4, "title": "Новый элемент", "url": "/new-page", "new_tab": false, "icon": "star", "position": 2, "visible_only_for_guests": false, "visible_only_for_logged_in": false, "visibility": "all", "parent_id": null } }

Коды ответов

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

Обновление элемента навигации

Обновление данных существующего элемента навигации.

Запрос

PUT /api/navbar-items/{id}

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

НазваниеТипОписание
idintegerID элемента навигации

Заголовки

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

Тело запроса

{ "title": "Обновленный элемент", "url": "/updated-page", "new_tab": true, "icon": "edit", "position": 3, "visible_only_for_guests": false, "visible_only_for_logged_in": true, "visibility": "desktop", "parent_id": 1 }

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

НазваниеТипОписание
titlestringОбязательный. Заголовок элемента
urlstringНеобязательный. URL-адрес элемента
new_tabbooleanНеобязательный. Открывать в новой вкладке
iconstringНеобязательный. Иконка элемента
positionintegerНеобязательный. Позиция элемента
visible_only_for_guestsbooleanНеобязательный. Видимость только для гостей
visible_only_for_logged_inbooleanНеобязательный. Видимость только для авторизованных
visibilitystringНеобязательный. Видимость (all, desktop, mobile)
parent_idintegerНеобязательный. ID родительского элемента

Ответ

{ "message": "Navbar item updated successfully", "navbar_item": { "id": 4, "title": "Обновленный элемент", "url": "/updated-page", "new_tab": true, "icon": "edit", "position": 3, "visible_only_for_guests": false, "visible_only_for_logged_in": true, "visibility": "desktop", "parent_id": 1 } }

Коды ответов

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

Удаление элемента навигации

Удаление элемента навигации из системы.

Запрос

DELETE /api/navbar-items/{id}

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

НазваниеТипОписание
idintegerID элемента навигации

Заголовки

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

Ответ

{ "message": "Navbar item deleted successfully" }

Коды ответов

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

Обновление ролей элемента навигации

Обновление ролей, для которых доступен элемент навигации.

Запрос

PUT /api/navbar-items/{id}/roles

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

НазваниеТипОписание
idintegerID элемента навигации

Заголовки

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

Тело запроса

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

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

НазваниеТипОписание
role_idsarrayМассив ID ролей

Ответ

{ "message": "Navbar item roles updated successfully", "roles": [ { "id": 1, "name": "admin" }, { "id": 2, "name": "user" }, { "id": 3, "name": "editor" } ] }

Коды ответов

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

Изменение порядка элементов навигации

Изменение порядка (позиции) элементов навигации.

Запрос

PUT /api/navbar-items/reorder

Заголовки

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

Тело запроса

{ "items": [ { "id": 1, "position": 2 }, { "id": 2, "position": 0 }, { "id": 3, "position": 1 } ] }

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

НазваниеТипОписание
itemsarrayМассив объектов с ID и новыми позициями
idintegerID элемента навигации
positionintegerНовая позиция элемента

Ответ

{ "message": "Navbar items reordered successfully" }

Коды ответов

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