Τεκμηρίωση

Η τεκμηρίωση της 4invoices έχει δύο επίπεδα: το πάνελ, που χρησιμοποιείτε χωρίς κώδικα, και το δημόσιο API, μέσω του οποίου το σύστημά σας εκδίδει τιμολόγια και οδηγεί το έγγραφο μέσω του εθνικού κυκλώματος ηλεκτρονικής τιμολόγησης (στη Ρουμανία, e-Factura της ANAF). Αυτή η σελίδα είναι η είσοδος στο δεύτερο επίπεδο.

Ανοίξτε την πλήρη τεκμηρίωση του API →

Τι μπορείτε να αυτοματοποιήσετε

Το δημόσιο API καλύπτει έκδοση τιμολογίων και προτιμολογίων, πιστωτικά, πελάτες με έλεγχο στο μητρώο επιχειρήσεων (στη Ρουμανία, μητρώο ANAF), σειρές αρίθμησης και όλη την εθνική διαδρομή ηλεκτρονικής τιμολόγησης (στη Ρουμανία, e-Factura): προέλεγχο CIUS-RO, υποβολή στο SPV, παρακολούθηση κατάστασης, υπογεγραμμένη απάντηση και τα εισερχόμενα τιμολόγια προμηθευτών.

https://api.4invoices.net/v1 · 25 endpoints · Προδιαγραφή OpenAPI (χωρίς κλειδί)

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

Ταυτοποίηση

Πριν από την πρώτη κλήσηΤιμολόγηση → Ρυθμίσεις → Πρόσβαση 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"}
Μόνο μεταξύ διακομιστών. Μην καλείτε ποτέ το API από JavaScript του browser: το client_secret θα έφτανε στον επισκέπτη και το CORS μπλοκάρει κάθε πηγή.

Το πρώτο τιμολόγιο σε 6 βήματα

  1. Δημιουργήστε διαπιστευτήρια στο πάνελ, στο Τιμολόγηση → Ρυθμίσεις → Πρόσβαση API, και αντιγράψτε το client_secret — εμφανίζεται μόνο μία φορά.
  2. Συμπληρώστε το προφίλ της εταιρείας και ενεργοποιήστε τουλάχιστον μία σειρά τύπου fiscale, αλλιώς η έκδοση επιστρέφει issuer_profile_incomplete ή no_series_configured.
  3. Ανταλλάξτε τα διαπιστευτήρια με token: POST /v1/auth/token με grant_type client_credentials. Το τόκεν ισχύει μία ώρα — αποθηκεύστε το, μη ζητάτε νέο σε κάθε κλήση.
  4. Εκδώστε το τιμολόγιο: POST /v1/invoices με κεφαλίδα Idempotency-Key και vat_rate ως ποσοστό (21, όχι 0.21).
  5. Τρέξτε τον προέλεγχο (στη Ρουμανία: CIUS-RO) με POST /v1/invoices/{id}/efactura/validate και στείλτε το τιμολόγιο στο εθνικό σύστημα ηλεκτρονικής τιμολόγησης (στη Ρουμανία: ANAF) με POST /v1/invoices/{id}/efactura/submit.
  6. Παρακολουθήστε την κατάσταση με GET /v1/efactura/submissions/{id} μέχρι να φτάσει σε accepted ή rejected.
bash
# 1 — τόκεν (1 ώρα, αποθηκεύστε το στην κρυφή μνήμη)
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 — έκδοση του τιμολογίου (το Idempotency-Key είναι ΥΠΟΧΡΕΩΤΙΚΟ)
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'

Οδηγοί κατά θέμα

Κάθε θέμα έχει τη σελίδα του, με τα σχετικά Ένδποιντς, παραδείγματα και σφάλματα.

Ανοίξτε την πλήρη τεκμηρίωση του API →