LinuxLPFR - Lokalni Procesor Fiskalnih Računa
LPFR izlaže jedan HTTP servis na konfigurisanom portu
(podrazumevano 7500). Svi endpointi su na istom
serveru, a rutiranje je neosetljivo na velika/mala
slova — /api/v3/Status i
/api/v3/status rade isto.
Bazni URL: http://<host>:7500
· Format: JSON (zahtev i odgovor)
Standardni /api/v3/* interfejs koji poziva ESIR
(kasa). Definisan tehničkim uputstvom Poreske uprave — ovi endpointi
moraju postojati da bi LPFR bio usaglašen.
| Metod | Putanja | Opis |
|---|---|---|
| GET | /api/v3/status | Status uređaja: stanje PIN-a, brojači računa, poreske stope, podaci o sertifikatu. |
| GET | /api/v3/environment-parameters | Metapodaci Poreske uprave i URL-ovi okruženja (SUF / SUF Razvoj). |
| GET | /api/v3/attention | Provera dostupnosti — vraća 200 OK sa praznim telom. |
| POST | /api/v3/pin | Verifikacija PIN-a bezbednosnog elementa; preduslov za fiskalizaciju. |
| POST | /api/v3/invoices | Fiskalizacija računa (potpis preko BE). Podržava pojedinačni račun i batch (niz). |
| GET | /api/v3/invoices/{RequestId} | Preuzimanje prethodno fiskalizovanog računa po RequestId. |
Nestandardna proširenja koja LPFR nudi pored specifikacije — za lokalnu reviziju (iščitavanje), daljinsko upravljanje i dijagnostiku. ESIR-u nisu potrebni.
| Metod | Putanja | Opis |
|---|---|---|
| GET | / | Osnovne informacije o API-ju (ime, verzija, status). |
/audit/*)| Metod | Putanja | Opis |
|---|---|---|
| GET | /audit/status | Status reda paketa za reviziju. |
| POST | /audit/export | Izvoz paketa revizije na USB/SD karticu (offline revizija). |
| POST | /audit/import | Uvoz i obrada POA komandi sa USB/SD kartice. |
/lpfr/*)| Metod | Putanja | Opis |
|---|---|---|
| GET | /lpfr/health | Provera zdravlja servisa. |
| GET | /lpfr/tax-rates | Sve konfigurisane poreske oznake i stope. |
| GET | /lpfr/settings | Čitanje podešavanja aplikacije. |
| PUT | /lpfr/settings | Parcijalna izmena podešavanja (log nivo, NTP, backup putanja…). |
| GET | /lpfr/card-info | Status kartice i bezbednosnog elementa u realnom vremenu. |
| GET | /lpfr/audit | Detaljna dijagnostika revizije (promet, paketi, cooldown). |
| POST | /lpfr/audit/trigger | Ručno pokretanje sesije revizije (zaobilazi raspored). |
| POST | /lpfr/audit/check-poa | Provera TaxCore-a za neobrađene POA komande. |
| POST | /lpfr/audit/recover | Oporavak zaglavljenih „submitted" paketa (samo kad je SE promet = 0). |
| POST | /lpfr/cleanup | Brisanje starih pomoćnih fajlova na disku: rezervne kopije baze (zadržava poslednje 3), log fajlovi stariji od 30 dana, zaostali recovery folderi (>48 h) i POA fajlovi (>24 h). Ne dira bazu, račune ni fiskalne podatke. |
| POST | /lpfr/initialize-card | Inicijalizacija kartice / bezbednosnog elementa. |
| Status | Značenje |
|---|---|
200 | Uspeh |
400 | Neispravan JSON ili nedostaju obavezna polja |
404 | Nepoznat endpoint (odgovor sadrži spisak svih dostupnih) |
500 | Interna greška u obradi |
503 | Servis privremeno nedostupan (revizija u toku) |
Greške pri validaciji računa vraćaju kôd u modelState:
2100 = neispravna vrednost polja, 1300 =
neispravan format podataka.
curl http://localhost:7500/api/v3/status
curl -X POST http://localhost:7500/api/v3/pin -d '"1234"'
curl -X POST http://localhost:7500/api/v3/invoices \
-H "Content-Type: application/json" -d @invoice.json
curl http://localhost:7500/api/v3/invoices/my-request-id