Sivutus

Sivutus

Fenerum API:n listapäätepisteet käyttävät sivupohjaista sivutusta, jotta suurten aineistojen hakeminen on tehokasta. Oletusarvoisesti jokaisella sivulla on 20 kohdetta.

Sivutuksen parametrit

Kaikki listapäätepisteet tukevat seuraavia kyselyparametreja:

  • page - Haettava sivunumero (oletus: 1)
  • page_size - Tulosten määrä sivua kohden (oletus: 20, enintään: 100)

Vastauksen muoto

Sivutetut vastaukset sisältävät seuraavat kentät:

KenttäTyyppiKuvaus
countintegerKokonaismäärä saatavilla olevia kohteita (kaikilla sivuilla)
nextstring (url), nullableURL seuraavan sivun hakemiseen
previousstring (url), nullableURL edellisen sivun hakemiseen
resultsarrayTämän sivun objektien array

Esimerkkipyyntö

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

Esimerkkivastaus

{
  "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
  ]
}

Sivujen läpikäynti

Hae kaikki kohteet seuraamalla next-URL-osoitetta, kunnes sen arvo on 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']

Parhaat käytännöt

  • Käytä tarpeisiisi sopivia page_size-arvoja (pienempiä käyttöliittymää varten, suurempia datan vientiin)
  • Tarkista aina next-kenttä selvittääksesi, onko lisää sivuja
  • Käytä suodattimia tulosten määrän pienentämiseksi ennen sivutusta
  • Välimuistita tulokset mahdollisuuksien mukaan API-kutsujen määrän vähentämiseksi
Previous
Errors
background logo

We invoice 2 billion DKK annually for our customers. Let's put your invoicing on autopilot today!