Avaleht> Kasutajatugi> Liidestamine> API> Kuidas API GET päringuid vormistada?

Sisesta märksõna või vaata all asuvast teemade menüüst

Uuendatud 09. juuli 2024

Kuidas API GET päringuid vormistada?

GET PÄRINGU ehk API URL NÄIDE:
http://username:@hostname:port/api/1/IVVc

See on kõige lihtsam näidis päring kindlast ettevõttest ja kindlast registrist, kus
– “username” on  kasutajanimi Isikute registrist;
– “hostname” on serveri IP aadress;
– “port” on serveri veebiport;
– “api” on kohustuslik päringu osa stringina;
– “1” on ettevõtte kood ettevõtete registrist;
– “IVVc” on registri nimi (antud näites “Müügiarved”).

See päring tõmbab kõik müügiarved ettevõttest 1. Kui soovid sarnaselt saada infot näiteks baasvaluutade kohta, siis pead kasutama päringut:
http://username:@hostname:port/api/1/BaseCurBlock


 

PÄRINGU TEOSTAJA/KASUTAJA ja ÕIGUSED
Päringu teostamiseks vajaliku kasutaja ja õiguste (OAuth) kohta loe SIIT


ANDMETE FORMAAT

Päringute andmeformaadid ja kättesaadud andmete formaadid on samad ning kindlalt fikseeritud:
– komakoha eraldajaks tuleb kasutada “.” (punkt);
– tuhandete eraldajat ei tohi olla;
– kuupäevad on ISO formaadis YYYY-MM-DD (ehk aasta-kuu-päev);
– ? (küsimärk) sisestatakse peale registri defineerimist, kui soovitakse täpsustada filtreid;
– & sisestatakse erinevate filtreeringute vahele.

Rest API andmete pärimise funktsionaalsuse üks osa on sequence numbrite kasutamine. Neid saab kasutada näiteks, eelmisest päringust alates muutunud kaartide pärimiseks, viimasest päringust alates kustutatud kaartide pärimiseks jne. Seda funktsionaalust kasutades peab olema märgitud valik moodulis Üldine > Seadistused > Valikulised võimalused > “Ekspordi järjekorra numbrid (sünkroniseerimine)”.
Kui valik on peal, kaasatakse sequence numbrid tekstikoopia eksporti ja importi ning numbrite järjepidevus ei katke.



PARAMEETRID

Reaalsed parameetri väärtused, mida päringutes kasutatakse (näiteks kasutatud võti/ID ja vahemik, serveri versioon jm.), esitatakse tulemustes andmeväljade atribuutidena(“data tag”). Järgnevalt näited parameetritest.

sort – sorteerimise parameeter sorteerib saadud kaardid määratud andmevälja järgi. Indeksi nimi, mida kasutati, väljastatakse samuti päringu tulemuses. Sorteerida saab ainult kaardi päise väljade järgi. Võimalik on sorteerida ainult ühe välja järgi korraga, ja eeldusel, et selle jaoks on olemas sobiv indeks. Kui sobiv indeks puudub, siis päring tulemust ei väljasta. Välja nime puhul on olulised suured ja väikesed tähed. Näide (päring müügiarvete registrist, sorteerituna kliendikoodi järgi):

http://username:@hostname/api/1/IVVc?sort=CustCode

range – vahemiku parameetri kasutamiseks tuleb kasutada ka sorteerimise parameetrit. Vahemik pärib ainult need kaardid, kus sorteeritava välja väärtus langeb määratud vahemikku. Väärtused, mis võrduvad vahemiku alguse ja lõpuga, kaastakse tulemusse. Vahemiku alguse ja lõpu väärtused eraldatakse “:” (kooloniga). On lubatud ka päringud, kus määratud on ainult vahemiku alguse või ainult lõpu väärtus. Kui päringus kasutatakse ainult ühte kindlat väärtust (ilma koolonita), siis väljastatakse ainult kaardid, mis vastavad sellele konkreetsele väärtusele.

Näide 1 (väljastab müügiarved, kus kliendikoodid on vahemikus 10101 kuni 10104):
http://username:@hostname/api/1/IVVc?sort=CustCode&range=10101:10104

Näide 2 (väljastab müügiarved, kus kliendikoodid on 10104 kuni viimase kliendini):
http://username:@hostname/api/1/IVVc?sort=CustCode&range=10104:

Näide 3 (väljastab müügiarved, kus on ainult klient koodiga 10104):
http://username:@hostname/api/1/IVVc?sort=CustCode&range=10104

Näide 4 (väljastab müügiarved, kus arve kuupäev on vahemikus 01.01.2019 kuni 31.12.2019):
http://username:@hostname/api/1/IVVc?sort= InvDate&range=2019-01-01:2019-12-31

Vahemiku parameeter on kiire, sest kasutab indeksit.

