Menu preset

API calls to work with user menu presets.

API calls to work with the customizable sidebar structure for end users. Customizable sidebar allows you to create flexible user menus by adding, rearranging, and renaming menu items and tabs. Menu presets act as templates that can be assigned to users.

Entity description

A template that includes a specific set of menu items, organized into groups and footer items.

Name
Description
Type

id

An identifier for the preset

int

title

The title of the preset in the editor

string

main

A list of item groups in the sidebar

footer

A list of items in the sidebar's footer

Menu item array

A collection of menu items, optionally titled, that are grouped together within the sidebar.

Name
Description
Type

title

The title of the group

optional string

items

A list of the menu items

Menu item array

An individual item in the sidebar, which can include an icon and a list of tabs.

Name
Description
Type

title

The title of the menu item

string

icon

The icon of the menu item

optional string

tabs

A list of tabs in this item

Menu tab array

A subitem within a menu item, providing additional navigation to specific sections or functionalities.

Name
Description
Type

title

The title of the tab

string

destination

The destination of the tab

string

Specifies how a menu preset is assigned to users. It can be set as a default for all users or targeted to specific user IDs, allowing for users to have different menu configurations.

Name
Description
Type

type

Assignment type

ids

User ids to assign to (if type = "users")

int array

Defines the type of assignment for a menu preset, either as a default for all users or for specific user assignments.

Name
Description

default

The preset will be used if there's no specific assignment fro the user

users

Assignment for the specified users

API actions

API base path: panel/user/menu

list

Lists all available menu presets with their current assignments.

Example

cURL
curl -X GET 'https://api.eu.navixy.com/v2/panel/user/menu/preset/list' \ 
    -H 'Authorization: NVX 22eac1c27af4be7b9d04da2ce1af111b'

Response

{
  "success": true,
  "list": [
    {
      "assignments": [],
      "owner": "platform",
      "preset": {
        "id": 1,
        "title": "common.menu.default.title",
        "main": [
          {
            "items": [
              {
                "icon": "dashboard",
                "tabs": [
                  {
                    "destination": "dashboard",
                    "title": "common.menu.dashboard"
                  }
                ],
                "title": "common.menu.dashboard"
              }
            ],
            "title": null
          }, {
            "items": [
              {
                "icon": "map",
                "tabs": [
                  {
                    "destination": "tracking",
                    "title": "common.menu.tracking"
                  }
                ],
                "title": "common.menu.tracking"
              }, {
                "icon": "share",
                "tabs": [
                  {
                    "destination": "location_links",
                    "title": "common.menu.location-sharing"
                  }
                ],
                "title": "common.menu.location-sharing"
              }
            ],
            "title": null
          }, {
            "items": [
              {
                "icon": "assessment",
                "tabs": [
                  {
                    "destination": "reports",
                    "title": "common.menu.reports"
                  }, {
                    "destination": "report_schedules",
                    "title": "common.menu.schedule"
                  }
                ],
                "title": "common.menu.reports"
              }
            ],
            "title": null
          }, {
            "items": [
              {
                "icon": "directions_car",
                "tabs": [
                  {
                    "destination": "fleet",
                    "title": "common.menu.vehicles"
                  }, {
                    "destination": "garages",
                    "title": "common.menu.garages"
                  }, {
                    "destination": "drivers",
                    "title": "common.menu.drivers"
                  }, {
                    "destination": "driver_departments",
                    "title": "common.menu.departments"
                  }, {
                    "destination": "driver_journal",
                    "title": "common.menu.driver_journal"
                  }, {
                    "destination": "driver_skills",
                    "title": "common.menu.driver_skills"
                  }, {
                    "destination": "service_tasks",
                    "title": "common.menu.service_tasks"
                  }
                ],
                "title": "common.menu.fleet"
              }, {
                "icon": "groups",
                "tabs": [
                  {
                    "destination": "staff",
                    "title": "common.menu.staff"
                  }, {
                    "destination": "tasks",
                    "title": "common.menu.tasks"
                  }, {
                    "destination": "task_schedules",
                    "title": "common.menu.templates"
                  }, {
                    "destination": "forms",
                    "title": "common.menu.forms"
                  }, {
                    "destination": "task_courier",
                    "title": "common.menu.task_courier"
                  }, {
                    "destination": "departments",
                    "title": "common.menu.departments"
                  }, {
                    "destination": "places",
                    "title": "common.menu.places"
                  }
                ],
                "title": "common.menu.field_service"
              }
            ],
            "title": null
          }
        ],
        "footer": {
          "items": [
            {
              "icon": "notifications",
              "tabs": [
                {
                  "destination": "notifications",
                  "title": "common.menu.notifications"
                }
              ],
              "title": "common.menu.notifications"
            }, {
              "icon": "textsms",
              "tabs": [
                {
                  "destination": "chat",
                  "title": "common.menu.chat"
                }
              ],
              "title": "common.menu.chat"
            }, {
              "icon": "custom-icon-add_device",
              "tabs": [
                {
                  "destination": "device_activation",
                  "title": "common.menu.device_activation"
                }
              ],
              "title": "common.menu.device_activation"
            }, {
              "icon": "settings",
              "tabs": [
                {
                  "destination": "device_settings",
                  "title": "common.menu.device_settings"
                }
              ],
              "title": "common.menu.device_settings"
            }, {
              "icon": "help_outline",
              "tabs": [
                {
                  "destination": "feedback",
                  "title": "common.menu.help"
                }
              ],
              "title": "common.menu.help"
            }
          ],
          "title": null
        }
      }
    }
  ]
}

