Dokumentacija/Roster L-PFR
L-PFR API
REST interfejs Roster L-PFR-a za ESIR aplikacije i softver trećih lica.
Roster L-PFR izlaže REST API preko kojeg ESIR ili vaš softver izdaje račune. Kompletnu, interaktivnu specifikaciju sa primerima i opcijom „Try it out” pogledajte u API referenci (Swagger).
Osnovno#
| Stavka | Vrednost |
|---|---|
| Format | JSON (Content-Type: application/json) |
| Osnovna adresa | http://<adresa-L-PFR-a>:<port> [dopuniti podrazumevani port] |
| Jezik poruka | Zaglavlje Accept-Language: sr-Latn-RS |
Pregled poziva#
| Metoda | Putanja | Namena |
|---|---|---|
| GET | /api/v3/attention |
Provera da li je L-PFR dostupan |
| GET | /api/v3/status |
Stanje L-PFR-a i poreske stope |
| POST | /api/v3/pin |
Otključavanje bezbednosnog elementa |
| POST | /api/v3/invoices |
Izdavanje računa |
| GET | /api/v3/environment-parameters |
Parametri okruženja |
Primer: izdavanje računa#
curl -X POST "http://localhost:7777/api/v3/invoices" \
-H "Content-Type: application/json" \
-H "Accept-Language: sr-Latn-RS" \
-d '{
"invoiceType": "Normal",
"transactionType": "Sale",
"cashier": "Marko",
"payment": [{ "amount": 240.00, "paymentType": "Cash" }],
"items": [{
"name": "Kafa espreso",
"quantity": 2,
"unitPrice": 120.00,
"labels": ["Ђ"],
"totalAmount": 240.00
}]
}'
Odgovor sadrži broj računa, žurnal za štampu i adresu za QR kod:
{
"invoiceNumber": "XXXXXXXX-XXXXXXXX-123",
"sdcDateTime": "2026-10-01T21:30:00.000+02:00",
"totalAmount": 240.00,
"verificationUrl": "https://suf.purs.gov.rs/v/?vl=...",
"journal": "============ ФИСКАЛНИ РАЧУН ============ ..."
}
Napomena
Poreske oznake (labels) i stope uvek preuzmite iz odgovora GET /api/v3/status — ne upisujte ih fiksno u kod.
Greške#
| HTTP kod | Značenje |
|---|---|
200 |
Uspešno |
400 |
Neispravan zahtev — pogledajte polje modelState u odgovoru |
401 |
Bezbednosni element nije otključan — potreban PIN |
500 |
Greška na L-PFR-u |