Dokumentacija

Dokumentacija 4invoices ima dva sloja: panel, koji koristite bez pisanja koda, i javni API, kojim vaš sustav izdaje fakture i vodi dokument kroz nacionalni sustav e-računa (u Rumunjskoj: e-Factura ANAF-a). Ova stranica je ulaz u drugi sloj.

Otvori punu API dokumentaciju →

Što možete automatizirati

Javni API pokriva izdavanje faktura i proforma, storno, klijente s provjerom u registru poduzetnika (u Rumunjskoj: ANAF-ov registar), serije numeriranja i cijeli nacionalni put e-računa (u Rumunjskoj: e-Factura): CIUS-RO provjeru, predaju u SPV, praćenje statusa, potpisani odgovor i pristigle fakture dobavljača.

https://api.4invoices.net/v1 · 25 endpoints · OpenAPI specifikacija (bez ključa)

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

Autentikacija

Prije prvog pozivaFakturiranje → Postavke → API pristup
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 server-to-server. Nikada ne zovite API iz JavaScripta u pregledniku: client_secret bi došao do posjetitelja, a CORS ionako blokira svaki origin.

Prva faktura u 6 koraka

  1. Generirajte vjerodajnicu u panelu, pod Fakturiranje → Postavke → API pristup, i kopirajte client_secret — prikazuje se samo jednom.
  2. Dovršite profil tvrtke i aktivirajte barem jednu seriju vrste fiscale, inače izdavanje vraća issuer_profile_incomplete ili no_series_configured.
  3. Zamijenite vjerodajnicu za token: POST /v1/auth/token s grant_type client_credentials. Token traje jedan sat — spremite ga u cache, nemojte tražiti novi za svaki zahtjev.
  4. Izdajte fakturu: POST /v1/invoices sa zaglavljem Idempotency-Key i vat_rate kao postotkom (21, ne 0.21).
  5. Pokrenite provjeru (CIUS-RO za Rumunjsku) s POST /v1/invoices/{id}/efactura/validate, zatim pošaljite nacionalnom sustavu e-računa (u Rumunjskoj: ANAF) s POST /v1/invoices/{id}/efactura/submit.
  6. Pratite stanje s GET /v1/efactura/submissions/{id} dok ne dođe do accepted ili rejected.
bash
# 1 — token (1 sat, spremi ga u 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 — izdaj fakturu (Idempotency-Key je OBAVEZAN)
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'

Vodiči po temama

Svaka tema ima svoju stranicu s odgovarajućim endpointima, primjerima i pogreškama.

Otvori punu API dokumentaciju →