Financiar v1 / Curs
Seria cursului pe un interval
Cotaţiile pentru 1–5 valute între două date, grupate pe valută. Zilele fără publicare
(weekend, sărbători) nu apar în serie; meta.zile_publicate spune câte puncte sunt efectiv.
Intervalul e limitat la 366 de zile — depăşirea e respinsă, nu tăiată în tăcere.
GET
https://oneapi.ro/api/financiar/v1/curs/interval
Parametri de interogare
NumeTipDescriereValori acceptate
de_laobligatoriu
string
Obligatoriu,
YYYY-MM-DD. Nu poate fi în viitor.
ex. 2024-06-15ex. 2024-06-01
pana_laopțional
string | null
Opţional, implicit ziua curentă. Poate fi în viitor — se aliniază la azi.
ex. 2024-06-15ex. 2024-06-30ex. 2024-06-14
valutalistăopțional
text
Obligatoriu, 1–5 coduri:
?valuta=EUR,USD sau ?valuta[]=EUR&valuta[]=USD.
ex. EURex. USD
Cum se comportă
- Cotaţiile pentru una până la cinci valute, între
de_laşipana_la, grupate pe valută. - Zilele fără publicare nu apar în serie — weekendurile şi sărbătorile lipsesc.
meta.zile_publicatespune câte puncte are efectiv răspunsul, ca o medie calculată pe serie să se ştie pe ce se calculează. - Multiplicatorul se declară o dată pe serie, nu la fiecare punct: e constant pe toată istoria fiecărei valute (verificat pe toate cele 40).
- Intervalul e limitat la 366 de zile calendaristice — un an plus o zi, ca „ultimele 12 luni" să încapă şi în an bisect. Depăşirea întoarce 422 cu numărul de zile cerute; seria nu se taie niciodată în tăcere.
- Marginile se aliniază la acoperirea reală în loc să fie respinse:
de_laanterior lui 2005-01-03 urcă la prima zi din bază, iarpana_laîn viitor coboară la ziua curentă. Ce s-a ajustat apare înmeta.ajustat. - Plafonul de 366 de zile se verifică DUPĂ aliniere: o cerere 2004 → iunie 2005 are 517 zile cerute, dar numai 149 în acoperire, deci trece.
La ce folosește
- Grafic de evoluţie a cursului.
- Media cursului pe o lună sau pe un trimestru.
- Compararea a două-trei valute pe acelaşi interval.
Structura răspunsului
CâmpTipDescriere
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.serii
array
Seriile din răspuns.
meta.sursa
string
Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.valute
integer
Valutele acoperite de răspuns.
meta.zile_publicate
integer
Numărul total de cotaţii din răspuns, peste toate seriile.
meta.zile_interval
integer
Lungimea intervalului efectiv folosit, în zile calendaristice.
meta.necotate
array
Valutele cerute care nu au nicio cotaţie în interval.
data.serii[].multiplicator
integer
Câte unităţi de valută acoperă
valoare, pentru toată seria (1 sau 100).
data.serii[].valori[].valoare
string
Cifra publicată de BNR.
data.serii[].valori[].valoare_unitara
string
RON pentru O unitate, deja împărţit la multiplicator.
meta.ajustat
Care margini au fost aliniate la acoperire (
de_la, pana_la). Absent când nu s-a ajustat nimic.
meta.fara_date
data e null, iar aici stă motivul. Intervalul e în întregime înainte de prima zi din bază.
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/interval?de_la=2024-06-15&valuta=EUR&pana_la=2024-06-15
{
"data": {
"de_la": "2024-06-15",
"pana_la": "2024-06-15",
"moneda_baza": "RON",
"serii": []
},
"meta": {
"sursa": "Banca Naţională a României",
"valute": 0,
"zile_publicate": 0,
"zile_interval": 1,
"necotate": [
"EUR"
]
}
}
GEThttps://oneapi.ro/api/financiar/v1/curs/interval?de_la=2024-06-15&valuta=EUR&pana_la=2024-06-30
{
"data": {
"de_la": "2024-06-15",
"pana_la": "2024-06-30",
"moneda_baza": "RON",
"serii": [
{
"valuta": "EUR",
"multiplicator": 1,
"valori": [
{
"data": "2024-06-17",
"valoare": "4.9768",
"valoare_unitara": "4.9768"
}
]
}
]
},
"meta": {
"sursa": "Banca Naţională a României",
"valute": 1,
"zile_publicate": 9,
"zile_interval": 16
}
}
GEThttps://oneapi.ro/api/financiar/v1/curs/interval?de_la=2024-06-01&pana_la=2024-06-14&valuta[]=USD
{
"data": {
"de_la": "2024-06-01",
"pana_la": "2024-06-14",
"moneda_baza": "RON",
"serii": [
{
"valuta": "USD",
"multiplicator": 1,
"valori": [
{
"data": "2024-06-03",
"valoare": "4.5922",
"valoare_unitara": "4.5922"
}
]
}
]
},
"meta": {
"sursa": "Banca Naţională a României",
"valute": 1,
"zile_publicate": 10,
"zile_interval": 14
}
}
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 | interval_prea_lung (peste 366 de zile), de_la în viitor, pana_la înainte de de_la, peste 5 valute, sau 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": "interval_prea_lung (peste 366 de zile), de_la în viitor, pana_la înainte de de_la, peste 5 valute, sau cod de valută invalid.",
"detalii": {
"de_la": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}