Suodattaminen
Suodattaminen
Useimmat listaus-endpointit Fenerum API:ssa hyväksyvät query string -suodattimia tulosjoukon rajaamiseen. Kunkin endpointin tukemat tarkat suodattimet on listattu kyseisen endpointin viitesivun Parameters-osiossa — alla oleva kuvaus kattaa kaikille yhteiset käytännöt.
Täsmäytyssuodattimet
Suodata tietyn kentän tarkan arvon perusteella:
GET /api/v1/invoices/?status=openGET /api/v1/accounts/?code=CUST001Useita suodattimia voi yhdistää; ne yhdistetään AND-operaattorilla:
GET /api/v1/invoices/?status=due&collection_method=invoiceVertailusuodattimet
Numeerisille ja päivämääräkentille Fenerum tarjoaa Django-tyyliset haku-päätteet:
| Pääte | Merkitys | Esimerkki |
|---|---|---|
__lt | Pienempi kuin | amount__lt=100 |
__lte | Pienempi tai yhtä suuri | created_date__lte=2025-12-31 |
__gt | Suurempi kuin | amount__gt=50 |
__gte | Suurempi tai yhtä suuri | created_date__gte=2025-01-01 |
Päivämääräsuodattimet hyväksyvät ISO-päiväysmerkkijonot (YYYY-MM-DD).
Päivämääräalueen esimerkki
Hae laskut, jotka on luotu joulukuussa 2025:
GET /api/v1/invoices/?created_date__gte=2025-12-01&created_date__lt=2026-01-01Kielteiset suodattimet
Muutamat endpointit tarjoavat _not-variantteja poisrajaaviin kyselyihin. Tarkista endpointin Parameters-osiosta, mitä on saatavilla — esimerkiksi Invoices:
GET /api/v1/invoices/?status_not=paid&account_not=CUST001Yhdistäminen sivutukseen
Suodattimet säilyvät sivujen välillä — sivutetun vastauksen next/previous-URL:it kuljettavat suodatinparametrisi eteenpäin. Katso Pagination sivutusparametrien page/page_size osalta.
GET /api/v1/invoices/?account=CUST001&page=2&page_size=50Vastauksen count-kenttä heijastaa suodatettujen tulosten kokonaismäärää, ei suodattamatonta kokonaismäärää.
Haku vaihtoehtoisella tunnisteella
Pieni joukko endpointeja (tällä hetkellä Plans ja Plan Terms) hyväksyy Lookup-Field HTTP-otsakkeen, joka muuttaa, miten URL-polun tunnistetta tulkitaan — hyödyllistä, kun sinulla ei ole UUID:ta, mutta tiedät resurssin ulkoisen code-arvon:
GET /api/v1/plans/enterprise/
Lookup-Field: codeSallitut arvot on dokumentoitu kyseisissä endpointeissa (tyypillisesti uuid ja code).
Parhaat käytännöt
- Suodata ennen sivutusta. Pienempien tulosjoukkojen hakeminen on nopeampaa ja kuluttaa vähemmän rajoitusta.
- Käytä ISO-päivämääriä. Kaikki päivämääräkentät hyväksyvät muodon
YYYY-MM-DD; jotkin hyväksyvät myös ISO-datetime-arvot (YYYY-MM-DDTHH:MM:SSZ). - Tarkista endpointin Parameters. Suodattimien nimet vaihtelevat resurssikohtaisesti — jokaisen operaation Parameters-osio listaa tarkalleen, mitä on saatavilla (etsi sinistä
query-merkintää).