Lists
Lists
A list is a collection resource that returns ordered links to other resources.
Cortex lists follow this format:
-
An element link for each resource in the list.
-
A type set to elasticpath.collections.links. This type indicates there are no properties associated with the list, only links to other resources.
Lists Example: lineitems
lineitems are a list resource that contain links to each lineitem in the shopper's cart. In
the lineitems resource, each lineitem is represented as an element link
with a type set to elasticpath.collections.links:
{
"self": {
"type": "elasticpath.collections.links",
"uri": "/commerce-legacy/carts/mobee/guz=/lineitems",
"href": "http://api.elasticpath.net/cortex/carts/mobee/guz=/lineitems"
},
"links": [
{
"rel": "element",
"rev": "list",
"type": "elasticpath.carts.line-item",
"uri": "/commerce-legacy/carts/mobee/guz=/lineitems/hfq=",
"href": "http://api.elasticpath.net/cortex/carts/mobee/guz=/lineitems/hfq="
},
{
"rel": "element",
"rev": "list",
"type": "elasticpath.carts.line-item",
"uri": "/commerce-legacy/carts/mobee/guz=/lineitems/gbq=",
"href": "http://api.elasticpath.net/cortex/carts/mobee/guz=/lineitems/gbq="
},
{
"rel": "cart",
"rev": "lineitems",
"type": "elasticpath.carts.cart",
"uri": "/commerce-legacy/carts/mobee/guz=",
"href": "http://api.elasticpath.net/cortex/carts/mobee/guz="
}
]
}
Pagination
Lists can be paginated when large numbers of links return.
Cortex
paginated lists follow this format:
- An element link for each resource on a page.
- A next link to retrieve the next page of links.
- A previous link to retrieve the previous page of links.
- A type set to elasticpath.collections.pagination, which indicates the list is paginated.
- A pagination object with the following fields:
- current: The current page number.
- page-size: The number of links on each page, excluding the next/previous pagination links.
- pages: The total number of pages.
- results: The total number of links, excluding the next/previous pagination links.
- results-on-page: The number of links on the current page, excluding the next/previous pagination links.
Lists Pagination Example: Item Keyword Search
An item keyword search returns a paginated list resource that links to each item found
by the keyword
search:
{
"self": {
"type": "elasticpath.collections.pagination",
"uri": "/commerce-legacy/searches/mobee/keywords/items/m43g=/pages/2",
"href": "http://api.elasticpath.net/cortex/searches/mobee/keywords/items/m43g=/pages/2"
},
"pagination": {
"current": 2,
"page-size": 5,
"pages": 6,
"results": 29,
"results-on-page": 5
},
"links": [
{
"rel": "element",
"type": "elasticpath.items.item",
"uri": "/commerce-legacy/items/mobee/m5yi=",
"href": "http://api.elasticpath.net/cortex/items/mobee/m5yi="
},
{
"rel": "element",
"type": "elasticpath.items.item",
"uri": "/commerce-legacy/items/mobee/m5ypi=",
"href": "http://api.elasticpath.net/cortex/items/mobee/m5ypi="
},
{
"rel": "element",
"type": "elasticpath.items.item",
"uri": "/commerce-legacy/items/mobee/m5yq=",
"href": "http://api.elasticpath.net/cortex/items/mobee/m5yq="
},
{
"rel": "element",
"type": "elasticpath.items.item",
"uri": "/commerce-legacy/items/mobee/m5ya=",
"href": "http://api.elasticpath.net/cortex/items/mobee/m5ya="
},
{
"rel": "element",
"type": "elasticpath.items.item",
"uri": "/commerce-legacy/items/mobee/m5y6=",
"href": "http://api.elasticpath.net/cortex/items/mobee/m5y6="
},
{
"rel": "previous",
"type": "elasticpath.collections.pagination",
"uri": "/commerce-legacy/searches/mobee/keywords/items/m43g=/pages/1",
"href": "http://api.elasticpath.net/cortex/searches/mobee/keywords/items/m43g=/pages/1"
},
{
"rel": "next",
"type": "elasticpath.collections.pagination",
"uri": "/commerce-legacy/searches/mobee/keywords/items/m43g=/pages/3",
"href": "http://api.elasticpath.net/cortex/searches/mobee/keywords/items/m43g=/pages/3"
}
]
}

