Autentifikacija

FiskalAPI koristi API ključeve za autentifikaciju. Svaki zahtjev mora sadržavati valjani API ključ u headeru.

API ključevi

Postoje dvije vrste API ključeva:

TipPrefixNamjena
Sandboxsk_sandbox_Testiranje, ne šalje stvarne račune
Productionsk_live_Stvarni računi prema Poreznoj

⚠️ Važno

Nikada ne uključujte API ključ u client-side kod (JavaScript u browseru, mobilne aplikacije). API pozive uvijek radite sa servera.

Slanje API ključa

API ključ šaljete u Authorization headeru s Bearer prefixom:

HTTP Header
Authorization: Bearer sk_sandbox_abc123def456...

Primjer s cURL

cURL
curl https://sandbox.fiskalapi.hr/v1/invoices \
  -H "Authorization: Bearer sk_sandbox_abc123..." \
  -H "Content-Type: application/json"

Primjer s Node.js

JavaScript (Node.js)
// S FiskalAPI SDK-om (preporučeno)
import FiskalAPI from '@fiskalapi/node';

const fiskal = new FiskalAPI('sk_sandbox_abc123...');

// Ili s fetch-om
const response = await fetch('https://sandbox.fiskalapi.hr/v1/invoices', {
  headers: {
    'Authorization': 'Bearer sk_sandbox_abc123...',
    'Content-Type': 'application/json',
  },
});

Primjer s Python

Python
# S FiskalAPI SDK-om (preporučeno)
from fiskalapi import FiskalAPI

fiskal = FiskalAPI('sk_sandbox_abc123...')

# Ili s requests
import requests

response = requests.get(
    'https://sandbox.fiskalapi.hr/v1/invoices',
    headers={
        'Authorization': 'Bearer sk_sandbox_abc123...',
        'Content-Type': 'application/json',
    }
)

Upravljanje ključevima

API ključeve možete upravljati u dashboardu:

  • Kreiranje — napravite nove ključeve za različite aplikacije
  • Rotacija — generirajte novi ključ, stari ostaje aktivan 24h
  • Brisanje — trajno onemogućite ključ
  • Ograničenja — postavite IP whitelist ili rate limite per ključ

Greške autentifikacije

HTTP StatusKodZnačenje
401authentication_requiredNedostaje Authorization header
401invalid_api_keyAPI ključ nije valjan
401api_key_revokedAPI ključ je opozvan
403insufficient_permissionsKljuč nema dozvolu za ovu akciju

Primjer error responsa

JSON Response (401)
{
  "error": {
    "code": "invalid_api_key",
    "message": "The API key provided is invalid.",
    "doc_url": "https://fiskalapi.hr/docs/autentifikacija"
  }
}

Sigurnosne preporuke

✓Koristite environment varijable

Nikada ne hardkodirajte API ključ. Koristite process.env.FISKALAPI_KEY ili slično.

✓Odvojeni ključevi po okruženju

Koristite sandbox ključ za development/staging, live ključ samo za produkciju.

✓Redovita rotacija

Rotirajte production ključeve svakih 90 dana ili odmah ako sumnjate na kompromitaciju.

✓IP whitelist

Za production ključeve, ograničite pristup samo na IP adrese vaših servera.

Sljedeći korak