Info |
---|
TL;DR
|
Seadistamine Standard Booksis
Alates versioonist 8.0 saab HansaWorldi toodetes kasutada Web API päringuid andmete pärimiseks ja kirjutamiseks.
Eeltingimused
· Kliendil Kliendil peab olemas olema moodul:
Standard ERP puhul - "Veebipood"
...
On rangelt soovitatav kasutada MyStandardis valideeritud emaili sisse logimiseks. Uue isiku ja sealhulgas valideerimise juhend on siin: https://www.excellent.ee/kasutajatugi/kuidas-lisada-uut-kasutajat/
Kasutajagrupid Kasutajagrupil REST API
...
Valikulised võimalused
...
Märgitud peavad olema järgnevad valikud:·
Web Rest API
...
Allow Basic HTTP Authentication
Valikulised Võimalused
...
Kasutamine
...
Andmed päritakse URLiga ehk inimkeeli - klient ütleb Hansa serverile aadressi, mille põhjal Hansa server väljastab vastava info.
Element | Kirjeldus | Näide |
Protokoll | kasutatakse kas HTTP või HTTPS protokolli. HTTPS on turvaline, HTTP on peaagu avalik | https |
IP | Serveri IP aadress | |
Port | Serveri veebi port | 4455 |
Ettevõte | Ettevõtte kood andmebaasis | 1 |
Register | Registri nimi, mida pärime | ivvc |
Filter | Väli, mille alusel päringut filtreerida | filter.Custcode= |
Väljad | Väljad, mis tagastatakse päringuga. (Ilma antud elemendita tagastatakse kõik |
väljad) | fields=SerNr,OKFlag, | |||
header | HTTP päringu headeris määratakse, mis formaadis andmeid saadetakse, mis formaadis palutakse vastust ning ka Basic Auth informatsioon. “Accept” väärtust on vaja täpsustada vaid siis, kui soovitakse JSONit. Default on XML. |
|
Eraldajad:
? - Sisestatakse peale Registri defineerimist, et kirjeldada filtreid.
& - Sisestatakse erineva tüübiga filtreeringute vahele.
Näidis URL:
Code Block | ||
---|---|---|
| ||
https://mars.excellent.ee:4455/api/1/ivvc?filter.CustCode=105&fields=SerNr,OKFlag,Addr0,ArtCode,CustCode,InvDate,TransDate,Objects |
Vastus:
Code Block | ||
---|---|---|
| ||
<data register="IVVc" sequence="1051619" systemversion="8.5.29.105"> <IVVc> <SerNr>4</SerNr> <InvDate>2014-03-16</InvDate> <CustCode>105</CustCode> <Addr0>Eraisik</Addr0> <OKFlag>1</OKFlag> <Objects/> <TransDate>2014-03-16</TransDate> <rows> <row rownumber="0"> <ArtCode>005</ArtCode> <Objects/> </row> <row rownumber="1"> <ArtCode>012</ArtCode> <Objects/> </row> <row rownumber="2"> <ArtCode>040</ArtCode> <Objects/> </row> </rows> </IVVc> <IVVc> <SerNr>6</SerNr> <InvDate>2014-03-25</InvDate> <CustCode>105</CustCode> <Addr0>Eraisik</Addr0> <OKFlag>1</OKFlag> <Objects/> <TransDate>2014-03-25</TransDate> <rows> <row rownumber="0"> <ArtCode>011</ArtCode> <Objects/> </row> </rows> </IVVc> </data> |
See väljastab arved kliendilt 105. Arve pole täielik, vaid on ainult väljad number, Kinnita linnuke, aadressi esimene rida, artiklikood, kliendikood, arve kuupäev, kande kuupäev, objektid.
Päringu vormistamine
http://username:password@hostname:port/api/1/IVVc
See on kõige lihtsam näidis päring kindlast ettevõttest ja kindlast registrist, kus
...
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:password@hostname:port/api/1/BaseCurBlock
Auth info ehk kasutaja/salasõna päringuga saatmine
...
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@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
Vahemiku parameeter on kiire, sest kasutab indeksit.
...
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. NB: Filter väli peab kattuma täielikult otsitava väljaga. Ei saa otsida sisu osa
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ä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
listfilter - töötab sarnaselt filter parameetriga kuid suudab eristada ühte osa loetelust ehk terve välja sisu ei pea kattuma 100%.
...
Vastused saan kõikide kaartide kohta, kus vähemalt üheks objektiks on KONTOR:
Code Block | ||
---|---|---|
| ||
<CUVc register='CUVc' sequence='94801' url='/api/1/CUVc/53'> <Code>53</Code> <Name> Creative OÜ</Name> <Objects>KONTOR</Objects> </CUVc> <CUVc register='CUVc' sequence='94808' url='/api/1/CUVc/55'> <Code>55</Code> <Name>Kontaktihoidja AS</Name> <Objects>12,KONTOR,TARTU</Objects> |
...
Näide (väljastab 15 esimest müügiarvet 3 erineva päringuga):
http://username:
@hostname@hostname/api/1/IVVc?offset=0&limit=5
http://username:
@hostname@hostname/api/1/IVVc?offset=5&limit=5
http://username:
@hostname@hostname/api/1/IVVc?offset=10&limit=5
"offset" ja "limit" saab kasutada koos kõikide teiste parameetritega.
...
NB: et kasutada updates_after ja deletes_after funktsioone peab olema peal seadistus: Moodul Tehnika > Seadistused > Sünkroniseerimise võimalused > Aktiveeri.
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: Kui kasutate deletes_after või updates_after parameetreid, siis võiks enne andmebaasi eksporti-importi (hooldus, ver uuendus) peale panna Üldine > Seadistused > Valikulised võimalused > linnuke "Ekspordi järjekorranumbrid".Siis säilivad baasis sequence cväärtused. Kui seda peale ei panda, siis hakkavad sequence väärtused uuesti otsast peale jooksma. Mis ei ole suur mure ilmselt, aga on võimalik vältida.
...
Sequence number antakse igale Standard Booksis loodud või muudetud kaardile / andmeblokile (seadistused). Sisuliselt on see andmebaasis tehtud muudatuste järjekorranumber. Ja iga kaardi või seadistuse loomine ja muutmine on andmebaasimuudatus.
API päringu vastuses antakse kaasa alati viimane andmebaasimuudatusele omistatud sequence number.
Ajas sequence niisama ei muutu - kui teha päringuid nii, et keegi Standard Booksis ei toimeta, ei muutu ka sequence väärtus API päringu vastuse päises.
Filter.xxx ja Sort ja Range päringud ei toimi koos updates_afteriga - kui neid kasutada koos, kehtib vaid updates_after. Küll aga saab updates_afteriga koos kasutda fields=xxx parametrit.
...
Code Block |
---|
Content-Type: application/x-www-form-urlencoded; charset=utf-8
|
POST
Registrisse uue kirje lisamiseks tuleb andmed saata Rest API POST meetodiga, url-formaadis. Iga välja juures tuleb kasutada set käsku.
...
Näide 1.1, kaherealine arve, kasutame --data-raw:
Code Block | ||
---|---|---|
| ||
curl --location --request POST 'https://mars.excellent.ee:4455/api/1/IVVc' \ --header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \ --header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \ --header 'Cookie: country=global' \ --data-raw 'set_field.CustCode=111& set_field.Comment=Üürilepingust tulenev tasu& set_field.InvDate=2022-04-22& set_row_field.0.ArtCode=001& set_row_field.0.Quant=1& set_row_field.1.ArtCode=002& set_row_field.1.Quant=21& ' |
Näide 1,2, sama kaherealine arve, sisu otse URLis:
Code Block | ||
---|---|---|
| ||
curl --location --request POST 'https://mars.excellent.ee:4455/api/1/IVVc?set_field.CustCode=111&set_field.Comment=%C3%9C%C3%BCrilepingust%20tulenev%20tasu&set_field.InvDate=2022-04-22&set_row_field.0.ArtCode=001&set_row_field.0.Quant=1&set_row_field.1.ArtCode=002&set_row_field.1.Quant=21&' \ --header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \ --header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \ --header 'Cookie: country=global' |
Sellele POSTile saadetakse vastus:
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <data register="IVVc" sequence="4663498" url="/api/1/IVVc/1202053623" systemversion="8.5.38.86"> <IVVc> <SerNr>1202053623</SerNr> <InvDate>2022-04-22</InvDate> <CustCode>111</CustCode> <PayDate>2022-04-29</PayDate> <Addr0>Ehitajate tee 91/2-24</Addr0> <Addr1>Mustamäe linnaosa</Addr1> <Addr2>Tallinn</Addr2> <Addr3>Harju maakond</Addr3> <Addr4>12915</Addr4> <PayDeal>7</PayDeal> <pdays>7</pdays> <CustCat>EES</CustCat> <InvType>1</InvType> <ARAcc>1010</ARAcc> <TransDate>2022-04-22</TransDate> <CurncyCode>EUR</CurncyCode> <Sign>AA</Sign> <Sum1>495.41</Sum1> <Sum3>99.08</Sum3> <Sum4>594.49</Sum4> <VATNr>EE112255887</VATNr> <TAX1Sum>118.90</TAX1Sum> <BaseSum4>594.49</BaseSum4> <TotGP>18.62</TotGP> <RetValue>-594.49</RetValue> <TotQty>22</TotQty> <SumIncCom>594.49</SumIncCom> <rows> <row rownumber="0"> <stp>1</stp> <ArtCode>001</ArtCode> <Quant>1</Quant> <Price>15.59</Price> <Sum>14.03</Sum> <BasePrice>14.94</BasePrice> <Spec>Jauram 1,2 meetrit</Spec> <VATCode>1</VATCode> <UnitCode>TK</UnitCode> <UnitComment>tükk</UnitComment> </row> <row rownumber="1"> <stp>1</stp> <ArtCode>002</ArtCode> <Quant>21</Quant> <Price>25.47</Price> <Sum>481.38</Sum> <BasePrice>21.99</BasePrice> <Spec>Testseadmete ≤1 kV (seadmed kuni 3 mõõte-</Spec> <VATCode>1</VATCode> <UnitCode>TK</UnitCode> <UnitComment>tükk</UnitComment> </row> </rows> </IVVc> </data> |
...
Code Block |
---|
curl --location --request PATCH 'https://mars.excellent.ee:4455/api/1/IVVc/1202053623?set_field.CustCode=109' \
--header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \
--header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \
--header 'Cookie: country=global'
|
Vastus on samasugune, nagu POST päringul. sisuks uuenenud andmed:
...
Code Block |
---|
<data register="PIVc" sequence="385206" url="/api/1/PIVc/002/PL/001/80702" systemversion="8.5.33.1255">
|
Lihtsad POSTi näited
POST meetodiga saab tekitada uusi dokumente
...
Koostame kliendi
Code Block | ||
---|---|---|
| ||
curl --location --request PATCH 'https://mars.excellent.ee:4455/api/1/CUVc' \
--header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \
--header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \
--header 'Cookie: HSESSION=F781FB1F-605F90E0-EC009210-F7841492-3AE28E44; country=global' \
--data-raw 'set_field.Name=Karjaküla OÜ&
set_field.InvAddr0=Ehitajate tee 91/2-24&
set_field.InvAddr1=Mustamäe linnaosa&
set_field.InvAddr2=Tallinn&
set_field.InvAddr3=Harju maakond&
set_field.InvAddr4=12915&
set_field.Phone=55887744&
set_field.CountryCode=EE&
set_field.ExportFlag=0&
set_field.CustCat=EES&
set_field.PayDeal=7&
set_field.VATNr=EE792919432&
set_field.LangCode=EST
set_field.VATCode=20&
set_field.ExportFlag=0&
set_field.Person=Mariliis Männik&'
|
Saame vastuse:
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <data register="CUVc" sequence="4663625" url="/api/1/CUVc/BRANCHIDIV1" systemversion="8.5.38.86"> <CUVc> <UUID>3BA2B0DC-CEDE7E89-0DE655E2-23BD9051-F11E3237</UUID> <SyncFlags>1</SyncFlags> <Code>BRANCHIDIV1</Code> <Name>Karjaküla OÜ</Name> <Person>Mariliis Männik</Person> <InvAddr0>Ehitajate tee 91/2-24</InvAddr0> <InvAddr1>Mustamäe linnaosa</InvAddr1> <InvAddr2>Tallinn</InvAddr2> <InvAddr3>Harju maakond</InvAddr3> <InvAddr4>12915</InvAddr4> <Phone>55887744</Phone> <CustCat>EES</CustCat> <PayDeal>7</PayDeal> <InterestFlag>1</InterestFlag> <VATNr>EE792919431</VATNr> <CountryCode>EE</CountryCode> <RemndrFlag>1</RemndrFlag> <LangCode>EST</LangCode> <SalesMan>AA</SalesMan> <CreditLimit>0.00</CreditLimit> <VATCode>20</VATCode> <Classification>23619</Classification> <DateChanged>2021-07-27</DateChanged> <Password>0</Password> <DateCreated>2021-07-27</DateCreated> <CUType>1</CUType> <CreditLimitDays>0</CreditLimitDays> <InvCountryName>Eesti</InvCountryName> <TaxCondition>2</TaxCondition> <Sign>AA</Sign> <eInvPostage>2</eInvPostage> </CUVc> </data> |
...
Koostame artikli
Code Block | ||
---|---|---|
| ||
curl --location --request POST 'https://mars.excellent.ee:4455/api/1/INVc' \ --header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \ --header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \ --header 'Cookie: HSESSION=457D70DF-51620277-2DF144FF-7148A3FA-E412709F; country=global' \ --data-raw 'set_field.Name=Trenažöör põlvedele& set_field.MinLevel=100& set_field.Objects=NO_PREEMIA& set_field.UPrice1=1700.00& set_field.Group=KOHV& set_field.BarCode=1022154455&' |
Vastus
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <data register="INVc" sequence="4663637" url="/api/1/INVc/MYYK8" systemversion="8.5.38.86"> <INVc> <UUID>E241260B-327E021F-87C1C234-B90E2DE9-451B042F</UUID> <SyncFlags>1</SyncFlags> <Code>MYYK8</Code> <Name>Trenažöör põlvedele</Name> <MinLevel>100</MinLevel> <Objects>NO_PREEMIA</Objects> <UPrice1>1700.00</UPrice1> <Group>KOHV</Group> <BarCode>1022154455</BarCode> <UpdateCost>1</UpdateCost> <LastPriceChange>2021-07-27</LastPriceChange> <WarrantyLength>0</WarrantyLength> <LastBasePriceChange>2021-07-27</LastBasePriceChange> <colnr>Hall</colnr> <rows></rows> </INVc> </data> |
...
Koostame arve, kasutame loodud artiklit ja klienti
Code Block | ||
---|---|---|
| ||
curl --location --request POST 'https://mars.excellent.ee:4455/api/1/IVVc' \ --header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \ --header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \ --header 'Cookie: HSESSION=457D70DF-51620277-2DF144FF-7148A3FA-E412709F; country=global' \ --data-raw 'set_field.InvDate=2019-02-10& set_field.CustCode=BRANCHIDIV1& set_field.NotUpdStockFlag=1& set_row_field.0.ArtCode=MYYK8& set_row_field.0.Quant=1&' |
Vastuseks saime üherealise arve:
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <data register="IVVc" sequence="4663662" url="/api/1/IVVc/1202053624" systemversion="8.5.38.86"> <IVVc> <SerNr>1202053624</SerNr> <InvDate>2019-02-10</InvDate> <CustCode>BRANCHIDIV1</CustCode> <Math></Math> <PayDate>2019-02-17</PayDate> <Addr0>Karjaküla OÜ</Addr0> <Addr1>Ehitajate tee 91/2-24</Addr1> <Addr2>Tallinn</Addr2> <Addr3>Harju maakond</Addr3> <Addr4>12915</Addr4> <ClientContact>Mariliis Männik</ClientContact> <PayDeal>7</PayDeal> <Prntdf>1</Prntdf> <pdays>7</pdays> <pdvrebt>0</pdvrebt> <pdrdays>0</pdrdays> <CustCat>EES</CustCat> <InvType>1</InvType> <PriceList>KN</PriceList> <Objects>ABIVAHEND</Objects> <ARAcc>1010</ARAcc> <SalesMan>AA</SalesMan> <TransDate>2019-02-10</TransDate> <CurncyCode>EUR</CurncyCode> <LangCode>EST</LangCode> <Sign>AA</Sign> <FrGP>0.00</FrGP> <Sum0>0.00</Sum0> <Sum1>1530.00</Sum1> <Sum3>306.00</Sum3> <Sum4>1836.00</Sum4> <VATNr>EE792919431</VATNr> <CustVATCode>20</CustVATCode> <RebCode>11</RebCode> <Phone>55887744</Phone> <IntCode>25.55</IntCode> <ARonTR>1</ARonTR> <BaseSum4>1836.00</BaseSum4> <TotGP>1530.00</TotGP> <RetValue>-1836.00</RetValue> <TotQty>1</TotQty> <SumIncCom>1836.00</SumIncCom> <RetnValue>-1836.00</RetnValue> <TransTime>12:33:29</TransTime> <ServiceDelDate>2019-02-10</ServiceDelDate> <NoTAXonVAT>0</NoTAXonVAT> <TotalwoTAX>1</TotalwoTAX> <RegDate>2021-07-27</RegDate> <RegTime>12:33:29</RegTime> <InvCountry>EE</InvCountry> <InvCountryName>Eesti</InvCountryName> <IPBookVAT>1</IPBookVAT> <GPProc>100.0</GPProc> <rows> <row rownumber="0"> <stp>1</stp> <ArtCode>MYYK8</ArtCode> <Quant>1</Quant> <Price>1700.00</Price> <Sum>1530.00</Sum> <vRebate>10.0</vRebate> <SalesAcc>3100</SalesAcc> <Objects>NO_PREEMIA</Objects> <rowGP>1530.00</rowGP> <Spec>Trenažöör põlvedele</Spec> <VATCode>20</VATCode> <TaxMatrix></TaxMatrix> </row> </rows> </IVVc> </data> |
...
Muudame koostatud arvel kogust
Code Block | ||
---|---|---|
| ||
curl --location --request PATCH 'https://mars.excellent.ee:4455/api/1/IVVc/1202053624' \ --header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \ --header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \ --header 'Cookie: HSESSION=457D70DF-51620277-2DF144FF-7148A3FA-E412709F; country=global' \ --data-raw 'set_row_field.0.Quant=4&' |
Vastuseks on samasugune arve XML, nagu arve postitamisel, vaid kogus on muutunud 3-ks.
...
Kinnitame arve
Code Block | ||
---|---|---|
| ||
curl --location --request PATCH 'https://mars.excellent.ee:4455/api/1/IVVc/1202053624' \ --header 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \ --header 'Authorization: Basic aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ==' \ --header 'Cookie: HSESSION=457D70DF-51620277-2DF144FF-7148A3FA-E412709F; country=global' \ --data-raw 'set_field.OKFlag=1&' |
tekkis viga, puudu on konto käibemaksukoodi pealt. Saime veateate:
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <message description="TAX Account not found, check VAT Codes"></message> <error code="20078" description="TAX Account not found, check VAT Codes" row="-1" field="-1"></error> |
...
Näide ühe arve manuste kohta:
https://mars.excellent.ee:445/api/1/IVVc?get_links=1&filter.SerNr=230008
Ja tulemuses on iga registrikaardi lõpus <links> osa:
Code Block | ||
---|---|---|
| ||
..... </row> </rows> <links> <link comment='Arve 230008.pdf 406 KB'> <url>/api/1/Attach2Vc/126</url> </link> <link comment='Arve 230008'> <url>/api/1/MailVc/86</url> </link> </links> </IVVc> </data> |
...
Manuste pärimiseks teme päringu Attach2Vc registri pihta. Eelpool toodud näidet kasutades saame PDFi pärida nii:
https://mars.excellent.ee:445/api/1/Attach2Vc?filter.SerNr=126&get_attachdata=true
Vastuses on metadata ja manuse sisu base64 kodeeringus:
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <data register='Attach2Vc' sequence='94784' systemversion='8.5.55.3480'> <Attach2Vc register='Attach2Vc' sequence='94778' url='/api/1/Attach2Vc/126'> <UUID>9B158C54-CE868FEC-17890241-4A8BB8B4-07A73BC0</UUID> <ServerSequence>-1</ServerSequence> <SyncFlags></SyncFlags> <SerNr>126</SerNr> <FileName>Arve 230008.pdf</FileName> <PackTyp>0</PackTyp> <Uploading>0</Uploading> <FileSize>134</FileSize> <Type>0</Type> <Storage>SerNr</Storage> <ContentId></ContentId> <attachment>JVBERi0xLjcKJbe+raoKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZOSAwIFIgXQovTWV0YWRhdGEgNDAgMCBSCi9NYXJrSWBhZ2VzCi9LaWRzIFsgNCAwIFIgXQovQ291bnQgMQo==</attachment> </Attach2Vc> </data> |
...