Date, ore și numere
Numele câmpurilor sunt snake_case, peste tot: data_emitere, cod_unic, next_cursor. Formatul unei valori spune ce înseamnă ea — o dată civilă și un moment exact nu se scriu la fel, pentru că nu sunt același lucru.
Date și ore
| Sufix | Ce e | Format | Exemplu |
|---|---|---|---|
data_* |
o zi calendaristică, fără oră și fără fus | YYYY-MM-DD, strict |
2026-09-03 |
*_la |
un moment exact | RFC 3339 cu offset obligatoriu | 2026-09-03T14:05:12+03:00 |
ora_* |
o oră din zi | HH:mm:ss |
09:30:00 |
durata_* |
o durată | ISO 8601 | PT8H30M |
luna_* |
o lună calendaristică | YYYY-MM |
2026-09 |
Momentele exacte necesită offset sau Z (UTC). O valoare fără offset, precum 2026-09-03T14:05:12, este respinsă cu 400. Poți trimite orice offset valid; nu trebuie să convertești în prealabil ora în fusul României. API-ul păstrează momentul reprezentat și îl convertește în fusul României când îl transmite serviciilor care lucrează cu ora locală. Datele civile (YYYY-MM-DD) nu se convertesc între fusuri.
Numere
Numerele sunt numere JSON, nu text:
{ "pret_unitar": 123.45, "cota_tva": 0.21, "nr_produse": 2 }
"123.45" cu ghilimele e 400. Sunt acceptate cel mult 15 cifre semnificative — atât cât poate reprezenta fără pierdere orice implementare de JSON (I-JSON).
Zecimalele diferă de la un câmp la altul și le scrie fiecare câmp în descrierea lui: sume cu două, prețuri unitare și cote de TVA cu patru, cantități cu trei. O valoare cu mai multe zecimale decât permite câmpul e respinsă. Câteva câmpuri rotunjesc în loc să respingă; unde e cazul, o spune descrierea câmpului sau a operației.
În răspuns, un număr zecimal vine cu exact atâtea zecimale câte are câmpul: 121.00, nu 121. În schema OpenAPI, zecimalele au type: number, format: decimal și extensia x-fgo-scale cu numărul de zecimale — dacă generezi un SDK, de acolo știe ce tip să folosească.
Valori din nomenclatoare
Descrierea fiecărui câmp precizează valoarea care trebuie transmisă din nomenclator:
| Câmp | Valoarea | De unde |
|---|---|---|
valuta |
RON |
GET /v2/nomenclatoare/valute |
cota_tva |
0.21 |
GET /v2/nomenclatoare/cote-tva |
cod_judet |
B |
GET /v2/nomenclatoare/judete |
tip_factura |
codul recomandat, de exemplu F; este acceptat și numele |
GET /v2/nomenclatoare/tipuri-factura |
tip_incasare |
valoarea nume, de exemplu Banca |
GET /v2/nomenclatoare/tipuri-incasare |
cod_tara |
RO |
ISO 3166-1 alpha-2; EL pentru Grecia, convenția fiscală UE |
Codurile din standarde externe rămân în forma standardului: RO, RON, STI — nu le transformăm în litere mici.