Документација

Документација 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-а у прегледачу: client_secret би дошао до посетиоца, а CORS ионако блокира сваки извор.

Прва фактура у 6 корака

  1. Генеришите креденцијал у панелу, у Фактурисање → Подешавања → API приступ, и копирајте client_secret — приказује се само једном.
  2. Попуните профил фирме и активирајте бар једну серију типа fiscale, иначе издавање враћа issuer_profile_incomplete или no_series_configured.
  3. Замените креденцијал за токен: 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'

Водичи по темама

Свака тема има своју страницу са одговарајућим endpoint-има, примерима и грешкама.

Отворите потпуну API документацију →