Dokumentacija 4invoices ima dve plasti: panel, ki ga uporabljate brez pisanja kode, in javni API, prek katerega vaš sistem izdaja račune in dokument pripelje skozi nacionalni krog e-računov (v Romuniji: e-Factura ANAF). Ta stran je vhod v drugo plast.
Odprite celotno dokumentacijo API →
Kaj lahko avtomatizirate
Javni API pokriva izdajanje računov in predračunov, storno, stranke s preverjanjem v registru gospodarskih subjektov (v Romuniji: register ANAF), nize številčenja in celoten nacionalni krog e-računov (v Romuniji: e-Factura): predpregled CIUS-RO, oddajo v SPV, spremljanje stanja, podpisan odgovor in prejete račune dobaviteljev.
https://api.4invoices.net/v1 · 25 endpoints · Specifikacija OpenAPI (brez ključa)
invoices:read · invoices:write · clients:read · clients:write · efactura:read · efactura:submit
Avtentikacija
bash
curl -sS -X POST https://api.4invoices.net/v1/auth/token \
-H 'Content-Type: application/json' \
-d '{
"grant_type": "client_credentials",
"client_id": "cli_XXXXXXXXXXXX",
"client_secret": "sec_XXXXXXXXXXXXXXXXXXXX"
}'
# → {"access_token":"eyJ...","token_type":"Bearer","expires_in":3600,
# "scope":"invoices:read invoices:write efactura:submit"}Prvi račun v 6 korakih
- Ustvarite poverilnico v panelu, pod Izstavljanje računov → Nastavitve → Dostop do API, in kopirajte client_secret — prikaže se samo enkrat.
- Dopolnite profil podjetja in aktivirajte vsaj en niz vrste fiscale, sicer izdaja vrne issuer_profile_incomplete ali no_series_configured.
- Poverilnico zamenjajte za žeton: POST /v1/auth/token z grant_type client_credentials. Žeton velja eno uro — shranite ga v predpomnilnik, ne zahtevajte novega ob vsakem klicu.
- Izdajte račun: POST /v1/invoices z glavo Idempotency-Key in vat_rate kot odstotkom (21, ne 0.21).
- Zaženite predpregled s POST /v1/invoices/{id}/efactura/validate (za Romunijo profil CIUS-RO) in račun nato pošljite v nacionalni sistem e-računov (v Romuniji ANAF) s POST /v1/invoices/{id}/efactura/submit.
- Stanje spremljajte z GET /v1/efactura/submissions/{id}, dokler ne doseže accepted ali rejected.
bash
# 1 — žeton (1 ura, shranite ga v predpomnilnik)
ACCESS_TOKEN=$(curl -sS -X POST https://api.4invoices.net/v1/auth/token \
-H 'Content-Type: application/json' \
-d '{"grant_type":"client_credentials","client_id":"cli_XXX","client_secret":"sec_XXX"}' \
| python3 -c 'import sys,json; print(json.load(sys.stdin)["access_token"])')
# 2 — izdajte račun (Idempotency-Key je OBVEZEN)
curl -sS -X POST https://api.4invoices.net/v1/invoices \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: order-10457-invoice' \
-d '{"buyer":{"name":"Exemplu Comert SRL","tax_id":"RO12345678","county":"Cluj","city":"Cluj-Napoca","country":"RO"},
"lines":[{"description":"Abonament SaaS","quantity":1,"unit_price":400,"vat_rate":21}]}'
# 3 — preflight CIUS-RO, then send to ANAF
curl -sS -X POST https://api.4invoices.net/v1/invoices/inv_01J7ABC/efactura/validate \
-H "Authorization: Bearer $ACCESS_TOKEN"
curl -sS -X POST https://api.4invoices.net/v1/invoices/inv_01J7ABC/efactura/submit \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Idempotency-Key: efactura-inv_01J7ABC-1'Vodniki po temah
Vsaka tema ima svojo stran z ustreznimi končnimi točkami, primeri in napakami.