Filtering
Filtrering
De fleste listeendepunkter i Fenerum API aksepterer filtre i query string for å avgrense resultatsettet. Det eksakte settet med filtre som støttes av hvert endepunkt er listet i seksjonen Parameters på referansesiden for det endepunktet — beskrivelsen nedenfor dekker konvensjonene som brukes på tvers av dem.
Filtre for eksakt samsvar
Filtrer på en spesifikk feltverdi:
GET /api/v1/invoices/?status=openGET /api/v1/accounts/?code=CUST001Flere filtre kan kombineres; de kobles med logisk AND:
GET /api/v1/invoices/?status=due&collection_method=invoiceSammenligningsfiltre
For numeriske felt og datofelt eksponerer Fenerum oppslagssuffikser i Django-stil:
| Suffiks | Betydning | Eksempel |
|---|---|---|
__lt | Mindre enn | amount__lt=100 |
__lte | Mindre enn eller lik | created_date__lte=2025-12-31 |
__gt | Større enn | amount__gt=50 |
__gte | Større enn eller lik | created_date__gte=2025-01-01 |
Datofiltere aksepterer ISO-datoer (YYYY-MM-DD).
Eksempel på datointervall
Hent fakturaer opprettet i desember 2025:
GET /api/v1/invoices/?created_date__gte=2025-12-01&created_date__lt=2026-01-01Negerte filtre
Noen endepunkter eksponerer _not-varianter for spørringer som ekskluderer. Se endepunktets Parameters for hva som er tilgjengelig, for eksempel for fakturaer:
GET /api/v1/invoices/?status_not=paid&account_not=CUST001Kombinere med paginering
Filtre bevares på tvers av sider — URL-ene i next/previous i et paginert svar tar med filterparametrene videre. Se Pagination for omslaget med page/page_size.
GET /api/v1/invoices/?account=CUST001&page=2&page_size=50Feltet count i svaret gjenspeiler det totale antallet i det filtrerte resultatet, ikke det ufiltrerte totalantallet.
Oppslag med alternativ identifikator
En liten gruppe endepunkter (for tiden Plans og Plan Terms) godtar en Lookup-Field HTTP-header som endrer hvordan identifikatoren i URL-stien tolkes — nyttig når du ikke har UUID-en, men kjenner ressursens eksterne code:
GET /api/v1/plans/enterprise/
Lookup-Field: codeTillatte verdier er dokumentert på de berørte endepunktene (typisk uuid og code).
Beste praksis
- Filtrer før paginering. Å hente mindre resultatsett er raskere og trekker mindre mot rate limit.
- Bruk ISO-datoer. Alle datofelter aksepterer
YYYY-MM-DD; noen aksepterer også ISO-dato-/tidsverdier (YYYY-MM-DDTHH:MM:SSZ). - Kontroller endepunktets parametere. Filternavn varierer per ressurs — blokken Parameters på hver operasjon lister nøyaktig hva som er tilgjengelig (se etter det blå
query-merket).