Table of Contents

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 nazivREST nazivVrstaOpisRevizija
companyCode-String, obavezno za SOAPZa 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
userNameidString, obaveznoKorisnič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
userCodepwdString, obaveznoKorisnička lozinka dodeljena korisniku prilikom otvaranja naloga u Balans ERP-u.19-6-11
sessLenlenInteger, obaveznoBroj 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
authCustomercustString, opcionoKorisnički nalog, identifikovanog od strane provajdera, Balans komitenta (kupca ili dobavljača).19-6-11
authUserusrString, opcionoKorisnič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.

KarakterKod
+%2B
&%26
=%3D

Odgovor

HTTP kodOpisRevizija
200 OKDobija se token u formi application/json, npr. {“token” : “1712201622047865”} 19-6-11
401 Not AuthorizedDobija se tekst greške u application/json zapisu19-6-11
500 Server ErrorBilo koji drugi tip greške u application/json zapisu19-6-11