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: "" <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.bort.com/"> <soapenv:Header/> <soapenv:Body> <ser:GetToken> <companyCode>1</companyCode> <userName>Nalog</userName> <userCode>sifra_naloga</userCode> <sessLen>20</sessLen> <authCustomer>nalog_komitenta</authCustomer> <authUser>balans_nalog</authUser> </ser:GetToken> </soapenv:Body> </soapenv:Envelope>
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 <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:GetTokenResponse xmlns:ns2="http://services.bort.com/"> <return>20010110091424109009</return> </ns2:GetTokenResponse> </S:Body> </S:Envelope>
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 |