API za integracije

Fiskalizirani račun jednim pozivom.

Spojite web shop, narudžbe ili vlastitu aplikaciju na račun.eu. Pošaljete kupca i stavke — natrag dobijete fiskalizirani račun s JIR-om, QR kodom i PDF-om. Certifikati, CIS i eRačuni su naša briga.

  • REST + JSON
  • Testni način bez fiskalizacije
  • F1 i F2 automatski
POST /racuni
HTTP/1.1 201 Created
{
  "success": true,
  "data": {
    "racun_id": 1234,
    "broj_racuna_full": "1-PP01-26",
    "ukupno": 500.00,
    "fiskaliziran": true,
    "jir": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
    "zki": "1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a",
    "qr_image_base64": "data:image/png;base64,…",
    "pdf_url": "https://…/racuni/1234/pdf",
    "interni_id_klijenta": "NAR-2026-00123"
  }
}
Za što se koristi

Računi nastaju tamo gdje nastaje posao.

Nema ručnog prepisivanja narudžbi u program za račune — vaš sustav izda račun sam, u trenutku prodaje.

Web shop

Narudžba plaćena → račun izdan, fiskaliziran i poslan kupcu s PDF-om.

ERP i narudžbe

Vaš sustav narudžbi ili skladišta izdaje račune bez dupliciranja podataka.

Vlastita aplikacija

Rezervacije, članarine, termini — račun nastaje iz vaše aplikacije.

Ulazni računi

Knjigovodstveni ili nabavni sustav šalje primljene račune ravno u evidenciju.

Primjeri

Desetak redaka koda.

Ključ je vezan uz tvrtku i poslovni prostor pa ne šaljete tko izdaje račun — samo kupca i stavke. Sve ostalo (numeracija, PDV, fiskalizacija, poziv na broj) radi aplikacija.

  • Testni način — "production": false sprema račun bez slanja u Poreznu
  • Vaš broj narudžbe u interni_id_klijenta — po njemu kasnije nađete račun
  • Maloprodaja ili veleprodaja — CIS ili eRačun bira se prema poslovnom prostoru
curl -X POST https://api.racun.eu/v1/racuni \
  -H "X-Api-Key: saas_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "kupac":  { "naziv": "Ivan Horvat", "oib": "98765432109" },
    "stavke": [ { "naziv": "Web dizajn", "kolicina": 1,
                  "cijena": 400, "pdv_stopa": 25 } ],
    "nacin_placanja": "T",
    "interni_id_klijenta": "NAR-2026-00123"
  }'
$ch = curl_init('https://api.racun.eu/v1/racuni');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'X-Api-Key: ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'kupac'  => ['naziv' => 'Ivan Horvat', 'oib' => '98765432109'],
        'stavke' => [['naziv' => 'Web dizajn', 'cijena' => 400, 'pdv_stopa' => 25]],
        'interni_id_klijenta' => $narudzba->id,
    ]),
]);
$racun = json_decode(curl_exec($ch), true)['data'];
echo $racun['jir'], ' ', $racun['pdf_url'];
// Na serveru (Node) — API ključ nikad ne ide u preglednik
const res = await fetch("https://api.racun.eu/v1/racuni", {
  method: "POST",
  headers: {
    "X-Api-Key": process.env.RACUN_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    kupac:  { naziv: "Ivan Horvat", oib: "98765432109" },
    stavke: [{ naziv: "Web dizajn", cijena: 400, pdv_stopa: 25 }],
    interni_id_klijenta: narudzba.id,
  }),
});
const { data } = await res.json(); // jir, zki, pdf_url…
Endpointi

Što API trenutno pokriva.

Osnovna adresa: https://api.racun.eu/v1

POST /racuni Kreira i fiskalizira izlazni račun
GET /racuni Popis računa — filteri po statusu, datumu i vašem internom broju
GET /racuni/{id} Detalji računa sa stavkama i PDV raščlambom
GET /racuni/{id}/pdf PDF računa, spreman za slanje kupcu
POST /racuni/{id}/fiskaliziraj Naknadna fiskalizacija postojećeg računa
POST /ura Evidentira ulazni račun dobavljača
GET /ura/{id} Detalji ulaznog računa
GET /me Provjera ključa i konteksta (subjekt, pogon)
AutentikacijaHeader X-Api-Key, ključ se generira u aplikaciji (Postavke → API ključevi)
Ograničenje60 zahtjeva u minuti po ključu
SigurnostSamo HTTPS; ključ se može opozvati ili mu se zadati rok valjanosti
Kako krenuti

Od ključa do produkcije.

01

Generirajte ključ

U aplikaciji odaberete tvrtku i poslovni prostor za koji ključ izdaje račune.

02

Testirajte

S production: false provjerite integraciju — računi se spremaju, ali ne fiskaliziraju.

03

Pustite u rad

Prebacite na produkciju i pratite polje fiskaliziran u odgovoru.

Trebate dokumentaciju ili pomoć oko integracije?

Pošaljemo vam punu dokumentaciju i Postman kolekciju te pomognemo s prvim pozivima.