Kako bi Program radio u ovom načinu u pri konfiguraciji treba odabratik način čekanja na zadatak "Server"
Server če na preddefiniranom portu (default = 8449) vračati odgovore na sljedeče upite(u zagradi skračeni upit) :
Kod prvog pokretanja programa sa ovom konfiguracijom bitno je da ako operativi sustav upita dali HrFiskalizator smije koristiti upisani port , da mu se dozvoli pristup.
Upit se upučuje na adresu http://localhost:port/fiskal?zadatak=upit
Pritom "localhost" može a u nekim slučajevima mora biti zamjenjen lokalnom ili javnom IP adresom.
Ako u postavkama nije definiran Login i Password onda če password i server biti zanemareni a server dostupan bez logina i passworda.
Defaultni Login i Password su : "login" i "password"
*Neka od korisničkih aplikacija (uključujući večinu suvremenih browsera) nemože poslati autentikaciju kroz URL string.
HrFiskalizator se ponaša kao i svaki drugi HTTP server te če prihvatiti autentikaciju kroz header.
Windows COM komponenta "WinHttp.WinHttpRequest.5.1" se naprimjer koristi na sljedeči način (primjer je u VBS ali objekat slično radi i u drugim programskim jezicima)
Testirajte ovu opciju u vašem pregledniku, a ukoliko trebate pomoč oko implementacije ovog načina komuniciranja sa HrFiskalizatorom u svoju aplikaciju, kontaktirajte me za savjet.
U nastavku upita moguči su i neki dodatni parametri prema doljnim primjerima.
Večinu upita je moguče testirati i jednostavnim upisom u web preglednik.
Svi odgovori su plain text odgovori te su utf-8 encoded izuzev HELP koji je Html odgovor te je ISO-8859-2 encoded.
Program nastoji detektirati sve potencijalne korisničke greška te vrača razne poruke o greškama koje su se dogodile pri izvođenju traženog zadatka ili dobivene od servera Porezne uprave.
Najčešča uporaba Hrfiskalizatora je da je pokrenut na računalu na kojem radi i korisnička aplikacija.
Međutim može opsluživati i više klijenata na neke od naprednih načina.
Primjer napredne višekorisničke uporabe 1 | Primjer napredne višekorisničke uporabe 2 |
![]() |
Pazi ! Kod ovog primjera komunikacija preko interneta između kase i HrFiskalizatora nema enkripciju,a primjenjuje se samo osnovna zaštita Loginom i Passwordom. Kako bi kasa mogla komunicirati sa HrFiskalizatorom, potrebno je na ruteru Port koji koristi HrFiskalizator preusmjeriti na računalo na kojem radi. |
Primjer :http://localhost:8449
Služi kako bi korisnik mogao detektirati prisutnost servera i to bez pokretanja bilo kakvih procedura unutar programa.
Ako je definiran Login i Password onda če samo ovaj poziv biti dostupan bez Logina i passworda (za detekciju servera)
Moguči povrati : HrFiskalizator on port : 8449
EXIT
Gasi program , te je korisna ako programer iz svoje aplikacije želi pokretati HrFiskalizator te ga zatvarati (recimo pri zatvaranju svoje aplikacije).
Primjer : http://localhost:8449/fiskal?zadatak=EXIT"
PING
Služi za provjeru dali program radi i odgovara na preddefinirani port
Primjer : http://localhost:8449/fiskal?zadatak=PING"
Moguči povrati : OK ili povrata nema
ECHO
Služi za provjeru dali program radi i te dali može komunicirati sa serverom porezne uprave.
Primjer : http://localhost:8449/fiskal?zadatak=ECHO"
Moguči povrati : True ili povrata nema
GETSERVER
Služi za provjeru dali je program usmjeran na slanje zahtjeva na Produkcjiski ili Testni Server PU.
Primjer : http://localhost:8449/fiskal?zadatak=GETSERVER"
Moguči povrati : Produkcijski ili Testni
GETHRFVERSION
Primjer : http://localhost:8449/fiskal?zadatak=GETHRFVERSION"
Moguči povrati : Verzija učitanog programa
GENERIRAJUID (GUID)
Primjer : http://localhost:8449/fiskal?zadatak=GENERIRAJUID"
Moguči povrati : generirani jedinstveni broj
GENERIRAJZKI (GZKI)
Zahtjeva dodatnih 6 parametara za izračun ZKI u formatu prema priloženom primjeru.
Primjer :http://localhost:8449/fiskal?zadatak=GENERIRAJZKI
String poslan u POST formatu mora biti u sljedečem obliku :
"time=" + time + "&" + "oib=" + oib + "&" + "brrac=" + brrac + "&" + "iznosrac=" + iznosrac + "&" + "brpos=" + brpos + "&" + "brnaplatnog=" + brnaplatnog
naprimjer :
time=23.09.2016 19:13:35&oib=17052038498&brrac=2571&&iznosrac=200.00&brpos=1&brnaplatnog=1
Moguči povrati : izračunati ZKI broj
DOHVATIVRIJEME (VRIJEME)
Primjer : http://localhost:8449/fiskal?zadatak=VRIJEME"
Moguči povrati : trenutno sistemsko vrijeme u formatu 23.09.2016T19:13:35
GETCONFIG
Primjer : http://localhost:8449/fiskal?zadatak=GETCONFIG"
Moguči povrati : vrača trenutnu konfiguraciju programa
GETSINGLECONFIG
Primjer : http://localhost:8449/fiskal?zadatak=GETSINGLECONFIG&property=PORT"
Moguči povrati : vrača trenutnu konfiguraciju programa za pojedini property
U slučaju greške vrača tekst greške
GETERRORLOG
Primjer : http://localhost:8449/fiskal?zadatak=GETERRORLOG"
Moguči povrati : vrača sadržaj Error.log datoteke
GETMEMORY
Primjer : http://localhost:8449/fiskal?zadatak=GETMEMORY"
Moguči povrati : trenutno stanje memorije unutar JVM
FREEMEMORY
Od programskog Garbage collectora zahtjeva oslobađanje memorije.Nikada u toku testiranja se nije dogodilo da program ostane bez programske momorije, ali ovim pozivom se ona može skoro u popunosti osloboditi ako usljed velikog naglog broja zadataka dođe do memoriskih problema.
Primjer : http://localhost:8449/fiskal?zadatak=FREEMEMORY"
Moguči povrati : trenutno stanje memorije unutar JVM
RACUNZAHTJEV (RZ)
Koristi se za slanje RAČUNA.
Zahtjeva dodatni parametar broj računa (brfak) prema priloženom primjeru
Primjer : http://localhost:8449/fiskal?zadatak=RACUNZAHTJEV&brfak=1234
POST se sastoji od XML stringa definiranim kao RACUNZAHTJEV prema Tehničkim specifikacijama porezne uprave (primjer u nastavku).
XML string mora biti sadržan u POST parametru "DATA".
Napomena : Ukoliko pri konfiguraciji nije omogučen upis UUIDA te Vremena slanja, tada treba u XML zahtjevu upisati i vrijednosti u tagove
<IdPoruke></IdPoruke> te <DatumVrijeme></DatumVrijeme>.
U koliko su te mogučnosti čekirane če ispuniti vrijednosti UIDom te trenutnim vremenom.
<ZastKod></ZastKod> se u svakom slučaju izračunava te popunjuje, te ga stoga nije potrebno upisivati unutar korisničke aplikacije jer če ionako biti prepisan.
Moguči povrati : String koji se sastoji se sastoji od 4 elementa UID , JIR , Vrijeme povrata iz datoteke PU , ZKI izračunan na osnovu podataka iz XML poruke
U slučaju greške : " " , " " , ZKI izračunan na osnovu podataka iz XML poruke, poruka greške
Elementi stringa su odvojeni sistemskim linijskim separatorom.
*U slučaju greške pri izvođenju procedure, moguče je da bude vračena samo poruka greške ili da ne bude vračena nikakva poruka
, u tom slučaju se gotovo sigurno radi o pogrešno formatiranoj XML poruci zahtjeva.
RACUNPROVJERAZAHTJEV (RZP)
Koristi se za slanje ZAHTJEVA ZA PROVJERU RAČUNA.
Svi _GET(izuzev zadatka) i _POST parametri su istovjetni kao kod RACUNZAHTJEV
Primjer : http://localhost:8449/fiskal?zadatak=RACUNPROVJERAZAHTJEV&brfak=1234
Primjer datoteke za provjeru (Datoteka je istovjet na XML datoteci kao RACUNZAHTJEV i razlikuje se samo po prvoj i zadnjoj liniji), međitim ako server uz ovaj poziv primi i uobičajeni XML string tipa RACUNZAHTJEV prepraviče ga i poslati na provjeru.
Moguči povrati : su istovjetni kao kod RACUNZAHTJEV.
PRATECIDOKUMENTIZAHTJEV (PDZ)
Koristi se za slanje PRATEČEG DOKUMENTA.
Svi _GET(izuzev zadatka) i _POST parametri su istovjetni kao kod RACUNZAHTJEV
Primjer : http://localhost:8449/fiskal?zadatak=PRATECIDOKUMENTIZAHTJEV&brfak=1234
Moguči povrati : su istovjetni kao kod RACUNZAHTJEV.
RACUNPDZAHTJEV (RPDZ)
Koristi se za slanje RAČUNA ZA PRATEČI DOKUMENT.
Svi _GET(izuzev zadatka) i _POST parametri su istovjetni kao kod RACUNZAHTJEV
Primjer : http://localhost:8449/fiskal?zadatak=RACUNPDZAHTJEV&brfak=1234
Moguči povrati : su istovjetni kao kod RACUNZAHTJEV.
PROMIJENINACPLACZAHTJEV
Koristi se za slanje IZMJENE NAČINA PLAĆANJA NA VEČ FISKALIZIRANOM RAČUNU.
Svi _GET(izuzev zadatka) i _POST parametri su istovjetni kao kod RACUNZAHTJEV
Primjer : http://localhost:8449/fiskal?zadatak=PROMIJENINACPLACZAHTJEV&brfak=1234
NAPOJNICAZAHTJEV (u funkciji od verzije 60)
Koristi se za slanje XMLa NAPOJNICE nakon što smo uspješno fiskalizirali račun.
Svi _GET(izuzev zadatka) i _POST parametri su istovjetni kao kod RACUNZAHTJEV
Primjer : http://localhost:8449/fiskal?zadatak=NAPOJNICAZAHTJEV&brfak=1234
Zahtjev se šalje na istovjetan način kao i za račun i sa gotovo istovjetnom XML strukturom.
QRCODE ili CREATEBARCODE
Primjer do verzije 45:
http://localhost:8449/fiskal?zadatak=QRCODE&text=TekstZaKonverzijuKojiPropisujeZakonodavac&size=200
Primjer od verzije 45 nadalje:
http://localhost:8449/fiskal?zadatak=CREATEBARCODE&text=TekstZaKonverzijuKojiPropisujeZakonodavac&barcodetype=QRCODE&width=200&height=200&returnasblob=true&imagetype=png
Primjer od verzije 46 nadalje:
http://localhost:8449/fiskal?zadatak=CREATEBARCODE&text=base64encodedTekstZaKonverzijuKojiPropisujeZakonodavac&barcodetype=QRCODE&width=200&height=200&returnasblob=true&imagetype=png&encoded=true
Moguči povrati : BASE64 formatirani string koji sadrži image