Päringute näidislingid
Objektid
Kõik objektid: https://mars.excellent.ee:4455/api/6/objvc
Üks objekt, ANNIKA: https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika
Objektide vahemik ANNIKA kuni KORISTAJA (vahele jääb KONT): https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika:koristaja
Objektide vahemik ANNIKA kuni KORISTAJA, tagastatavad väljad on Kood, Nimi ja Klass: https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika:koristaja&fields=Code,Comment,OTCode
Vastus:
<data register="ObjVc" sequence="226655" sort="Code" key="Code" range="annika:koristaja" systemversion="8.4.21.1414">
<ObjVc>
<Code>ANNIKA</Code>
<Comment>Annika Ainus</Comment>
<OTCode>ARUAN</OTCode>
</ObjVc>
<ObjVc>
<Code>KONT</Code>
<Comment>Kontor</Comment>
<OTCode/>
</ObjVc>
<ObjVc>
<Code>KORISTAJA</Code>
<Comment>Koristaja objekt</Comment>
<OTCode>ARUAN</OTCode>
</ObjVc>
</data>
Artiklid
kõik artiklid ühest ettevõttest:
https://mars.excellent.ee:4455/api/6/INVc
1 artikkel:
https://mars.excellent.ee:4455/api/6/INVc?sort=Code&range=1002
selle ühe artikli 5 välja:
https://mars.excellent.ee:4455/api/6/INVc?sort=Code&range=1002&fields=Code,Name,Unittext,UPrice1,LastBasePriceChange
Kõik artiklid 5 väljaga:
https://mars.excellent.ee:4455/api/6/INVc?fields=Code,Name,Unittext,UPrice1,LastBasePriceChange
updates_after kasutamine
Kõikide päringute liigub kaasa sequence numbriline väärtus
Sequence väärtust uuendatakse iga päringu ajal. Ehk iga päring saab alati uue sequence väärtuse.
Näide:
Teen päringu https://mars.excellent.ee:4455/api/6/INVc
Vastuse päis:
<data register="INVc" sequence="226655" sort="Code" key="Code" range="annika:koristaja" systemversion="8.4.21.1414">
<INVc>
Järgmise päring saan teha sellisel kujul:
Teen päringu https://mars.excellent.ee:4455/api/6/INVc?updates_after=226655
Selle vastuseks on artiklid, mis on alates viimasest päringust kuni praeguse hetkeni muutunud.
Teadaolev Rest API päringute sequence numbrite käitumise omapära
Kui teha Standard Booksile versiooniuuendus, siis võib olla olukord, kus sequence numbrite järjekord läheb suure sammu tagasi. Ehk, vanas versioonis on viimane sequence "226655", peale versiooniuuendust on see väärtus "10200". Ehk palju väikesem. Tulemuseks on vastus, mida päringut tegev infosüsteem ilmselt ei oota. Ning päring tehakse Standard Booksi ajaloos mitte-eksisteeriva numbriga "226655". Vastuseks võib olla terve päritava registri sisu.
Lahendus: peale versiooniuuendust teha üks päring käsitsi, kasutades curli, soapi, mõnda posterit ning veenduda sequence numbri suurusjärgu korrektsuses. Kui sequence on vale väärtusega, parandada see oma päringut teostavas tarkvaras käsitsi.
PS: Kui päringut tegev infosüsteemi kood/andmebaas suudavad arvesse võtta korduvate dokumentide esinemst, siis võib seda olukorda ka ignoreerida - esimene päring peale versiooniuuendust võib olla lihtsalt suurem, edasised sequence numbrid hakkavad jälle korrektselt ise edasi jooksma.
Kontaktid
Päring
https://mars.excellent.ee:4455/api/1/CUVc?sort=DateCreated&Range=2020-01-01:
tagastab kõik kontaktid, mis loodud peale 1. jaanuarit 2020
https://mars.excellent.ee:4455/api/1/CUVc?sort=DateChanged&Range=2020-01-01:
tagastab kõik kontaktid, mis muudetud peale 1. jaanuarit 2020
https://mars.excellent.ee:4455/api/1/CUVc?sort=DateCreated&Range=2020-01-01:&fields=Code,Name,Addr1,Addr2,RegNr1
tagastab kõik kontaktid, mis loodud peale 1. jaanuarit 2020 ja vastuses on väljad Kood, Nimi, Aadressi 1 rida, Aadressi teine rida ja reg nr.