Dokumentacija

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

Pred prvim klicemIzstavljanje računov → Nastavitve → Dostop do API
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"}
Samo strežnik-strežnik. Nikoli ne kličite API iz brskalniškega JavaScripta: client_secret bi prišel do obiskovalca, CORS pa tako ali tako blokira vsak origin.

Prvi račun v 6 korakih

  1. Ustvarite poverilnico v panelu, pod Izstavljanje računov → Nastavitve → Dostop do API, in kopirajte client_secret — prikaže se samo enkrat.
  2. Dopolnite profil podjetja in aktivirajte vsaj en niz vrste fiscale, sicer izdaja vrne issuer_profile_incomplete ali no_series_configured.
  3. 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.
  4. Izdajte račun: POST /v1/invoices z glavo Idempotency-Key in vat_rate kot odstotkom (21, ne 0.21).
  5. 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.
  6. 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.

Odprite celotno dokumentacijo API →