oneapi
Autentificare
Financiar v1 / Registre

Registrele BNR

Cele nouă clase de tip registru, cu câteva mii de înregistrări între ele: licitaţii de piaţă monetară,
emisiuni şi preschimbări de titluri de stat, active eligibile, registrele instituţiilor de credit şi
de plată. Catalogul de serii le exclude, fiindcă n-au forma unei serii temporale — un rând poartă
mai multe câmpuri deodată, iar câmpurile diferă de la o clasă la alta.

Forma fiecărei clase e declarată, nu dedusă. intrari înseamnă că fiecare rând e un eveniment
la data lui — o licitaţie, o înscriere. instantaneu înseamnă lista întreagă, republicată la
fiecare dată: rândurile activelor eligibile sunt aceeaşi listă de circa 114 poziţii,
repetată la fiecare dată publicată. Citite ca istoric, ar părea tot atâtea evenimente.

Două clase au deja rută dedicată, unde aceleaşi date vin traduse în structuri cu nume:
ruta_dedicata o spune, ca nimeni să nu reimplementeze ce e deja făcut.

Diacriticele lipsesc la sursă în două registre — diacritice_pierdute le marchează. 35 din 193
de înregistrări la instituţiile de plată şi 13 din 75 la cele de credit conţin ? în loc de ş sau
ţ. Verificat pe artefactul brut: antetul aceleiaşi clase are diacriticele corecte în acelaşi
fişier, deci nu e transportul nostru. Nu le reparăm: o reconstrucţie automată ar nimeri „opera?iuni"
şi ar strica un nume propriu la prima ocazie.

GET
https://oneapi.ro/api/financiar/v1/registre

Parametri de interogare

Ruta nu acceptă parametri de interogare.

Cum se comportă

  • Cele nouă clase de tip registru, cu câteva mii de înregistrări între ele (numărul exact, pe clasă, în răspuns): licitaţii de piaţă monetară (repo, reverse repo, depozite), emisiuni şi preschimbări de titluri de stat, active eligibile, registrele instituţiilor de credit şi de plată.
  • Catalogul de serii le exclude fiindcă n-au forma unei serii temporale: un rând poartă mai multe câmpuri deodată, iar câmpurile diferă de la o clasă la alta. meta.registre_excluse de la /serii numără cei 145 de descriptori de câmp lăsaţi afară; aici sunt înregistrările lor.
  • Forma fiecărei clase e declarată, nu dedusă. intrari înseamnă că fiecare rând e un eveniment la data lui — o licitaţie, o înscriere în registru. instantaneu înseamnă lista întreagă, republicată la fiecare dată: rândurile activelor eligibile sunt aceeaşi listă de circa 114 poziţii, repetată la fiecare dată publicată — şase date au deja aproape 700 de rânduri. Citite ca istoric, ar părea tot atâtea evenimente.
  • Forma s-ar putea ghici din media rândurilor pe zi — şapte clase au între 1 şi 3,6, iar 1147 are 114 — dar o euristică ar eticheta greşit prima clasă care se abate, iar eticheta ajunge în răspuns ca fapt. Nouă intrări scrise de mână costă mai puţin. Clasa 1987 (emitenţii de monedă electronică) a fost chiar cazul invers: şase înscrieri, câte una pe dată, deci arăta ca o serie — iar până pe 16 sep aşa şi era importată, cu CUI-urile servite drept valori.
  • Două clase au deja rută dedicată, unde aceleaşi date vin traduse în structuri cu nume: emisiunile de titluri la /titluri-stat/emisiuni, instituţiile de credit la /banci. ruta_dedicata o spune, ca nimeni să nu reimplementeze ce e deja făcut.
  • Diacriticele lipsesc la sursă în două registre. Circa o cincime din înregistrări, atât la instituţiile de plată, cât şi la cele de credit, conţin ? în loc de ş sau ţ — „opera?iuni". În celelalte şase: zero. Verificat pe artefactul brut: antetul aceleiaşi clase are diacriticele corecte în acelaşi fişier, deci nu e transportul nostru. diacritice_pierdute le marchează. Nu le reparăm: o reconstrucţie automată ar nimeri „opera?iuni" şi ar strica un nume propriu la prima ocazie.

La ce folosește

  • Ce clase de registru există şi cât acoperă fiecare.
  • Alegerea clasei înainte de a-i cere înregistrările.
  • Verificarea dacă datele dorite au deja o rută dedicată.

Structura răspunsului

CâmpTipDescriere
data.clase[] object[]
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.clase integer
meta.inregistrari number
meta.nota_forma string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_rute string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_diacritice string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.catalogul_de_serii string
data.clase[].cid integer Identificatorul clasei la BNR — se dă mai departe la /registre/{cid}.
data.clase[].campuri integer Câte câmpuri are un rând al clasei.
data.clase[].inregistrari integer Câte rânduri sunt. La instantaneu, NU e un număr de evenimente.
data.clase[].zile integer Câte date distincte poartă clasa.
data.clase[].forma string intrari sau instantaneu. null la o clasă apărută după scrierea rutei — forma nu se presupune.
data.clase[].ruta_dedicata null Unde aceleaşi date vin deja traduse, când există o astfel de rută.
data.clase[].diacritice_pierdute boolean true acolo unde sursa publică ? în loc de ş/ţ.

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/registre
{
    "data": {
        "clase": [
            {
                "cid": 803,
                "denumire": "Operaţiuni de piaţă monetară ale BNR - Licitaţii repo",
                "campuri": 6,
                "inregistrari": 204,
                "zile": 201,
                "acoperire": {
                    "de_la": "2001-12-17",
                    "pana_la": "2025-06-30"
                },
                "forma": "intrari",
                "nota": "Câte o licitaţie repo pe zi de şedinţă.",
                "ruta_dedicata": null,
                "diacritice_pierdute": false
            }
        ]
    },
    "meta": {
        "sursa": "Banca Naţională a României — baza de date interactivă.",
        "clase": 9,
        "inregistrari": 4823,
        "nota_forma": "`forma` e declarată de mână pentru fiecare clasă, nu dedusă dintr-o euristică: la `instantaneu`, numărul de înregistrări NU e un număr de evenimente, ci lista republicată de mai multe ori.",
        "nota_rute": "`ruta_dedicata` arată unde aceleaşi date vin deja traduse în structuri cu nume.",
        "nota_diacritice": "`diacritice_pierdute` marchează registrele în care sursa publică `?` în loc de `ş`/`ţ`. Le declarăm, nu le reparăm prin ghicit.",
        "catalogul_de_serii": "/financiar/v1/serii"
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareRuta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat.
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": "Ruta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat."
    }
}