Financiar v1 / CursInchidere
Curs de închidere (oficial BNR)
Cursul de la sfârşitul unei luni (?luna=AAAA-LL), al unui trimestru (?trimestru=AAAA-Tn) ori al unui an
(?an=AAAA), aşa cum îl publică BNR — cifra cu care se reevaluează soldurile în valută la data raportării.
Fără perioadă, ultima lună publicată. Răspunsul spune şi DIN CE ZI vine cifra, în provine_din_ziua.
GET
https://oneapi.ro/api/financiar/v1/curs-inchidere
Parametri de interogare
NumeTipDescriereValori acceptate
lunaopțional
string | null
O lună,
AAAA-LL, din 2005. Fără nicio perioadă, ultima lună publicată.
ex. 2024-06
trimestruopțional
string | null
Un trimestru,
AAAA-Tn (2024-T2), ca eticheta BNR.
ex. 2024-T2
anopțional
integer | null
Un an,
AAAA, din 2005, până la ultimul an încheiat şi publicat.
2005 – 2100
valutalistăopțional
text
Filtru opţional:
?valuta=EUR,USD. Fără el se întorc toate valutele perioadei.
ex. EURex. EUR,USD
Cum se comportă
- Cursul de sfârşit de perioadă publicat de BNR, pentru o lună (
?luna=AAAA-LL), un trimestru (?trimestru=AAAA-Tn) ori un an (?an=AAAA) — una singură. Fără perioadă, ultima lună publicată. - Cursul de la sfârşitul lunii, aşa cum îl publică BNR — cifra cu care se reevaluează soldurile în valută la data raportării.
- Nu se confundă cu media. Media se aplică FLUXURILOR — venituri, cheltuieli, tranzacţii petrecute în cursul perioadei. Închiderea se aplică SOLDURILOR — creanţe, datorii, disponibil în valută la data raportării. Ambele cifre sunt reale şi apropiate, deci greşeala e tăcută; de aceea sunt rute separate, nu un comutator
?tip=. - Răspunsul spune şi DIN CE ZI vine cifra, în
provine_din_ziua— informaţie pe care seria oficială BNR nu o conţine. La o reevaluare de bilanţ, ziua e ce se trece în notă şi ce se verifică la audit. - Perioada în curs întoarce 404 cu
perioada_neincheiata, cu trimitere la/curs. Închiderea unei perioade neîncheiate e pur şi simplu cursul cel mai recent — servit aici, ar fi citat ca valoare de bilanţ. - Valorile sunt RON pentru O UNITATE de valută, deja împărţite la multiplicator — spre deosebire de
/curs, unde cinci valute se publică la 100. - Verificat pe 7.567 de perechi lună×valută: valoarea publicată e exact cotaţia ultimei zile bancare din lună, cu abatere maximă de 0,00004.
- Cursul de la sfârşitul trimestrului, pentru raportări şi situaţii financiare interimare.
- Verificat pe 2.524 de perechi trimestru×valută: valoarea publicată e exact cotaţia ultimei zile bancare din trimestru.
- Cursul de la 31 decembrie — cifra cu care se reevaluează soldurile în valută la închiderea exerciţiului financiar.
- Verificat pe 619 perechi an×valută: valoarea publicată e exact cotaţia ultimei zile bancare a anului, cu abatere ZERO.
La ce folosește
- Reevaluarea creanţelor şi datoriilor în valută la sfârşit de lună.
- Închiderea lunară în contabilitate.
- Verificarea cursului folosit într-o raportare.
- Reevaluarea soldurilor la o raportare trimestrială.
- Situaţii financiare interimare.
- Reevaluarea soldurilor la închiderea exerciţiului.
- Întocmirea situaţiilor financiare anuale.
Structura răspunsului
CâmpTipDescriere
data.luna
string
Luna la care se referă datele.
data.de_la
string
Începutul intervalului acoperit de răspuns.
data.pana_la
string
Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.moneda_baza
string
Moneda faţă de care sunt exprimate cotaţiile.
data.valori[].valuta
string
Codul ISO 4217 al valutei.
data.valori[].denumire
string
Denumirea, aşa cum o publică sursa.
data.valori[].valoare_unitara
string
Cursul de închidere publicat de BNR, RON pentru O unitate.
data.valori[].provine_din_ziua
string
Ziua bancară din care vine cotaţia. Nu e în seria oficială; se deduce din cotaţiile zilnice.
data.valori[].verificare.cotatia_zilei
string
Cotaţia zilei respective, adusă la o unitate.
data.valori[].verificare.diferenta
string
Oficial minus cotaţia zilei. Zero sau rotunjire.
meta.sursa
string
Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.acoperire.de_la
string
Prima perioadă pentru care avem date.
meta.acoperire.pana_la
string
Ultima perioadă pentru care avem date.
meta.valute
integer
Valutele acoperite de răspuns.
meta.nota_utilizare
string
Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_provenienta
string
Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_unitate
string
Ce trebuie ştiut despre unitatea de măsură înainte de a compara sau aduna valorile.
meta.fara_valori
Valutele cerute care nu au valoare în perioada respectivă.
meta.fara_date
data e null, iar aici stă motivul. Nu există seriile respective în bază. Perioada încă se scrie (motivul trimite la /curs), e înainte de 2005, ori niciuna dintre valutele cerute nu are valoare de închidere.
meta.fara_date_cod
Cuvântul scurt şi STABIL al motivului, pentru clienţii care comută pe el în cod:
fara_date e proză şi se poate reformula, ăsta nu.
Exemple de răspuns
GEThttps://oneapi.ro/api/financiar/v1/curs-inchidere?valuta=EUR
{
"data": {
"luna": "2026-08",
"de_la": "2026-08-01",
"pana_la": "2026-08-31",
"moneda_baza": "RON",
"valori": [
{
"valuta": "EUR",
"denumire": "Euro",
"valoare_unitara": "5.2586",
"provine_din_ziua": "2026-08-31",
"verificare": {
"cotatia_zilei": "5.2586",
"diferenta": "0"
}
}
]
},
"meta": {
"sursa": "BNR — cursul de schimb al pieţei valutare, serii lunare de sfârşit de perioadă.",
"acoperire": {
"de_la": "2005-01-01",
"pana_la": "2026-08-01"
},
"valute": 1,
"nota_utilizare": "Cursul de închidere se aplică SOLDURILOR în valută la data raportării. Pentru fluxurile petrecute în cursul perioadei se foloseşte media: /financiar/v1/curs-mediu",
"nota_provenienta": "`provine_din_ziua` e ziua bancară din care vine cotaţia — informaţie pe care seria oficială nu o conţine, dar care se trece în nota la bilanţ.",
"nota_unitate": "Valorile sunt RON pentru O unitate de valută, deja împărţite la multiplicator."
}
}
GEThttps://oneapi.ro/api/financiar/v1/curs-inchidere?luna=2024-06&valuta=EUR,USD
{
"data": {
"luna": "2024-06",
"de_la": "2024-06-01",
"pana_la": "2024-06-30",
"moneda_baza": "RON",
"valori": [
{
"valuta": "EUR",
"denumire": "Euro",
"valoare_unitara": "4.9771",
"provine_din_ziua": "2024-06-28",
"verificare": {
"cotatia_zilei": "4.9771",
"diferenta": "0"
}
}
]
},
"meta": {
"sursa": "BNR — cursul de schimb al pieţei valutare, serii lunare de sfârşit de perioadă.",
"acoperire": {
"de_la": "2005-01-01",
"pana_la": "2026-08-01"
},
"valute": 2,
"nota_utilizare": "Cursul de închidere se aplică SOLDURILOR în valută la data raportării. Pentru fluxurile petrecute în cursul perioadei se foloseşte media: /financiar/v1/curs-mediu",
"nota_provenienta": "`provine_din_ziua` e ziua bancară din care vine cotaţia — informaţie pe care seria oficială nu o conţine, dar care se trece în nota la bilanţ.",
"nota_unitate": "Valorile sunt RON pentru O unitate de valută, deja împărţite la multiplicator."
}
}
GEThttps://oneapi.ro/api/financiar/v1/curs-inchidere?trimestru=2024-T2&valuta=EUR
{
"data": {
"trimestru": "2024-T2",
"de_la": "2024-04-01",
"pana_la": "2024-06-30",
"moneda_baza": "RON",
"valori": [
{
"valuta": "EUR",
"denumire": "Euro",
"valoare_unitara": "4.9771",
"provine_din_ziua": "2024-06-28",
"verificare": {
"cotatia_zilei": "4.9771",
"diferenta": "0"
}
}
]
},
"meta": {
"sursa": "BNR — cursul de schimb al pieţei valutare, serii trimestriale de sfârşit de perioadă.",
"acoperire": {
"de_la": "2005-01-01",
"pana_la": "2026-04-01"
},
"valute": 1,
"nota_utilizare": "Cursul de închidere se aplică SOLDURILOR în valută la data raportării. Pentru fluxurile petrecute în cursul perioadei se foloseşte media: /financiar/v1/curs-mediu",
"nota_provenienta": "`provine_din_ziua` e ziua bancară din care vine cotaţia — informaţie pe care seria oficială nu o conţine, dar care se trece în nota la bilanţ.",
"nota_unitate": "Valorile sunt RON pentru O unitate de valută, deja împărţite la multiplicator."
}
}
GEThttps://oneapi.ro/api/financiar/v1/curs-inchidere?an=2024&valuta=EUR
{
"data": {
"an": "2024",
"de_la": "2024-01-01",
"pana_la": "2024-12-31",
"moneda_baza": "RON",
"valori": [
{
"valuta": "EUR",
"denumire": "Euro",
"valoare_unitara": "4.9741",
"provine_din_ziua": "2024-12-31",
"verificare": {
"cotatia_zilei": "4.9741",
"diferenta": "0"
}
}
]
},
"meta": {
"sursa": "BNR — cursul de schimb al pieţei valutare, serii anuale de sfârşit de perioadă.",
"acoperire": {
"de_la": "2005-01-01",
"pana_la": "2025-01-01"
},
"valute": 1,
"nota_utilizare": "Cursul de închidere se aplică SOLDURILOR în valută la data raportării. Pentru fluxurile petrecute în cursul perioadei se foloseşte media: /financiar/v1/curs-mediu",
"nota_provenienta": "`provine_din_ziua` e ziua bancară din care vine cotaţia — informaţie pe care seria oficială nu o conţine, dar care se trece în nota la bilanţ.",
"nota_unitate": "Valorile sunt RON pentru O unitate de valută, deja împărţite la multiplicator."
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 422 | validare | Mai multe perioade deodată (luna, trimestru, an nu se combină), perioadă scrisă altfel decât AAAA-LL, AAAA-Tn ori AAAA, perioadă dinainte de 2005 (în lei vechi: /curs-istoric/mediu), cod de valută invalid. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.
{
"eroare": {
"cod": "validare",
"mesaj": "Mai multe perioade deodată (luna, trimestru, an nu se combină), perioadă scrisă altfel decât AAAA-LL, AAAA-Tn ori AAAA, perioadă dinainte de 2005 (în lei vechi: /curs-istoric/mediu), cod de valută invalid.",
"detalii": {
"luna": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}