Uuendatud 24. märts 2026
Kuidas vältida API-ga liiga sagedast autentimist ehk sessioonide kasutamine?
Excellent Booksi Rest API liides sisaldab võimalust kasutada web sessioone. Sessioonide kasutamine ja igal API päringul “Basic Auth” info mittesaatmine vähendab oluliselt koormust sinu Excellent Booksi serverile.
Parima jõudluse tagamiseks soovitame kasutada küpsisepõhiseid (cookies) sessioone pärast esmast autentimist. Kui saata “Basic Auth” andmed kaasa igal päringul, suureneb serveri koormus märgatavalt.
Excellent Booksis saab määrata, kui kaua web sessioon kehtib. Allpool pildil näiteks 24 tundi (1440 minutit). Selliselt peab tegema vaid ühe päringu “Basic Auth” infoga antud aja jooksul. Ülejäänud päringud saab 24 tunni jooksul teha ilma autentimise informatsioonita, saates API päringu “headeris” kaasa vaid nn. “cookie” info. Koormus Booksi serverile väheneb märkimisväärselt ning Booksi andmebaasi töö on oluliselt stabiilsem.
SEADISTUSED
- Veendu, et moodulis Üldine > Seadistused > “Valikulised võimalused” teisel vahelehel EI OLE märgitud “Ära luba Web API sessioone“.
- Moodul Tehnika > Registrid > “Programmiseadistus” > “Veeb” vahelehel peab olema “Max sessioonid” suurem number, kui 0 (null), näiteks 25.
Samas seadistuses “Max sessioonid” sama real “Timeout (minutid)” lahtrisse sisesta väärtuseks näiteks 1440 (ehk 24 tundi)
KASUTAMINE
-
Tee üks esmane päring Basic Auth kasutajatunnuse ja parooliga.
-
Server tagastab vastuses HSESSION küpsise.
-
Kasuta seda küpsist kõigis järgnevates päringutes ning Basic Auth infot ei ole enam vaja kaasa saata.
-
Sessioon kehtib määratud aja jooksul, näiteks 24 tundi.
NÄIDE:
Kell 06:00 tehakse päring, kus on sees auth info. Registrit päringus ei määra (Selle peale saan küll statuse 404 ehk “Page not found”, aga saan cookie ikkagi vastu):
curl –location –request GET ‘https://mars.excellent.ee:4455/api/1/’ \
–header ‘Content-Type: application/x-www-form-urlencoded;charset=utf-8’ \
–header ‘Authorization: Basic Tm8gbWlzIHNhIHNpaXQgbG9vdHNpZCBsZWlkYSA6KQ==’ \
Selle päringuga saan HSESSION nimelise “küpsise” koos cookie value ehk IDga. HTTP vastuses tagastatakse sessiooniküpsis, näiteks kujul:
Set-Cookie: HSESSION=…
Edasi kasutan seda sama valuet uues päringus ja ei pane kaasa autendi infot:
curl –location –request GET ‘https://mars.excellent.ee:4455/api/1/TRVc’ \
–header ‘Content-Type: application/x-www-form-urlencoded;charset=utf-8’ \
–header ‘Cookie: HSESSION=CC1AC3C5-DAC9C590-DA4FD41F-1E820CB7-C1713CC8’
Järgmisel hommikul kell 06:00 võib teha vajadusel uue autendi päringu.
Sessioonide kasutamise eelised:
• serveri koormus väheneb märgatavalt;
• Excellent Booksi töö muutub stabiilsemaks;
• jõudlus paraneb eriti siis, kui integratsioon teeb päringuid tihedalt.
Põhjaliku Excellent Books API dokumentatsiooni leiad SIIT
