====== 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| \\