oneapi
Autentificare
Energie v1 / Piaţa de energie

Producţia pe tip de sursă

Producţia realizată pe tip de sursă, în MW pe fiecare interval: nuclear, hidro, eolian, solar, gaz, cărbune. Cu sursa se cere doar una.

GET
https://oneapi.ro/api/energie/v1/piata/productie

Parametri de interogare

NumeTipDescriereValori acceptate
de_laopțional string | null Începutul ferestrei. Implicit acum 7 zile. ex. 2026-09-05
pana_laopțional string | null Sfârşitul ferestrei. Implicit acum. ex. 2026-09-06
zonaopțional string | null Codul EIC al zonei de ofertare. Implicit România. Singura zonă importată azi e 10YRO-TEL------P; orice altă valoare dă 422, nu o serie goală. Lista e în /piata/acoperire, la zone_ofertare. 10YRO-TEL------P
sursaopțional string | null Un singur cod de producţie, din lista rutei /piata/surse. ex. B16
per_paginaopțional text Câte intervale pe pagină, până la 2000. ex. 500
paginaopțional text Pagina, numărată de la 1. ex. 1

Cum se comportă

  • Istoricul are un gol, şi el se vede la /piata/acoperire. Seria începe în 2015, dar importul de istoric e încă în curs: în prezent lipsesc ~28-30 de luni (2015-03 → 2017-08). O cerere care cade în gol întoarce 200 cu listă goală — ceea ce NU înseamnă că piaţa n-a avut activitate, ci că perioada n-a fost adusă încă. Câmpul goluri din acoperire listează exact lunile care lipsesc, calculat din date, deci se micşorează singur pe măsură ce istoricul se completează.
  • Valoarea e putere medie pe interval (MW), nu energie. Ca să obţii MWh, înmulţeşti cu durata intervalului în ore — sau ceri ruta de sumar, care face exact asta.
  • Etichetele codurilor nu sunt copiate dintr-o listă. Lista oficială ENTSO-E nu e accesibilă programatic, aşa că fiecare cod a fost stabilit empiric: prin comparaţie cu Transelectrica pentru acelaşi moment, prin eliminare pe istoricul din 2015, ori din profilul orar. confirmat se referă la ÎNCADRARE (grupa şi regenerabil/neregenerabil); nume poate fi null şi la un cod confirmat, când dovada ajunge pentru încadrare dar nu pentru un nume de combustibil.
  • Sursa publică şi consumul propriu al unităţilor, ca flux invers. Aici intră doar generarea; consumul intern al centralelor nu se scade şi nu se amestecă cu ea.

La ce folosește

  • Urmăreşti cât a produs eolianul sau fotovoltaicul într-o zi anume, interval cu interval.
  • Legi producţia regenerabilă de intervalele cu preţ negativ, ca să explici de ce apar.
  • Construieşti un profil de producţie pe tip, pentru un model de prognoză.

Structura răspunsului

CâmpTipDescriere
data.serie[].valoare_mw number Puterea medie pe interval, în MW.
data.serie[].sursa.cod string Codul ENTSO-E al tipului de producţie.
data.serie[].sursa.confirmat boolean Dacă eticheta a fost verificată pe date reale.
data.filtru_sursa null Codul de producţie pe care s-a filtrat, dacă s-a cerut unul.
data.serie[].moment string Începutul intervalului, în UTC.
data.fara_date null Prezent (nenul) DOAR când seria e goală, şi spune DE CE: motiv e dupa_acoperire (fereastra cerută e după ultimul punct importat), inainte_de_acoperire sau gol_in_acoperire (lipsă în mijlocul istoricului). acoperire dă capetele reale ale seriei. ⚠️ O serie goală NU înseamnă că piaţa n-a avut activitate.
data.serie[].rezolutie_min integer Durata intervalului, în minute.
data.serie[].sursa.nume string Denumirea sursei. Poate fi null şi la un cod confirmat, dacă dovada a ajuns pentru încadrare, dar nu pentru un nume de combustibil.
data.serie[].sursa.grupa string Gruparea sursei, pentru agregări proprii.
data.serie[].sursa.regenerabila boolean Dacă sursa intră în ponderea regenerabilelor.
data.observatie string De ce valoarea e putere, nu energie.
data.sursa object ENTSO-E Transparency Platform, cu atribuirea obligatorie.
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.

Exemple de răspuns

GEThttps://oneapi.ro/api/energie/v1/piata/productie
{
    "data": {
        "zona": "10YRO-TEL------P",
        "de_la": "2026-09-29 20: 39: 52",
        "pana_la": "2026-10-06 20: 39: 52",
        "filtru_sursa": null,
        "fara_date": null,
        "serie": [
            {
                "moment": "2026-09-29T20: 45: 00+03: 00",
                "rezolutie_min": 15,
                "sursa": {
                    "cod": "B01",
                    "nume": "Biomasă",
                    "grupa": "biomasa",
                    "regenerabila": true,
                    "confirmat": true
                },
                "valoare_mw": 64
            }
        ],
        "observatie": "Valoarea e PUTERE medie pe interval (MW), nu energie. Pentru energie, înmulțește cu durata intervalului — sau folosește ruta de sumar, care o calculează.",
        "sursa": {
            "nume": "ENTSO-E Transparency Platform",
            "url": "https://transparency.entsoe.eu",
            "atribuire": "Date din ENTSO-E Transparency Platform.",
            "licenta": "Reutilizare permisă cu ATRIBUIRE obligatorie către Transparency Platform. Drepturile nu sunt sublicențiabile.",
            "observatie": "Zona `piata` e seria oficială europeană; zona `sen` e instantaneul Transelectrica. Au surse, pași și definiții diferite — cifrele lor nu se compară direct."
        }
    },
    "meta": {
        "paginare": {
            "pagina": 1,
            "per_pagina": 500,
            "total": 1520,
            "pagini": 4
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareCodul sursei nu are forma Bnn ori fereastra e 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": "Codul sursei nu are forma Bnn ori fereastra e inversată.",
        "detalii": {
            "de_la": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}