oneapi
Autentificare
Mediu v1 / Avertizari

Statistici de avertizări

Cât de des şi cât de grav: numărul de avertizări pe judeţ, pe fenomen şi pe nivel, într-un interval. Pentru a compara expunerea zonelor între ele.

GET
https://oneapi.ro/api/mediu/v1/avertizari/statistici

Parametri de interogare

NumeTipDescriereValori acceptate
de_laopțional string | null Începutul intervalului (ISO 8601). Implicit, acum 30 de zile. ex. 2026-01-01ex. 2024-06-15
pana_laopțional string | null Sfârșitul intervalului. Implicit, acum. ex. 2024-06-15
judetopțional string | null Indicativul auto al județului (ex. CJ). max 4 car.
sirutaopțional integer | null Codul SIRUTA al unui UAT — se rezolvă la județul lui. 1
nivelopțional integer | null Doar nivelul exact (2 galben, 3 portocaliu, 4 roșu). 1 – 4
nivel_minopțional integer | null Doar de la nivelul ăsta în sus — filtrul util pentru alertare. 1 – 4
tipopțional integer | null Codul tipului de fenomen, din /avertizari/nomenclator. 1 – 20
include_anulateopțional boolean | null 1 include și avertizările retrase. Implicit sunt excluse. ex. true

Cum se comportă

  • Produsul care apare din ACUMULARE: sursa n-are istoric, deci n-are cum să răspundă la „de câte ori".
  • zile_cumulate nu e „câte zile a fost județul sub avertizare". Însumează ferestrele de valabilitate tăiate la intervalul cerut, deci două avertizări simultane într-o zi contează ca două. E timp de avertizare acumulat, nu zile calendaristice distincte.
  • Ferestrele se taie la capetele intervalului: o avertizare care începe înainte de de_la contribuie doar cu partea care cade înăuntru.
  • portocalii_sau_mai_rau e cifra utilă pentru risc: codul galben e frecvent și rareori operațional.

La ce folosește

  • Compari județele după cât de des sunt sub avertizare, pentru evaluarea unui risc operațional.
  • Documentezi expunerea unei zone la vreme severă într-un studiu sau într-o poliță.
  • Vezi ce tip de fenomen domină avertizările dintr-un sezon.

Structura răspunsului

Toate câmpurile de mai jos sunt în data.

CâmpTipDescriere
de_la string Începutul intervalului.
pana_la string Sfârșitul intervalului.
pe_judet[].judet_cod string Indicativul auto al județului.
pe_judet[].judet string Numele județului.
pe_judet[].avertizari integer Câte avertizări distincte l-au acoperit.
pe_judet[].portocalii_sau_mai_rau integer Câte au fost de nivel 3 sau mai grav.
pe_judet[].nivel_maxim integer Cel mai grav nivel atins în interval.
pe_judet[].zile_cumulate number Timp de avertizare acumulat, în zile. Vezi observația — nu sunt zile calendaristice distincte.
pe_tip[].tip_cod integer Codul tipului de fenomen.
pe_tip[].tip string Eticheta tipului.
pe_tip[].nivel_cod integer Codul nivelului.
pe_tip[].nivel string Culoarea nivelului.
pe_tip[].avertizari integer Câte avertizări de tipul și nivelul astea au fost în interval.
observatie string Precizare despre cum se citeşte răspunsul: o convenţie de calcul sau o limită a datelor.
acoperire object De când începe istoricul nostru. Nu există date înainte: sursa nu ține arhivă, iar noi acumulăm de la primul import.
acoperire.istoricul_incepe_la string
acoperire.observatie string Precizare despre cum se citeşte valoarea de alături.
sursa object Sursa: MeteoAlarm (EUMETNET), canalul prin care ANM își distribuie avertizările în format CAP standardizat. Include emitentul și licența.
sursa.nume string Denumirea sursei oficiale.
sursa.url string Adresa publică a sursei.
sursa.emitent string Instituţia care a emis informaţia.
sursa.licenta string Licenţa sub care sursa permite reutilizarea.
sursa.observatie string Ce trebuie ştiut despre sursă înainte de a folosi datele.

Exemple de răspuns

GEThttps://oneapi.ro/api/mediu/v1/avertizari/statistici
{
    "data": {
        "de_la": "2026-09-06 20: 39: 45",
        "pana_la": "2026-10-06 20: 39: 45",
        "pe_judet": [
            {
                "judet_cod": "CV",
                "judet": "Covasna",
                "avertizari": 2,
                "portocalii_sau_mai_rau": 0,
                "nivel_maxim": 2,
                "zile_cumulate": 0.03
            }
        ],
        "pe_tip": [
            {
                "tip_cod": 1,
                "tip": "wind",
                "nivel_cod": 2,
                "nivel": "yellow",
                "avertizari": 2
            }
        ],
        "observatie": "`zile_cumulate` însumează ferestrele de valabilitate tăiate la intervalul cerut, deci DOUĂ avertizări simultane într-o zi contează ca două. Nu e „câte zile a fost județul sub avertizare\", ci cât timp de avertizare s-a acumulat.",
        "acoperire": {
            "istoricul_incepe_la": "2026-09-07 01: 57: 40+03",
            "observatie": "Nu există date înainte de această dată: sursa nu păstrează arhivă, iar noi acumulăm de la primul import."
        },
        "sursa": {
            "nume": "MeteoAlarm (EUMETNET) — avertizări emise de Administrația Națională de Meteorologie",
            "url": "https://meteoalarm.org",
            "emitent": "Administrația Națională de Meteorologie (ANM)",
            "licenta": "MeteoAlarm: CC BY 4.0, cu atribuire către MeteoAlarm și ANM.",
            "observatie": "Avertizarea e emisă de ANM; MeteoAlarm e canalul EUMETNET prin care e distribuită în format CAP standardizat. Textul e cel oficial al ANM, netradus și nemodificat de noi."
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareUn parametru nedeclarat ori o valoare care nu trece validarea (de_la, pana_la, judet, siruta, nivel, nivel_min, tip, include_anulate). Câmpul vinovat e în detalii.
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": "Un parametru nedeclarat ori o valoare care nu trece validarea (de_la, pana_la, judet, siruta, nivel, nivel_min, tip, include_anulate). Câmpul vinovat e în detalii.",
        "detalii": {
            "de_la": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}