GET päring (registrid): erinevus redaktsioonide vahel

Allikas: Excellent || Opendoc
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
 
(ei näidata sama kasutaja 2 vahepealset redaktsiooni)
1. rida: 1. rida:
[[Hausing|Hausing - Pealeht]]
[[Hausing|Hausing - Pealeht]]


== GET Registers (standard) ==
== Päring (standard) ==
Requests specify the company and resource to read, in the most basic format:
See on kõige lihtsam näidis päring kindlast ettevõttest ja kindlast registrist:
  <nowiki>http://hostname.domain.top/api/1/IVVc</nowiki>
  <nowiki>http://hostname.domain.top/api/1/IVVc</nowiki>


where:
kus:
* "api" is a mandatory hardcoded string
* "username" on kasutajanimi Isikute registrist;
* "1" is the company code from the companies setting (1st column)
* "hostname" on serveri IP aadress;
* "IVVc" is the name of the register
* "port" on serveri veebiport;
This would fetch all invoices in company 1.
* "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.


To retrieve information about base currencies, you similarly use:
Kui soovid sarnaselt saada infot näiteks baasvaluutade kohta, siis pead kasutama päringut:
  <nowiki>http://hostname/api/1/BaseCurBlock</nowiki>
  <nowiki>http://hostname/api/1/BaseCurBlock</nowiki>


=== Data Format ===
=== Andmete formaat ===
The data format for request and returned data is the same and hardcoded.
Päringute andmeformaadid ja kättesaadud andmete formaadid on samad ning kindlalt fikseeritud:
* The decimal point is "." (period)
* komakoha eraldajaks tuleb kasutada "." (punkt);
* There is no thousand separator
* tuhandete eraldajat ei tohi olla;
* Dates are in ISO format YYYY-MM-DD
* 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.


=== Parameters ===
=== Parameetrid ===
The actual parameter values used for results such as key and range used, version of the server etc. are returned as attributes of the data tag.
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 ====
==== sort ====
The sort parameter will sort the retrieved records on the specified field. The name of the index that was used will be returned in the result. Only one field can be sorted on, and only if there is a suitable index, if there is no suitable index the request will fail. The field name is case sensitive.
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):


''Example'':
''Näide'':
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode</nowiki>
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode</nowiki>


==== range ====
==== range ====
Requires the use of the sort parameter.
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.


Retrieve only records where the sorted-on field is inside the specified range. The range is inclusive (values matching the start and end values are inside the range). The first and last value of the range are separated with the ":" (colon character). Open ranges where only the 1st or last value is specified are allowed, and will return all records before or after the specified value. If only a singular value is specified (no colon) only records matching that value will be retrieved.
''Näide 1 (väljastab müügiarved, kus kliendikoodid on vahemikus 10101 kuni 10104)'':
 
''Examples'':
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10101:10104</nowiki>
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10101:10104</nowiki>


Will return invoices with customers from 10101 to 10104
''Näide 2 (väljastab müügiarved, kus kliendikoodid on 10104 kuni viimase kliendini):''
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10104</nowiki>: 
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10104</nowiki>: 


Will return invoices with customers from 10104 until the last customer
''Näide 3 (väljastab müügiarved, kus on ainult klient koodiga 10104):''
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10104</nowiki>
  <nowiki>http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10104</nowiki>


Will return invoices only for customer 10104
Vahemiku parameeter on kiire, sest kasutab indeksit.
 
the range parameter is fast to use because it uses an index.


==== fields ====
==== fields ====
The fields parameter specifies which fields are to be retrieved. The fields are specified comma separated. If the parameter is not present all fields are retrieved. If a field in the matrix and a field in the header has the same name, both will be retrieved. If no field in the matrix are retrieved then the matrix itself (number of rows etc.) will not be present in the result.
The fields parameter specifies which fields are to be retrieved. The fields are specified comma separated. If the parameter is not present all fields are retrieved. If a field in the matrix and a field in the header has the same name, both will be retrieved. If no field in the matrix are retrieved then the matrix itself (number of rows etc.) will not be present in the result.


Example:
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'':
  <nowiki>http://hostname.domain.top/api/1/IVVc?fields=SerNr,OKFlag,Addr0,ArtCode,CustCode,InvDate,TransDate,Objects</nowiki>
  <nowiki>http://hostname.domain.top/api/1/IVVc?fields=SerNr,OKFlag,Addr0,ArtCode,CustCode,InvDate,TransDate,Objects</nowiki>


==== filter ====
==== filter ====
The data can be filtered with the filter parameter. it is specified like this:
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:''<syntaxhighlight>
http://hostname.domain.top/api/1/IVVc?filter.CustCode=10104
</syntaxhighlight>
* Ühe välja kohta tohib kasutada ainult ühte filtrit


