Roster Fiscal Dokumentacija
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