Dokumentácia

Dokumentácia 4invoices má dve vrstvy: panel, ktorý používate bez písania kódu, a verejné API, ktorým váš systém vystavuje faktúry a dovedie dokument cez národný obeh elektronickej fakturácie (v Rumunsku: e-Factura ANAF). Táto stránka je vstupom do druhej vrstvy.

Otvoriť plnú dokumentáciu API →

Čo môžete automatizovať

Verejné API pokrýva vystavovanie faktúr a proform, storná, klientov s kontrolou v obchodnom registri (v Rumunsku: register ANAF), číselné rady a celý národný obeh elektronickej fakturácie (v Rumunsku: e-Factura): CIUS-RO predkontrolu, odoslanie do SPV, sledovanie stavu, podpísanú odpoveď a doručené faktúry od dodávateľov.

https://api.4invoices.net/v1 · 25 endpoints · OpenAPI špecifikácia (bez kľúča)

invoices:read · invoices:write · clients:read · clients:write · efactura:read · efactura:submit

Autentifikácia

Pred prvým volanímFakturácia → Nastavenia → API prístup
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"}
Iba server-to-server. Nikdy nevolajte API z JavaScriptu v prehliadači: client_secret by sa dostal k návštevníkovi a CORS aj tak blokuje každý origin.

Prvá faktúra v 6 krokoch

  1. Vygenerujte prihlasovacie údaje v paneli, v Fakturácia → Nastavenia → API prístup, a skopírujte client_secret — zobrazí sa iba raz.
  2. Doplňte profil firmy a aktivujte aspoň jeden číselný rad typu fiscale, inak vystavenie vráti issuer_profile_incomplete alebo no_series_configured.
  3. Vymeňte prihlasovacie údaje za token: POST /v1/auth/token s grant_type client_credentials. Token platí jednu hodinu — uložte si ho, nežiadajte nový pri každom volaní.
  4. Vystavte faktúru: POST /v1/invoices s hlavičkou Idempotency-Key a vat_rate ako percentom (21, nie 0.21).
  5. Spustite predkontrolu (CIUS-RO pre Rumunsko) cez POST /v1/invoices/{id}/efactura/validate a potom odošlite do národného systému elektronickej fakturácie (v Rumunsku: ANAF) cez POST /v1/invoices/{id}/efactura/submit.
  6. Sledujte stav cez GET /v1/efactura/submissions/{id}, kým nedosiahne accepted alebo rejected.
bash
# 1 — token (1 hodina, uložte ho do cache)
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 — vystavte faktúru (Idempotency-Key je POVINNÝ)
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'

Príručky podľa témy

Každá téma má vlastnú stránku s príslušnými endpointmi, príkladmi a chybami.

Otvoriť plnú dokumentáciu API →