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:
| Tip | Prefix | Namjena |
|---|---|---|
| Sandbox | sk_sandbox_ | Testiranje, ne šalje stvarne račune |
| Production | sk_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 Status | Kod | Značenje |
|---|---|---|
401 | authentication_required | Nedostaje Authorization header |
401 | invalid_api_key | API ključ nije valjan |
401 | api_key_revoked | API ključ je opozvan |
403 | insufficient_permissions | Ključ 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.