Меню
Меню — это иерархическое дерево пунктов навигации, привязанное к пользователю. Группа endpoint’ов делится на чтение (отрисовать sidebar) и шаблонные операции (скопировать меню между пользователями/проектами, сохранить как шаблон).
Чтение текущего меню
Меню текущего пользователя
- Метод
- GET
- URL
https://api.gigma.ru/api/menus- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Возвращает корневое меню текущего авторизованного пользователя (определяется по Bearer токену).
Ответ
{
"menus": [
{
"id": 1,
"name": "Главное меню",
"is_default": true,
"created_at": "2024-03-27T07:00:46.000000Z"
}
]
}Пункты меню по умолчанию
- Метод
- GET
- URL
https://api.gigma.ru/api/menus/default/items- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Возвращает дерево пунктов меню по умолчанию (то, что показывается в sidebar админки).
Ответ
{
"menuItems": [
{
"id": 1,
"menu_id": 1,
"parent_id": null,
"avatar": "https://api.gigma.ru/storage/uploads/dashboard.svg",
"name": "Дашборд",
"url": "/dashboard",
"children": []
},
{
"id": 2,
"menu_id": 1,
"parent_id": null,
"avatar": "https://api.gigma.ru/storage/uploads/orders.svg",
"name": "Заказы",
"url": "/orders",
"children": [
{
"id": 3,
"menu_id": 1,
"parent_id": 2,
"avatar": "https://api.gigma.ru/storage/uploads/orders-list.svg",
"name": "Список заказов",
"url": "/orders/list",
"children": []
}
]
}
],
"menuItemsCount": 3
} Описание полей ответа
menuItems[]— пункты меню в виде дерева:id— ID пунктаmenu_id— ID меню-владельцаparent_id— ID родителя (nullдля корневых)avatar— URL иконкиname— отображаемое названиеurl— путь, на который ведёт пункт (опционально, у группирующих пунктов отсутствует)children[]— массив дочерних пунктов (рекурсивно)
menuItemsCount— общее количество пунктов
Шаблонные операции
Скопировать меню текущего пользователя указанному
- Метод
- POST
- URL
https://api.gigma.ru/api/users/{id}/attach_menu- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Берёт меню текущего (авторизованного) пользователя и привязывает его к пользователю с указанным id. Тело запроса пустое — оба меню определяются из контекста: текущий пользователь по токену, целевой по URL.
Параметры запроса
Только id целевого пользователя в пути URL. Тело пустое.
Пример запроса
POST https://api.gigma.ru/api/users/51/attach_menu Ответ
{
"message": "Menu has been attached."
}Скопировать меню текущего пользователя всем пользователям проекта
- Метод
- POST
- URL
https://api.gigma.ru/api/attach_menu_to_project- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Берёт меню текущего пользователя и применяет его ко всем пользователям его текущего проекта (бизнеса).
Параметры запроса
Тело пустое.
Ответ
{
"message": "Menu has been attached."
}Сохранить меню пользователя как шаблон
- Метод
- POST
- URL
https://api.gigma.ru/api/users/{id}/create_menu_from_user_items- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Создаёт новое именованное меню (шаблон) на основе текущего меню указанного пользователя.
Параметры запроса (тело)
name— название нового меню
Пример запроса
POST https://api.gigma.ru/api/users/51/create_menu_from_user_items {
"name": "Главное меню (Retail)"
} Ответ
{
"message": "Menu has been created."
}