Skip to content
API

Päringu viide ​

Objekte päritakse läbi GET /api/{db}/entity, kasutades URL-päringuparameetreid. Sama filtrisüntaksit kasutatakse menüü query parameetrites ja reference_query-s viiteparameetrite definitsioonidel.

Filtrid ​

Filtrid järgivad mustrit propertyName.type=value. Tüüp on väärtuse väli, milles väärtus asub: string parameetritüüpide string, text ja counter puhul, number parameetritüübi number ja loenduri arvulise osa puhul, failide puhul filesize, filename või filetype. Viiteväärtusel on viidatava objekti nimi ka väljal string.

FilterNäideKirjeldus
prop.string=value_type.string=invoiceTäpne stringi vastavus
prop.string.regex=/pattern/flagsname.string.regex=/acme/iRegulaaravaldise vastavus
prop.string.in=a,b,cstatus.string.in=active,pendingVastab ühele loetletud väärtustest
prop.string.exists=true|falseemail.string.exists=trueKontrollib, kas stringiparameetril on väärtus
prop.reference=idowner.reference=abc123Täpne viite vastavus
prop.reference.in=id1,id2owner.reference.in=abc,defVastab ühele loetletud objekti ID-dest
prop.reference.exists=true|falseowner.reference.exists=trueKontrollib, kas viiteparameetril on väärtus
prop.number=nbudget.number=1000Täpne arvu vastavus
prop.number.gt=nbudget.number.gt=500Suurem kui
prop.number.gte=nbudget.number.gte=500Suurem või võrdne
prop.number.lt=nbudget.number.lt=1000Väiksem kui
prop.number.lte=nbudget.number.lte=1000Väiksem või võrdne
prop.number.ne=nbudget.number.ne=0Ei võrdu
prop.number.in=a,b,cquantity.number.in=10,20,30Vastab ühele loetletud numbritest
prop.number.exists=true|falseprice.number.exists=trueKontrollib, kas arvuparameetril on väärtus
prop.boolean=true|falseactive.boolean=trueTõeväärtuse vastavus
prop.boolean.in=true,falseactive.boolean.in=true,falseVastab ühele loetletud tõeväärtustest
prop.boolean.exists=true|falseactive.boolean.exists=trueKontrollib, kas tõeväärtuse parameetril on väärtus
prop.date=YYYY-MM-DDdue_date.date=2025-01-01Täpne kuupäeva vastavus
prop.date.gt=datedue_date.date.gt=2025-01-01Suurem kui
prop.date.gte=datedue_date.date.gte=2025-01-01Suurem või võrdne
prop.date.lt=datedue_date.date.lt=2025-12-31Väiksem kui
prop.date.lte=datedue_date.date.lte=2025-12-31Väiksem või võrdne
prop.date.in=d1,d2event_date.date.in=2025-01-01,2025-02-01Vastab ühele loetletud kuupäevadest
prop.date.exists=true|falsedue_date.date.exists=trueKontrollib, kas kuupäevaparameetril on väärtus
prop.datetime=ISO8601created_at.datetime=2025-01-28T08:21:25ZTäpne kuupäev+kellaaeg vastavus
prop.datetime.gt=ISO8601created_at.datetime.gt=2025-01-01T00:00:00ZSuurem kui
prop.datetime.gte=ISO8601created_at.datetime.gte=2025-01-01T00:00:00ZSuurem või võrdne
prop.datetime.lt=ISO8601created_at.datetime.lt=2025-12-31T00:00:00ZVäiksem kui
prop.datetime.lte=ISO8601created_at.datetime.lte=2025-12-31T00:00:00ZVäiksem või võrdne
prop.datetime.in=d1,d2created_at.datetime.in=2025-01-01T00:00:00Z,...Vastab ühele loetletud kuupäev+kellaaeg väärtustest
prop.datetime.exists=true|falsecreated_at.datetime.exists=trueKontrollib, kas kuupäev+kellaaeg parameetril on väärtus
prop.filesize=nattachment.filesize=1024Täpne faili suuruse vastavus (baitides)
prop.filesize.gt=nattachment.filesize.gt=1000000Faili suurus suurem kui
prop.filesize.gte=nattachment.filesize.gte=1000000Faili suurus suurem või võrdne
prop.filesize.lt=nattachment.filesize.lt=5000000Faili suurus väiksem kui
prop.filesize.lte=nattachment.filesize.lte=5000000Faili suurus väiksem või võrdne
prop.filesize.in=a,battachment.filesize.in=1024,2048Vastab ühele loetletud faili suurustest
prop.filesize.exists=true|falsephoto.filesize.exists=trueKontrollib, kas failiparameetril on väärtus
  • exists võtab iga tüübi puhul väärtuse true või false; mis tahes muu väärtus tähendab false.
  • gt, gte, lt, lte ja ne töötavad ka string-väljadel. ne vastab ka objektidele, millel seda parameetrit üldse pole.
  • Teisi väärtusvälju — filename, filetype, language jne — filtreeritakse stringidena samade operaatoritega, nt photo.filetype=image/jpeg.
  • regex võtab kuju /pattern/flags. Mõjuvad ainult lipud i, m ja s, teised lipud jäetakse ära, välja arvatud x, mis tagastab 400 Invalid regex nagu vigane muster. Ilma /-ta väärtust kasutatakse mustrina nii, nagu see on.
  • date ja datetime väärtusi saab anda ka Unixi ajatemplina millisekundites.
  • boolean puhul tähendab mis tahes muu väärtus kui true väärtust false.
  • Tundmatut operaatorit ei arvestata ja filter vastab väärtusele täpselt.
  • Vigane objekti ID reference-filtris tagastab 400 Invalid ID.

