Browse Nodes
The enfore platform provides various places where users and/or customers can view the organizations products. Aside from search, and product lists, the primary way to navigate products is via "browse nodes".
Browse nodes are defined by the organization (vie API or client UI) and form an acyclic graph that can be navigated. Each node in the graph is called a browse node and any single product might be associated with any number of browse nodes.
For example, an electronics store selling gaming consoles might create a browse node graph like this:
A single product can be assigned to any number of browse nodes. For example, the Xbox version of the video game "F1 2020" may be assiged to XBox > Games > Sports
and XBox > Games > Racing
.
Note that it is possible to assign products to non-leaf browse nodes. For example, a game that doesn't fit into one of Action
, Racing
, Sports
or Family
could be directly assigned to Games
Order of child nodes for a browse node
Browse nodes form a directed acyclic graph via their parent->child relationships. For purposes of displaying child nodes of a specific parent to the user, an order over the children of a parent is necessary.
That order can be explicitly contolled via the /org/{org-id}/browse-nodes/{browse-node-id}/children
endpoint.
When modifying the list of children indirectly (via PUT
on a specific node with a different set of parents or via POST
of a new node), new children are always appended to the existing list of children.