oneapi
Autentificare
Mediu v1 / Avertizari

Avertizări la un punct

Ce avertizare e activă la un punct anume, nu la nivel de judeţ — util acolo unde avertizarea prinde doar zona montană a judeţului.

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

Parametri de interogare

NumeTipDescriereValori acceptate
latopțional number | null Latitudinea punctului (cu lng). 43 – 49
lngopțional number | null Longitudinea punctului (cu lat). 20 – 30
sirutaopțional integer | null Codul SIRUTA al locului. Exclusiv cu lat+lng. 1
laopțional string | null Momentul la care întrebi. Fără el, acum. ex. 2024-06-15

Cum se comportă

  • Avertizările se emit pe JUDEȚ, nu pe punct. Ruta rezolvă punctul la județul în care cade și întoarce ce e activ acolo. Rezultatul e valabil pentru tot județul, nu pentru locul exact — iar răspunsul o spune, ca nimeni să nu creadă că avem o rezoluție pe care sursa n-o are.
  • Locul se dă în exact una din două forme: siruta, SAU lat+lng. Două deodată se resping.

La ce folosește

  • Afli dacă adresa unui client e într-o zonă sub avertizare, pornind de la coordonate.
  • Verifici un punct de lucru identificat prin SIRUTA, fără să știi în ce județ e.

Structura răspunsului

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

CâmpTipDescriere
punct object Punctul folosit, cu sursa lui (coordonate date direct sau deduse din SIRUTA).
punct.lat number Latitudinea, în grade zecimale (WGS 84).
punct.lng number Longitudinea, în grade zecimale (WGS 84).
punct.sursa string siruta sau coordonate.
judet object Județul în care cade punctul — nivelul la care se emit efectiv avertizările.
judet.cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
judet.nume string Numele, aşa cum îl publică sursa.
moment string Momentul față de care s-a calculat valabilitatea.
acum boolean true dacă n-ai dat la, deci răspunsul e despre prezent.
inregistrari integer Câte avertizări acoperă județul atunci.
nivel_maxim null Cel mai grav nivel la momentul cerut.
avertizari array Câte avertizări am capturat în total.
observatie string Precizare despre cum se citeşte răspunsul: o convenţie de calcul sau o limită a datelor.
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.
avertizari[].identificator Identificatorul CAP, unic la nivel mondial. E cheia cu care ceri detaliul și cu care urmărești aceeași avertizare între cereri.
avertizari[].tip_mesaj Alert, Update sau Cancel. O anulare NU șterge nimic la noi — faptul că o avertizare a existat și a fost retrasă e el însuși informație.
avertizari[].anulata Dacă avertizarea a fost retrasă printr-un mesaj ulterior.
avertizari[].inlocuieste Identificatorii avertizărilor pe care acest mesaj le înlocuiește.
avertizari[].tip Tipul fenomenului: cod numeric plus eticheta sursei (wind, rain, snow-ice…).
avertizari[].nivel Nivelul de conștientizare: cod, culoare (yellow / orange / red) și severitatea CAP. Codul e stabil, eticheta e lizibilă — filtrează pe cod.
avertizari[].urgenta Cât de curând se așteaptă fenomenul (Immediate, Expected, Future).
avertizari[].certitudine Cât de sigur e că se va produce (Observed, Likely, Possible).
avertizari[].titlu Titlul oficial al avertizării, în română, exact cum l-a emis ANM.
avertizari[].descriere Textul avertizării. Netradus și nemodificat de noi.
avertizari[].instructiuni Recomandările emitentului, unde există.
avertizari[].valabilitate.de_la Când începe fenomenul (onset din CAP). Când sursa nu-l dă, se folosește momentul intrării în vigoare.
avertizari[].valabilitate.pana_la Când expiră avertizarea.
avertizari[].valabilitate.stare activa, viitoare, incheiata sau anulata. Se CALCULEAZĂ la fiecare cerere, față de ceas — nu e o coloană care ar putea rămâne în urmă.
avertizari[].valabilitate.ore_ramase Câte ore mai are de trăit avertizarea; null dacă s-a încheiat.
avertizari[].judete Județele acoperite: cod NUTS3 din sursă, denumirea ei a zonei, plus județul nostru cu indicativ auto și SIRUTA.
avertizari[].emis_la Când a fost emisă de ANM.
avertizari[].emitent Cine a emis-o — ANM.
avertizari[].vazuta_prima_data Când am capturat-o NOI prima oară. Diferența față de emis_la arată cât de repede am prins-o.

Exemple de răspuns

GEThttps://oneapi.ro/api/mediu/v1/avertizari/langa?lat=45.70&lng=27.18
{
    "data": {
        "punct": {
            "lat": 45.7,
            "lng": 27.18,
            "sursa": "coordonate"
        },
        "judet": {
            "cod": "VN",
            "nume": "Vrancea"
        },
        "moment": "2026-10-06T23: 39: 45+03: 00",
        "acum": true,
        "inregistrari": 0,
        "nivel_maxim": null,
        "avertizari": [],
        "observatie": "Avertizările se emit pe JUDEȚ, nu pe punct. Punctul a fost rezolvat la județul în care cade, iar rezultatul e valabil pentru tot județul — nu pentru locul exact.",
        "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.
404negasitPunctul nu cade în niciun județ, sau codul SIRUTA nu există.
422validareNiciun loc dat, sau ambele forme deodată.
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": "Niciun loc dat, sau ambele forme deodată.",
        "detalii": {
            "lat": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}