Moguča uporaba HrFiskalizatora u SERVERSKOM načinu rada :

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


Detalje pogledajte u "Fiskalizacija - Tehnicka specifikacija za korisnike_v2.2" porezne uprave na strani 30.
Ukoliko je u postavkama definirano speremanje soap poruka za račune, onda če i poruke za izmjenu načina plaćanja biti spremljene u iste foldere.
Ime datoteke će biti istovjetno broju računa+"_PNP".
U slučaju uspjeha funkcija vrača string od 4 reda

U slučaju greške u 4 redu pokušava vratiti razloge greške.

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.
Detalje pogledajte u "Fiskalizacija - Tehnicka specifikacija za korisnike v2.5._23_10_23" porezne uprave na strani 46.
Dokumentaciju skinite ovdje
Ukoliko je u postavkama definirano speremanje soap poruka za račune, onda če i poruke za izmjenu načina plaćanja biti spremljene u iste foldere.
Ime datoteke će biti istovjetno broju računa+"_NAP.xml". (U slučaju greške istovjetno broju računa+"_NAP_GRESKA_ŠIFRAGRESKE.xml)
U slučaju uspjeha funkcija vrača string od 4 reda

U slučaju greške.

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

  • Podržani barcodetype su QRCODE (primjena pri fiskalizaciji i dr.) i PDF417 (moguča primjena za generiranje barcoda za internet plačanje)
  • Podržani imagetype format je png,jpg,bmp te gif.
  • *Ako je height veći od width, barkod če biti kreiran kao vertikalni image.
  • Znakovi za novi red (linefeed) mogu biti također poslani unutar parametra text.
  • Sekvenca karaktera unutar parametra text "\r\n" će biti također tretirana kao oznaka za novi red.
  • Parametri (izuzev parametra zadatak) se mogu poslati i kroz _POST (što je poželjno ako parametar text sadrži linefid karaktere, odnosno više redova) , ukoliko se šalju kao _GET onda parametar text prije slanja mora biti urlencoded.
    *ili može biti base64encoded i Queryju mora biti dodan parametar encoded=true

    Moguči povrati : BASE64 formatirani string koji sadrži image

  • Izvod iz tehničke specifikacije za korisnike