Searching, Paging, and Sorting
For large datasets, Amberflo supports paging and sorting.
Endpoint
https://app.amberflo.io/customers/paging
Query string parameters
The following query string parameters are passed to the paging endpoint.
Parameter | Description | Default |
---|---|---|
sort | Property to sort on. Any valid customer object property: id customerName customerEmail createTime updateTime | id |
limit | Number of rows per page. Integer value. | 10 |
isAscending | true or false(descending) | true |
page | The page index to be fetched. Integer value greater than 0. This is not required for the first page. | 1 |
search | The search keyword to filter records. The search keyword will be searched in customerId, customerName, and customerEmail properties using contains logic. In other words, it searches the entire field text for the occurrence of the search keyword. If no search keyword, then all customers will be returned. |
Response
Following is a sample response when customers are sorted by customerName in ascending for the search keyword inc and page size of 5.
/customers/paging?limit=5&sort=customerName&search=inc
{
"items": [
{
"enabled": true,
"customerName": "Avengers, Inc.",
"customerEmail":"[email protected]",
"updateTime": 1620412138198,
"createTime": 1620407940012,
"id": "00e99cc3-8d07-4946-87fb-fd2fbdc3ada7",
"customerId": "00e99cc3-8d07-4946-87fb-fd2fbdc3ada7"
},
{
"enabled": true,
"customerName": "Monsters, Inc.",
"customerEmail":"[email protected]",
"updateTime": 1620407897347,
"createTime": 1620407897347,
"id": "0208c479-f72a-456e-9334-5affabc11530",
"customerId": "0208c479-f72a-456e-9334-5affabc11530"
},
{
"enabled": true,
"customerName": "Oceanic Airlines, Inc.",
"customerEmail":"[email protected]",
"updateTime": 1620407902792,
"createTime": 1620407902792,
"id": "04df2aa5-6455-4fd9-b7aa-08d53689379e",
"customerId": "04df2aa5-6455-4fd9-b7aa-08d53689379e"
},
{
"enabled": true,
"customerName": "Omni Consumer Products, Inc.",
"customerEmail":"[email protected]",
"updateTime": 1620407892070,
"createTime": 1620407892070,
"id": "073ce3e1-544b-47c2-83a8-dc29c9bd89e2",
"customerId": "073ce3e1-544b-47c2-83a8-dc29c9bd89e2"
},
{
"enabled": true,
"customerName": "Stark Industries, Inc.",
"customerEmail":"[email protected]",
"updateTime": 1620407934342,
"createTime": 1620407934342,
"id": "07908636-7509-4ee0-87c8-5a0273822f74",
"customerId": "07908636-7509-4ee0-87c8-5a0273822f74"
}
],
"metadata": {
"totalRowCount": 1668,
"filteredRowCount": 20,
"limit": 5,
"page": 1,
"totalFilteredPages": 4,
"isAscending": true,
"sort": "customerName",
"search": "inc"
}
}
items include the actual list of customers on the page, and metadata includes the paging information as explained in the next section.
Paging metadata
The paging metadata is returned by the API call. It helps the API to keep track of the current paging state.
"metadata": {
"totalRowCount": 1668,
"filteredRowCount": 20,
"limit": 5,
"page": 1,
"totalFilteredPages": 4,
"isAscending": true,
"sort": "customerName",
"search": "inc"
}
Property | Description | Example |
---|---|---|
totalRowCount | The total number of customer records. | 1668 |
filteredRowCount | Number of records filtered for the search keyword. If no search keyword, then it is the same as totalRowCount. | 20 |
limit | Page size. Obtained from search query. | 5 |
page | Current page index. Obtained from search query. | 1 |
totalFilteredPages | Total number of pages after applying the search filter. | 4 |
isAscending | Obtained from search query. | true |
sort | Sort column. Obtained from search query. | customerName |
search | Search keyword. Obtained from search query. | inc |
Useful Queries
Function | Query |
---|---|
Search customers containing the text "labs" | search=labs |
Search customers containing the text "labs" and fetch the 10th page | search=labs&page=10 |
Get all customers sorted by name and fetch the 2nd page | sort=customerName&page=2 |
Get the latest created customers first | sort=createTime |
Updated 11 months ago