<nowiki>http://hostname.domain.top/api/1/IVVc?filter.CustCode=10104</nowiki>
* Erinevate väljade kasutamisel, saab kasutada mitut filtrit


The filter is significantly slower than range, as it will not use an index and scan all records. If you use a range the filter will only scan the records in the range, so try to use the most selective condition possible in the range and all other conditions in filters.
* Filtrid saavad kasutada sarnaselt väärtuste vahemike, k.a. ainult vahemiku alguse või ainult lõpuga määratud.
* There can only be one filter per field
 
* There can be multiple filters on different fields
* Filtrid toimivad ainult kaartide/dokumentide päise andmeväljadega
* Filters can handle ranges of values, with the same syntax as range, including open ranges
 
* Filters work only on header fields
* Nimekirja väljades filtreerimine (näiteks Objektid) toimub kogu stringi ulatuses. Näiteks: ''filter.Objects=AB'' ei kaasa tulemust ''"AB,D10101"''
* Filtering on list fields such as Objects is done by the whole string. a filter.Objects=AB will not match "AB,D10101"
''Näide (väljastab müügiarved, mille lõppsumma on vahemikus 100 kuni 1000 ja kus kliendikoodid on vahemikus 10100 kuni 10200):''
''Example'':
  <nowiki>http://hostname.domain.top/api/1/IVVc?filter.CustCode=10100:10200&Sum4=100:1000</nowiki>
  <nowiki>http://hostname.domain.top/api/1/IVVc?filter.CustCode=10100:10200&Sum4=100:1000</nowiki>
Will retrieve invoices with a total sum of 100 to 1000 for customers in the range 10100 to 10200.


==== offset and limit ====
==== offset and limit ====
If the result is larger than the api user can handle in one request, the result can be retrieved in smaller pieces.
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.


The offset will skip the specified number of records before producing output and the limit will restrict the number of records retrieved.
''Näide (väljastab 15 esimest müügiarvet 3 erineva päringuga):''
 
''Example'':
  <nowiki>http://hostname/api/1/IVVc?offset=0&limit=5</nowiki>
  <nowiki>http://hostname/api/1/IVVc?offset=0&limit=5</nowiki>
   
   
81. rida: 84. rida:
  <nowiki>http://hostname/api/1/IVVc?offset=10&limit=5</nowiki>
  <nowiki>http://hostname/api/1/IVVc?offset=10&limit=5</nowiki>


will retrieve the 15 first invoices in 3 separate requests.
"offset" ja "limit" saab kasutada koos kõikide teiste parameetritega.
 
offset and limit works together will all other parameters


==== updates_after ====
==== updates_after ====
returns all records that were updated after a given sequence number.
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"


the sequence number is returned in each request and can be saved for later use with updates_after
''Näide'':
 
''Example'':
  <nowiki>http://hostname/api/1/IVVc?updates_after=5000</nowiki>
  <nowiki>http://hostname/api/1/IVVc?updates_after=5000</nowiki>


==== deletes_after ====
==== deletes_after ====
returns all record that were deleted after a given sequence number.
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"
 
the sequence number is returned in each request and can be saved for later use with deletes_after


''Example'':
''Näide'':
  <nowiki>http://hostname/api/1/IVVc?deletes_after=5000</nowiki>
  <nowiki>http://hostname/api/1/IVVc?deletes_after=5000</nowiki>

Viimane redaktsioon: 9. august 2018, kell 12:08

Hausing - Pealeht

Päring (standard)

See on kõige lihtsam näidis päring kindlast ettevõttest ja kindlast registrist:

http://hostname.domain.top/api/1/IVVc

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://hostname/api/1/BaseCurBlock

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.

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):

Näide:

http://hostname.domain.top/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://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10101:10104

Näide 2 (väljastab müügiarved, kus kliendikoodid on 10104 kuni viimase kliendini):

http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10104: 

Näide 3 (väljastab müügiarved, kus on ainult klient koodiga 10104):

http://hostname.domain.top/api/1/IVVc?sort=CustCode&range=10104

Vahemiku parameeter on kiire, sest kasutab indeksit.

fields

The fields parameter specifies which fields are to be retrieved. The fields are specified comma separated. If the parameter is not present all fields are retrieved. If a field in the matrix and a field in the header has the same name, both will be retrieved. If no field in the matrix are retrieved then the matrix itself (number of rows etc.) will not be present in the result.

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:

http://hostname.domain.top/api/1/IVVc?fields=SerNr,OKFlag,Addr0,ArtCode,CustCode,InvDate,TransDate,Objects

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://hostname.domain.top/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://hostname.domain.top/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://hostname/api/1/IVVc?offset=0&limit=5
 
http://hostname/api/1/IVVc?offset=5&limit=5
 
http://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://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://hostname/api/1/IVVc?deletes_after=5000