Mitu filtrit ühendatakse &-ga ja kõik peavad vastama (AND loogika). Eri filtrivõtmete vahel pole sisseehitatud OR-i — kasuta .in, et sama parameetri jaoks vastata mitmele väärtusele:

?_type.string=project&status.string=active&owner.reference=USER_ID

Sortimine ​

Kahanevaks sortimiseks lisa sortimisvälja ette -.

ParameeterNäideKirjeldus
sort=prop.typesort=name.stringSordi kasvavalt
sort=-prop.typesort=-date.dateSordi kahanevalt
sort=a,-bsort=status.string,-date.dateMitme välja järgi sortimine

Ilma sort-ita tagastatakse objektid _id järgi kasvavalt — loomise järjekorras.

Lehitsemine ​

ParameeterNäideKirjeldus
limit=nlimit=50Maksimaalne tagastatavate tulemuste arv (vaikimisi: 100). Ka 0 või mittenumbriline väärtus tähendab 100; ülempiiri pole.
skip=nskip=100Vahele jäetavate tulemuste arv (vaikimisi: 0) — kasuta koos limit-iga lehitsemiseks
bash
# Lehekülg 1
GET /api/{db}/entity?limit=100&skip=0

# Lehekülg 2
GET /api/{db}/entity?limit=100&skip=100

Täistekstotsing ​

bash
GET /api/{db}/entity?q=acme+corp

Otsib kõigi parameetrite üleselt, millel on definitsioonil lubatud search. Päring jagatakse tühikute kohalt sõnadeks ja iga sõna peab vastama; sõna vastab mis tahes sõnaosale tõstutundetult ning arvesse läheb ainult selle esimesed 20 märki.

TIP

Luba search parameetritel, mille järgi kasutajad loomulikult otsivad (nimi, pealkiri, kood). Ilma selleta ei leia q= selle välja väärtusi.

INFO

Autenditud päringud otsivad täieliku privaatse registri üleselt (mis sisaldab domeeni-jagatud ja avalikke objekte). Autentimata päringud otsivad ainult avaliku registri üleselt. Domeeniotsingu registrit päringutes ei kasutata — domeeni-jagatud objektid ilmuvad autenditud otsingutes, kuna nende otsitavad väärtused on privaatses registris.

Väljade valimine ​

Tagasta ainult konkreetsed parameetrid vastuse suuruse vähendamiseks:

bash
GET /api/{db}/entity?props=name,status,_created

_id tagastatakse alati.

Rühmitamine ​

Tagasta üksikute objektide asemel üks rida iga erineva väärtuste kombinatsiooni kohta:

bash
GET /api/{db}/entity?_type.string=invoice&group=status.string&props=status

Iga rida sisaldab oma rühma esimese objekti props väärtusi ja _count-i ehk rühma objektide arvu; ridadel pole _id-d. Rühmitatud väärtused on ridadel ainult siis, kui need on ka props-is loetletud. count on rühmade arv. Rühmitamisel limit-i ja skip-i ei arvestata.

Levinud mustrid ​

bash
# Kõik konkreetset tüüpi objektid
?_type.string=invoice

TIP

_type.string filtreerib objektitüübi name parameetri järgi (nt invoice), mitte selle kuvanimeduse label järgi. Kui su objektitüübi name ja label erinevad, kasuta alati siinkohal name väärtust.

bash
# Ülemobjekti alam-objektid
?_parent.reference=PARENT_ID

# Objektid, mille photo parameetris on fail
?photo.filesize.exists=true

# Tõstutundetu nimeotsing
?name.string.regex=/john/i

# Kuupäevavahemik
?due_date.date.gte=2025-01-01&due_date.date.lte=2025-12-31

# Mitu staatust
?status.string.in=active,pending,review