Пункты меню (управление)
Пункты меню — это данные навигации для вашего фронтенда. Они принадлежат приложению (/api/applications/{id}/menu_items) и авторизуются Bearer сотрудника платформы. Витрина получает готовое дерево через GET /api/counterparty/menus/{slug?} (чтение на витрине). Порядок задаётся полем order по возрастанию, вложенность — полем parent_id.
Как и другие вложенные ресурсы приложения, пункты меню находятся по переданному id и принадлежность проекту не проверяют — сверяйте id на своей стороне, особенно в скриптах. Заголовки авторизации — в соглашениях. Порядок работы из кода и связь с корнем меню — в headless-управлении.
Получение списка пунктов меню (табличное)
- Метод
- GET
- URL
https://api.gigma.ru/api/tables/applications/{id}/menu_items- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Параметры запроса
query(string, необязательный) — поиск по названию пункта.
Ответ
Пункты возвращаются деревом: родители по возрастанию order, следом их дочерние пункты. Пункты, у которых родитель не найден, добавляются в конец списка.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.
Получение списка пунктов меню
- Метод
- GET
- URL
https://api.gigma.ru/api/applications/{id}/menu_items- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Ответ
Все пункты меню приложения без группировки по уровням — дерево собирайте по parent_id.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.
Создание пункта меню
- Метод
- POST
- URL
https://api.gigma.ru/api/applications/{id}/menu_items- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Параметры запроса
name(string, обязательный) — название пункта меню.slug(string, необязательный) — slug пункта.code(int, необязательный) — уникальный в проекте код пункта.parent_id(int, необязательный) — ID родительского пункта.order(int, необязательный, от 1) — позиция в списке.avatar_id(int, необязательный) — ID файла аватара.preview_id(int, необязательный) — ID файла превью.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.422— тело запроса не прошло валидацию.
Получение пункта меню
- Метод
- GET
- URL
https://api.gigma.ru/api/applications/{id}/menu_items/{menu_item_id}- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Ответ
HTTP 200 с пунктом меню и его связями.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.
Обновление пункта меню
- Метод
- PUT
- URL
https://api.gigma.ru/api/applications/{id}/menu_items/{menu_item_id}- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Те же параметры, что и при создании; все необязательные.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.422— тело запроса не прошло валидацию.
Удаление пункта меню
- Метод
- DELETE
- URL
https://api.gigma.ru/api/applications/{id}/menu_items/{menu_item_id}- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Ответ
HTTP 200 с сообщением подтверждения. Вложенные пункты удаляются вместе с родителем — если они нужны, сначала перенесите их на другой parent_id.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.
Перемещение пункта меню вверх
- Метод
- POST
- URL
https://api.gigma.ru/api/applications/{id}/menu_items/{menu_item_id}/up- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Уменьшает order на 1, не опускаясь ниже 1. Список сортируется по возрастанию order, поэтому пункт поднимается. Возвращает обновлённый пункт меню.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.422— тело запроса не прошло валидацию.
Перемещение пункта меню вниз
- Метод
- POST
- URL
https://api.gigma.ru/api/applications/{id}/menu_items/{menu_item_id}/down- Авторизация
- Bearer token
- Headers
Authorization: Bearer {token}- Успешный ответ
200
Увеличивает order на 1 — пункт опускается, но не ниже последнего пункта того же уровня. Возвращает обновлённый пункт меню.
Возможные ошибки
404— объекта с таким id не существует. Принадлежность приложения вашему проекту этот маршрут не проверяет: чужой существующий id отработает как свой.422— тело запроса не прошло валидацию.