Päringute näidislingid

Allikas: Excellent || Opendoc
Mine navigeerimisribale Mine otsikasti

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.

POST: Kanne

Postitame kande, kus on custom kuupäev (vaikimisi = currentdate) kaks rida, neist üks objektiga.

POST: https://mars.excellent.ee:4455/api/1/CUVc?set_field.TransDate=2020-06-07&set_row_field.0.AccNumber=1010&set_row_field.0.DebVal=58&set_row_field.1.AccNumber=3100&set_row_field.1.Objects=KONT&set_row_field.1.CredVal=58&