Paginering

Paginering

Liste-endpoints i Fenerum API’et bruger sidebaseret paginering til effektivt at hente store datasæt. Som standard indeholder hver side 20 elementer.

Parametre for paginering

Alle liste-endpoints understøtter følgende forespørgselsparametre (query parameters):

  • page - Sidenummer, der skal hentes (standard: 1)
  • page_size - Antal resultater pr. side (standard: 20, maks.: 100)

Svarformat

Paginerede svar indeholder følgende felter:

FeltTypeBeskrivelse
countintegerSamlet antal elementer tilgængelige (på tværs af alle sider)
nextstring (url), nullableURL til at hente næste side med resultater
previousstring (url), nullableURL til at hente den forrige side med resultater
resultsarrayArray af objekter for den aktuelle side

Eksempel på forespørgsel

GET /api/v1/accounts/?page=2&page_size=50

Eksempel på svar

{
  "count": 247,
  "next": "https://app.fenerum.com/api/v1/accounts/?page=3&page_size=50",
  "previous": "https://app.fenerum.com/api/v1/accounts/?page=1&page_size=50",
  "results": [
    {
      "uuid": "123e4567-e89b-12d3-a456-426614174000",
      "code": "CUST001",
      "name": "Example Customer"
    }
    // ... more results
  ]
}

Iterere gennem sider

For at hente alle elementer, følg next-URL’en, indtil den er null:

url = '/api/v1/accounts/'
all_accounts = []

while url:
    response = requests.get(url, headers=headers)
    data = response.json()
    all_accounts.extend(data['results'])
    url = data['next']

Bedste praksis

  • Brug passende page_size-værdier baseret på dine behov (mindre til UI, større til dataeksport)
  • Kontrollér altid feltet next for at se, om der findes flere sider
  • Brug filtre til at reducere det samlede antal resultater, før du paginerer
  • Cache resultater, når det er muligt, for at reducere API-kald
Previous
Errors
background logo

Vi fakturerer for mere end 2 millarder årligt for vores kunder. Skal vi hjælpe dig med at sætte din fakturering på autopilot?