fields – Väljade parameeter määrab, mis väljad tulemusse kaasatakse. Väljad eraldatakse komadega. Kui parameetrit ei ole määratud, siis võetakse tulemusse info kõikidest väljadest. Kui kaardi/dokumendi päises ja ridadel on sama nimega väli, kaasatakse tulemusse mõlemate info. Kui ridadelt ei pärita ühtegi välja, siis mingisugust ridade infot (ridade numbrid vms) ei väljastata tulemustes.

Näide (väljastab müügiarved, ainult arve numbriga):
http://username:@hostname/api/1/IVVc? fields=SerNr

filter – Andmeid saab filtreerida selle parameetri abil. Filter on oluliselt aeglasem kui vahemik, kuna ei kasuta indekseid ja otsib läbi kõik kaardid. Kui kasutad vahemiku parameetrit, siis filter käib läbi ainult need kaardid, mis jäävad vahemikku. Sellepärast on soovitav kasutada võimalikult täpset vahemiku määrangut ja teisi filtreid.

Näide:
http://username:@hostname/api/1/IVVc?filter.CustCode=10104

• Ühe välja kohta tohib kasutada ainult ühte filtrit
• Erinevate väljade kasutamisel, saab kasutada mitut filtrit
• Filtrid saavad kasutada sarnaselt väärtuste vahemike, k.a. ainult vahemiku alguse või ainult lõpuga määratud.
• Filtrid toimivad ainult kaartide/dokumentide päise andmeväljadega
• Nimekirja väljades filtreerimine (näiteks Objektid) toimub kogu stringi ulatuses. Näiteks:  filter.Objects=AB ei kaasa tulemust “AB,D10101

Näide (väljastab müügiarved, mille lõppsumma on vahemikus 100 kuni 1000 ja kus kliendikoodid on vahemikus 10100 kuni 10200):
http://username:@hostname/api/1/IVVc?filter.CustCode=10100:10200&Sum4=100:1000

offset and limit – Kui päringu tulemus on suurem, kui api kasutaja suudab töödelda ühe päringuga, siis saab tulemusi jagada väiksemateks osadeks.  “offset” jätab vahele määratud arvu kaarte/dokumente päringu tulemuses. “limit” piirab kaartide koguarvu päringu tulemuses.

Näide (väljastab 15 esimest müügiarvet 3 erineva päringuga):
http://username:@hostname/api/1/IVVc?offset=0&limit=5
http://username:@hostname/api/1/IVVc?offset=5&limit=5
http://username:@hostname/api/1/IVVc?offset=10&limit=5

“offset” ja “limit” saab kasutada koos kõikide teiste parameetritega.

updates_after – väljastab kõik kaardid/dokumendid, mida on uuendatud peale määratud järjekorra numbrit. Järjekorra number väljastatakse igas päringus (sequence=”x”) ning seda saab kasutada hiljem koos parameetriga “updates_after”

Näide:
http://username:@hostname/api/1/IVVc?updates_after=5000

deletes_after – väljastab kõik kaardid/dokumendid, mis on kustutatud peale määratud järjekorra numbrit. Järjekorra number väljastatakse igas päringus ning seda saab kasutada hiljem koos parametriga “deletes_after”

Näide:
http://username:@hostname/api/1/IVVc?deletes_after=5000

NB! Juhul, kui kasutate deletes_after ja updates_after funktsioone, siis tuleb lisada Moodul Üldine > Seadistused > Valikulised võimalused > “Ekspordi järjekorranumbrid (sünkroniseerimine)” valik. Vastasel korral lähtestuvad iga andmebaasihoolduse / versiooniuuenduse järel sequence väärtused.


Näide XML formaadis GET päringu tulemusest (Kontakti andmed): PDF

POST päringute juhised leiad SIIT

Registrite ja tabelite kirjeldused leiad SIIT

REST API funktsionaalsuse aktiveerimise ja seadistamise juhendit saad lugeda SIIT

API teemalist veebiseminare vaata siit: webinar 1, webinar 2


REST API vers.2 DESCRIPTION IN ENGLISH


(SOAP, api url)

Kas see juhend aitas sul lahendust leida?

Täname tagasiside eest! Palun lisage oma e-posti aadress, et saaksime Sulle saata alternatiivse lahenduse.
Aitäh tagasiside eest!
Kommentaari saatmine ebaõnnestus

Standard Books katab kõik sinu ettevõtte vajadused

13. mai 2024

Standard Booksi äritarkvaras on ligi… Loe edasi

Hea äritarkvara tõstab ettevõtte igapäevatöö kvaliteeti!

14. november 2024

Tänapäeva ettevõtluskeskkonnas on… Loe edasi

Excellenti tiim otsib äritarkvara konsultanti!

11. november 2024

Liitu meiega konsultant! Otsime… Loe edasi

Excellent sõlmis sponsorlepingu Eesti Käsipalliliiduga!

11. november 2024

Pühapäevase meeste… Loe edasi