List item

Name
Description
Type

preset

An instance of menu preset

owner

The owner of the preset

assignments

A set of assignments for the preset

Preset owner

Name
Description

platform

Default platform preset

dealer

Created by dealer

create

Creates given menu preset.

Parameters

Name
Description
Type

preset

New preset structure

Menu preset (without id)

Example

cURL
curl -X POST 'https://api.eu.navixy.com/v2/panel/user/menu/preset/create' \
    -H 'Authorization: NVX 22eac1c27af4be7b9d04da2ce1af111b' \
    -H 'Content-Type: application/json' \
    -d '{ "preset": { "title": "Created", "main": [ { "title": "Monitoring", "items": [ { "title": "Tasks", "tabs": [ { "title": "Tasks", "destination": "tasks" } ] } ] } ], "footer": [] } }'

Response

{
  "success": true,
  "id": 2
}

Errors

  • 7 – Invalid parameters - invalid menu preset structure (see error description for details).

update

Updates the menu preset.

Parameters

Name
Description
Type

preset

New preset structure with id of the existing preset to overwrite

Example

cURL
curl -X POST 'https://api.eu.navixy.com/v2/panel/user/menu/preset/update' \
    -H 'Authorization: NVX 22eac1c27af4be7b9d04da2ce1af111b' \
    -H 'Content-Type: application/json' \
    -d '{ "preset": { "id": 2, "title": "Updated", "main": [ { "title": "Monitoring", "items": [ { "title": "Tasks", "tabs": [ { "title": "Tasks", "destination": "tasks" } ] } ] } ], "footer": [] } }'

Response

{
  "success": true
}

Errors

  • 7 – Invalid parameters - invalid menu preset structure (see error description for details).

  • 201 – Not found in the database — if there is no preset with the specified ID.

delete

Deletes the menu preset.

Parameters

Name
Description
Type

preset_id

preset id to delete

int

Example

cURL
curl -X POST 'https://api.eu.navixy.com/v2/panel/user/menu/preset/delete?preset_id=2' \
    -H 'Authorization: NVX 22eac1c27af4be7b9d04da2ce1af111b'

Response

{
  "success": true
}

Errors

  • 201 – Not found in the database — if preset with given id not found.

assign

Assigns the menu preset to users.

Parameters

Name
Description
Type

preset_id

Preset id to assign

int

target

The assignment

Example

cURL
curl -X POST 'https://api.eu.navixy.com/v2/panel/user/menu/preset/assign' \
    -H 'Authorization: NVX 22eac1c27af4be7b9d04da2ce1af111b'
    -H "Content-Type: application/json" \
    -d '{ "preset_id": 2, "target": { "type": "users", "ids": [3] } }'

Response

{
  "success": true
}

Errors

  • 7 – Invalid parameters - invalid request structure (see error description for details).

  • 201 – Not found in the database — if preset with given id not found.

items/list

Lists all available menu items.

Example

cURL
curl -X GET 'https://api.eu.navixy.com/v2/panel/user/menu/preset/items/list' \
    -H 'Authorization: NVX 22eac1c27af4be7b9d04da2ce1af111b'

Response

[
  { "title": "common.menu.dashboard", "destination": "dashboard" },
  { "title": "common.menu.tracking", "destination": "tracking" },
  { "title": "common.menu.location-sharing", "destination": "location_links" },
  { "title": "common.menu.reports", "destination": "reports" },
  { "title": "common.menu.schedule", "destination": "report_schedules" },
  { "title": "common.menu.vehicles", "destination": "fleet" },
  { "title": "common.menu.garages", "destination": "garages" },
  { "title": "common.menu.drivers", "destination": "drivers" },
  { "title": "common.menu.departments", "destination": "driver_departments" },
  { "title": "common.menu.driver_journal", "destination": "driver_journal" },
  { "title": "common.menu.driver_skills", "destination": "driver_skills" },
  { "title": "common.menu.service_tasks", "destination": "service_tasks" },
  { "title": "common.menu.staff", "destination": "staff" },
  { "title": "common.menu.tasks", "destination": "tasks" },
  { "title": "common.menu.templates", "destination": "task_schedules" },
  { "title": "common.menu.forms", "destination": "forms" },
  { "title": "common.menu.task_courier", "destination": "task_courier" },
  { "title": "common.menu.departments", "destination": "departments" },
  { "title": "common.menu.places", "destination": "places" },
  { "title": "common.menu.notifications", "destination": "notifications" },
  { "title": "common.menu.chat", "destination": "chat" },
  { "title": "common.menu.device_activation", "destination": "device_activation" },
  { "title": "common.menu.device_settings", "destination": "device_settings" },
  { "title": "common.menu.help", "destination": "feedback" }
]

Last updated

Was this helpful?