====== GetToken() metod ======
===== Akcija =====
Dobijanje //session token// jedinstvenog broja koji se koristi pri pozivu metoda koje prikazuju ili menjanju podatke sistema. Rezultat funkcije je **String** vrednosti koja sadrži kod sesije koji treba koristiti u narednim pozivima metoda koji se obraćaju bazi podataka.
**Poziv metode sadrži osetljive podatke, korisničku lozinku, pa je preporuka da se za transportni protokol koristi ****https (TSL).**
===== Sintaksa =====
==== SOAP ====
GetToken (companyCode, userName, userCode, sessLen, [authUser], [authCustomer])
==== REST ====
POST https://(server_base_url)/rs/login/gettoken?id=&pwd=&len=&usr=&cust=
===== Rezultat =====
**String** sessToken; Niz karaktera, određenog roka trajanja, koji jedinstveno identifikuju korisnika i sesiju u kojoj radi.
===== Parametri =====
==== SOAP ====
^SOAP naziv^REST naziv^Vrsta^Opis^Revizija|
|companyCode|-|String, obavezno za SOAP|Za sada se ne koristi, slati prazan string. Jedinstvena šifra firme kojoj se pristupa. Šifra se dobija prilikom instaliranja modula za pristup ERP-u preko web servisa. Nepromenjiva je i jedinstvena za svaku firmu sa kojom se radi. \\ REST verzija servisa nema ovaj parametar.|19-6-11|
|userName|id|String, obavezno|Korisnički nalog iz Balans ERP-a pod kojim se vrše operacije nad API-jem. \\ Nalog otvara administrator Balnas ERP-a i tom prilikom postavlja privilegije koje nalog ima. \\ Aktivnosti sa weba biće vezane za ovaj nalog.|19-6-11|
|userCode|pwd|String, obavezno|Korisnička lozinka dodeljena korisniku prilikom otvaranja naloga u Balans ERP-u.|19-6-11|
|sessLen|len|Integer, obavezno|Broj minuta koliko će sesija biti otvorena. Broj mora biti između **1** i **480**. Nakon isteka ovog perioda korisnik mora zahtevati novi //session token//.|19-6-11|
|authCustomer|cust|String, opciono|Korisnički nalog, identifikovanog od strane provajdera, Balans komitenta (kupca ili dobavljača).|19-6-11|
|authUser|usr|String, opciono|Korisnički nalog Balans korisnika u čije ime se vrše operacije (za potrebe ekstenzija Balans ERP-a, npr. mobilna prodaja, sindikalna prodaja, servisiranje itd.) \\ Ukoliko parametar nedostaje ili je džoker-znak (%), uzima se vrednost parametra userName, što znači da mora da postoji isti korisnički nalog (ne ime i prezime) korisnika u Balansu|19-6-11|
===== Primeri =====
==== SOAP ====
=== Zahtev ===
POST https://ws.melany.rs:8191/LogIn/LogIn HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
1
Nalog
sifra_naloga
20
nalog_komitenta
balans_nalog
=== Odgovor ===
HTTP/1.1 200 OK
Server: GlassFish Server Open Source Edition 4.1.2
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.1.2 Java/Oracle Corporation/1.8)
Server: grizzly/2.3.23
Content-Type: text/xml; charset=utf-8
Transfer-Encoding: chunked
20010110091424109009
==== REST ====
=== Zahtev ===
https://ws.melany.rs:8191/BortApp-war/rs/login/gettoken?id=balans_username&pwd=balans_password&len=30
Napomena: Ukoliko //username// ili //password// sadrže komandne karaktere URL-a (''&'',''+'',''='') neophodno ih je zameniti ANSI kodom.
^Karakter^Kod|
|+|%2B|
|&|%26|
|=|%3D|
=== Odgovor ===
^HTTP kod^Opis^Revizija|
|200 OK|Dobija se token u formi //application/json//, npr. ''{"token" : "1712201622047865"}'' |19-6-11|
|401 Not Authorized|Dobija se tekst greške u //application/json// zapisu|19-6-11|
|500 Server Error|Bilo koji drugi tip greške u //application/json// zapisu|19-6-11|
\\