oneapi
Autentificare
Financiar v1 / Serii

Valorile unei serii BNR

Valorile unei serii, cronologic, cu filtru opţional pe interval de date. Paginat — unele serii au
peste 7.000 de valori.

perioada e eticheta originală a observaţiei aşa cum o publică BNR (ex. 2019-T2), iar data e
ancorarea ei pe prima zi a perioadei, ca seriile lunare şi trimestriale să fie comparabile cu cele
zilnice.

GET
https://oneapi.ro/api/financiar/v1/serii/{cod}/valori

Parametri de cale

NumeTipDescriereExemplu
codobligatoriu string Codul seriei din baza de date interactivă a BNR (ex. AEDZ_DEN).

Parametri de interogare

NumeTipDescriereValori acceptate
de_laopțional string | null Opţional, YYYY-MM-DD. ex. 2023-01-01
pana_laopțional string | null Opţional, YYYY-MM-DD. ex. 2024-12-31
paginaopțional integer | null Paginarea vine din query prin Paginare::fromRequest; fără regulile astea un
per_pagina=abc s-ar fi transformat tăcut într-o pagină de un rând, în loc de 422.
1
per_paginaopțional integer | null Implicit 100, maxim 1000. 1

Cum se comportă

  • Valorile unei serii, în ordine cronologică, cu filtru opţional pe interval. Paginat: unele serii au peste 7.000 de observaţii.
  • data şi perioada sunt lucruri diferite. perioada e eticheta originală publicată de BNR (2019-T2, 2019 M04), iar data e ancorarea ei pe PRIMA ZI a perioadei. Ancorarea e ce face comparabile seriile trimestriale cu cele zilnice; eticheta e ce permite confruntarea cu publicaţia BNR.
  • Paginare implicită 100, maxim 1000 pe pagină.
  • pagina şi per_pagina se validează; peste 1.000 se reduce automat la 1.000, iar meta.paginare dă valoarea efectivă.

La ce folosește

  • Descărcarea unei serii pentru analiză.
  • Extragerea unui interval dintr-o serie lungă.

Structura răspunsului

CâmpTipDescriere
data.cod string Codul seriei, aşa cum a fost cerut.
data.nume string Denumirea seriei la BNR.
data.unitate string Unitatea de măsură — citeşte-o înainte de a pune valorile pe un grafic.
data.periodicitate string Cât de des se publică seria (zilnic, lunar, trimestrial…).
data.de_la null Prima perioadă cu valoare, sau null dacă seria e goală.
data.pana_la null Ultima perioadă cu valoare.
data.valori array Valorile seriei, pe perioade.
meta.sursa string Sursa datelor.
meta.paginare object Pagina curentă, câte pe pagină, totalul şi numărul de pagini.
meta.paginare.pagina integer Pagina curentă, numărată de la 1.
meta.paginare.per_pagina integer Câte înregistrări are o pagină.
meta.paginare.total integer Totalul înregistrărilor care se potrivesc, dincolo de pagina curentă.
meta.paginare.pagini integer Câte pagini are lista.
meta.nota string Diferenţa dintre data şi perioada.
data.valori[].data string Perioada ancorată pe prima ei zi — foloseşte-o la sortare şi la aliniere.
data.valori[].perioada string Eticheta originală publicată de BNR.
data.valori[].valoare string Valoarea publicată, în unitatea din data.unitate.

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/serii/AEDZ_DEN/valori
{
    "data": {
        "cod": "AEDZ_DEN",
        "nume": "Monedă",
        "unitate": "(txt)",
        "periodicitate": "necunoscut",
        "de_la": null,
        "pana_la": null,
        "valori": []
    },
    "meta": {
        "sursa": "Banca Naţională a României — baza de date interactivă.",
        "paginare": {
            "pagina": 1,
            "per_pagina": 100,
            "total": 0,
            "pagini": 0
        },
        "nota": "`data` e ancorarea perioadei pe prima ei zi; `perioada` e eticheta originală publicată de BNR."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitnegasit, nu_e_serie_temporala, sau serie_retrasa — codul există în catalogul BNR, dar clasa lui e retrasă din API fiindcă valorile publicate acolo nu sunt observaţii.
422validareCod malformat sau interval inversat.
429cota_depasitaCota 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": "Cod malformat sau interval inversat.",
        "detalii": {
            "cod": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}