Financiar v1 / CursIstoricPerioada
Curs mediu în lei vechi
Media oficială BNR în ROL a unei luni (?luna=AAAA-LL, 1991–2005) ori a unui an (?an=AAAA, 1985–2005).
Perioada e obligatorie: seria s-a încheiat la denominare, deci nu există o perioadă curentă.
Lunar: 1991-01 → 2005-06 la dolar, 1999-01 încolo la euro. Optzeci şi cinci dintre aceste luni sunt
dinaintea seriei zilnice, care începe în 1998-01-05: pentru ele valoarea publicată e singura sursă, iar
verificare.disponibila e false, cu motivul scris. Din 1998 încolo răspunsul arată alături media
recalculată din cotaţiile zilnice şi diferenţa. Fiecare cifră vine şi în lei noi, împărţită la 10.000.
GET
https://oneapi.ro/api/financiar/v1/curs-istoric/mediu
Parametri de interogare
NumeTipDescriereValori acceptate
lunaopțional
string | null
O lună,
AAAA-LL, între 1991-01 şi 2005-06. Nu se trimite împreună cu an.
ex. 2000-06
anopțional
integer | null
Un an,
AAAA, între 1985 şi 2005.
1985 – 2005
valutalistăopțional
text
Opţional,
USD sau EUR, separate prin virgulă. Fără el, ambele.
ex. USD
Cum se comportă
- Media oficială BNR în lei vechi a unei luni (
?luna=AAAA-LL, 1991-01 → 2005-06) ori a unui an (?an=AAAA, din 1985). Una dintre ele e obligatorie: seria s-a încheiat la denominare, deci nu există o perioadă curentă de pus implicit. - Media lunară a cursului în lei vechi, aşa cum o publică BNR. Dolarul din 1991-01, euro din 1999-01, amândoi până în 2005-06 — ultima lună dinaintea denominării.
- Optzeci şi cinci dintre aceste luni sunt dinaintea seriei zilnice, care începe în 1998-01-05. Pentru ele valoarea publicată e singura sursă care există, nu doar în acest API: nu se poate recalcula din nimic.
verificare.disponibilaefalse, cu motivul scris, în loc să lipsească fără explicaţie. - Din 1998 încolo răspunsul arată alături media recalculată din cotaţiile zilnice în ROL, numărul de zile bancare care au intrat în ea şi diferenţa — verificat, se închide.
- Fiecare cifră vine şi ca
echivalent_ron, împărţită la 10.000: rata denominării de la 1 iulie 2005. Aşa se pot pune pe acelaşi grafic cele două epoci, între care sunt patru ordine de mărime. - Rută separată de
/curs-mediu, aşa cum/curs-istorice separată de/curs: altă unitate, altă epocă monetară, alt set de valute. Pe perioadă, în lei vechi, sursa publică doar dolarul şi euro — cotaţiile zilnice acoperă treizeci de valute, la/curs-istoric/interval. - Media anuală a cursului în lei vechi. Dolarul din 1985 — cea mai adâncă dată din tot modulul — euro din 1999, amândoi până în 2005.
- E media celor douăsprezece medii lunare publicate, nu a cotaţiilor zilnice: aceeaşi convenţie ca în epoca leului nou. Verificat pe anii cu toate componentele — 14 din 14 la dolar, 6 din 6 la euro. Componentele se întorc în
construita_din, cu media lor recalculată şi diferenţa. - Pentru anii de dinainte de 1991 componentele lunare nu există, iar
construita_din.disponibilaefalsecu motivul scris. Paisprezece ani — 1985–1998 la dolar — n-au nici măcar seria lunară sub ei. - Anul 2005 e un caz aparte, şi ruta îl marchează în loc să-l compună. Leul s-a denominat la 1 iulie, deci în lei vechi există numai şase luni; dar cifra anuală publicată în ROL acoperă tot anul — e media în lei noi, exprimată în lei vechi. Măsurat: 29.136,55 faţă de 2,9137 × 10.000, diferenţa fiind rotunjirea celei de-a patra zecimale. Media celor şase luni în ROL ar da 28.522,38, cu 614 lei mai puţin. Cine ar compune anul din componentele lui ar obţine altă cifră decât cea oficială.
- Cifrele spun singure ce s-a întâmplat: 17,14 lei/dolar în 1985, 76,47 în 1991, 1.655 în 1994, peste 32.000 în 2004.
La ce folosește
- Deflatarea unei sume din anii ’90 la cursul lunii ei.
- Reconstituirea unui contract vechi exprimat în dolari.
- Seria lungă a deprecierii leului, dinaintea oricărei serii zilnice.
- Serii lungi de depreciere a leului, din 1985 încoace.
- Conversia unui bilanţ anual vechi la cursul mediu oficial al anului.
- Punctul de plecare al oricărei analize de inflaţie pe termen lung.
Structura răspunsului
CâmpTipDescriere
data.perioada
string
Perioada la care se referă valoarea.
data.de_la
string
Începutul intervalului acoperit de răspuns.
data.pana_la
string
Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.epoca
string
data.fel
string
data.unitate
string
Unitatea de măsură a valorilor. Citeşte-o înainte de a le pune pe un grafic sau de a le aduna.
data.valute[].valuta
string
Codul ISO 4217 al valutei.
data.valute[].eticheta
string
Eticheta afişabilă a valorii — versiunea citibilă a codului de alături.
data.valute[].valoare
string
Cifra publicată, în lei vechi pentru o unitate de valută.
data.valute[].echivalent_ron
string
Aceeaşi cifră în lei noi, împărţită la 10.000.
data.valute[].verificare
object
Media recalculată din cotaţiile zilnice, cu numărul de zile şi diferenţa — sau motivul pentru care martorul nu există.
data.valute[].verificare.disponibila
boolean
data.valute[].verificare.metoda
string
data.valute[].verificare.zile_cotate
integer
data.valute[].verificare.calculat
string
data.valute[].verificare.diferenta
string
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.nota_martor
string
Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_denominare
string
Denominarea din 2005 (1 leu nou = 10.000 lei vechi) şi ce înseamnă pentru comparaţii.
meta.zilnic
string
meta.epoca_urmatoare
string
meta.fara_date
data e null, iar aici stă motivul. Cotaţia există la sursă, dar importul nostru e în urmă; răspunsul spune până când avem date.
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-istoric/mediu?luna=2000-06&valuta=USD
{
"data": {
"perioada": "2000-06",
"de_la": "2000-06-01",
"pana_la": "2000-06-30",
"epoca": "ROL",
"fel": "mediu",
"unitate": "ROL pentru o unitate de valută",
"valute": [
{
"valuta": "USD",
"eticheta": "dolarul SUA",
"valoare": "21030.640000",
"echivalent_ron": "2.103064",
"verificare": {
"disponibila": true,
"metoda": "media aritmetică a cotaţiilor zilnice",
"zile_cotate": 22,
"calculat": "21030.63",
"diferenta": "0.01"
}
}
]
},
"meta": {
"sursa": "BNR — cursul de schimb, serii lunare în lei vechi (clasa 703).",
"acoperire": {
"de_la": "1991-01",
"pana_la": "2005-06"
},
"nota_martor": "Media oficială e media aritmetică a cotaţiilor zilnice. Cotaţiile în lei vechi încep în 1998-01-05; pentru lunile de dinainte valoarea publicată e singura sursă, iar `verificare` o spune.",
"nota_denominare": "`echivalent_ron` e cifra împărţită la 10.000, rata denominării din 2005-07-01.",
"zilnic": "Cotaţiile zi cu zi ale aceleiaşi luni: /financiar/v1/curs-istoric/interval?de_la=2000-06-01&pana_la=2000-06-30",
"epoca_urmatoare": "Din iulie 2005, în lei noi: /financiar/v1/curs-mediu?luna=AAAA-LL."
}
}
GEThttps://oneapi.ro/api/financiar/v1/curs-istoric/mediu?an=1999
{
"data": {
"perioada": "1999",
"an": 1999,
"epoca": "ROL",
"fel": "mediu",
"unitate": "ROL pentru o unitate de valută",
"valute": [
{
"valuta": "USD",
"eticheta": "dolarul SUA",
"valoare": "15332.930000",
"echivalent_ron": "1.533293",
"construita_din": {
"disponibila": true,
"metoda": "media celor douăsprezece medii lunare publicate",
"luni": {
"1999-01": "11353.600000",
"1999-02": "12271.000000",
"1999-03": "14053.520000",
"1999-04": "14792.620000",
"1999-05": "15237.810000",
"1999-06": "15756.500000",
"1999-07": "15920.950000",
"1999-08": "16100.950000",
"1999-09": "16359.450000",
"1999-10": "16705.570000",
"1999-11": "17446.730000",
"1999-12": "17996.430000"
},
"calculat": "15332.92",
"diferenta": "0.01"
}
}
]
},
"meta": {
"sursa": "BNR — cursul de schimb, serii anuale în lei vechi (clasa 706).",
"acoperire": {
"de_la": 1985,
"pana_la": 2005
},
"nota_constructie": "Media anuală e media celor douăsprezece medii lunare publicate, nu a cotaţiilor zilnice — aceeaşi convenţie ca în epoca leului nou.",
"nota_denominare": "`echivalent_ron` e cifra împărţită la 10.000, rata denominării din 2005-07-01.",
"lunar": "Componentele: /financiar/v1/curs-istoric/mediu?luna=AAAA-LL.",
"epoca_urmatoare": "Din 2005 încolo, în lei noi: /financiar/v1/curs-mediu?an=AAAA."
}
}
GEThttps://oneapi.ro/api/financiar/v1/curs-istoric/mediu?an=2000&valuta[]=USD
{
"data": {
"perioada": "2000",
"an": 2000,
"epoca": "ROL",
"fel": "mediu",
"unitate": "ROL pentru o unitate de valută",
"valute": [
{
"valuta": "USD",
"eticheta": "dolarul SUA",
"valoare": "21692.740000",
"echivalent_ron": "2.169274",
"construita_din": {
"disponibila": true,
"metoda": "media celor douăsprezece medii lunare publicate",
"luni": {
"2000-01": "18352.550000",
"2000-02": "18701.710000",
"2000-03": "19207.090000",
"2000-04": "19758.500000",
"2000-05": "20393.180000",
"2000-06": "21030.640000",
"2000-07": "21601.380000",
"2000-08": "22421.610000",
"2000-09": "23601.710000",
"2000-10": "24537.860000",
"2000-11": "25102.770000",
"2000-12": "25603.830000"
},
"calculat": "21692.73",
"diferenta": "0.01"
}
}
]
},
"meta": {
"sursa": "BNR — cursul de schimb, serii anuale în lei vechi (clasa 706).",
"acoperire": {
"de_la": 1985,
"pana_la": 2005
},
"nota_constructie": "Media anuală e media celor douăsprezece medii lunare publicate, nu a cotaţiilor zilnice — aceeaşi convenţie ca în epoca leului nou.",
"nota_denominare": "`echivalent_ron` e cifra împărţită la 10.000, rata denominării din 2005-07-01.",
"lunar": "Componentele: /financiar/v1/curs-istoric/mediu?luna=AAAA-LL.",
"epoca_urmatoare": "Din 2005 încolo, în lei noi: /financiar/v1/curs-mediu?an=AAAA."
}
}
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. |
| 404 | dupa_denominare | Luna e de după 2005-06; răspunsul trimite la /curs-mediu. negasit — valuta cerută n-are valoare în luna aceea (euro nu există înainte de 1999). |
| 422 | validare | Perioadă lipsă, luna şi an trimise împreună, lună în afara 1991–2005 ori an în afara 1985–2005; pentru perioadele de după denominare, /curs-mediu. valuta_necunoscuta — pe perioadă se publică doar USD şi EUR. |
| 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": "Perioadă lipsă, luna şi an trimise împreună, lună în afara 1991–2005 ori an în afara 1985–2005; pentru perioadele de după denominare, /curs-mediu. valuta_necunoscuta — pe perioadă se publică doar USD şi EUR.",
"detalii": {
"luna": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}