Uuendatud 16. jaanuar 2026
Kuidas vältida API-ga liiga sagedast autentimist ehk sessioonide kasutamine?
“Excellent Books”-i Rest API liidesesse on lisandunud toimiv võimalus kasutada web sessioone. Sessioonide kasutamine ja igal API päringul “Basic Auth” info mittesaatmine vähendab oluliselt koormust sinu Excellent Booksi serverile.
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
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. 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.
