Pagination

Cursor Pagination

Cursor Pagination (also known as keyset pagination) is an efficient method for traversing large datasets by using a stable pointer rather than numerical offsets. This approach offers significant performance advantages over traditional offset/limit pagination, particularly when working with large datasets, frequently updated content and ordered results.

In Shoplazza's APIs, when dealing with endpoints that return multiple objects, you'll receive a cursor value acts as a bookmark for your position in the result set, and also indicates how to retrieve the next set of results. The has_more boolean explicitly indicates whether additional results are available.

Here's a simple example:

Assume you are fetching a list of users through an API endpoint. The first API call might return a response like this:

{
  "data": [
    {
      "id": 1, 
      "name": "Alice"
    },
    {
      "id": 2, 
      "name": "Bob"
    },
    ...
  ],
  "cursor": "abc123",
  "has_more": true
}

To fetch the next set of results, you'd use the cursor value (in this case, "abc123").

If you later navigate to another page and receive a response like:

{
  "data": [
    {
      "id": 101, 
      "name": "Zack"
    },
    {
      "id": 102, 
      "name": "Zoe"
    },
    ...
  ],
  "cursor": "def456"
  "has_more": true
}

To use these cursors, you typically pass them as query parameters to your API request. For instance:

  • Fetch the first set of results: GET /users
  • Fetch the second set of results: GET /users?cursor=abc123
  • Fetch the third set of results: GET /users?cursor=def456

This is just a conceptual example; the specifics will vary based on the API's implementation. Always refer to the API documentation for exact usage details.