oneapi
Autentificare
Energie v1 / Piaţa de energie

Acoperirea seriei de piaţă

De când până când avem seria pieţei, cu ce rezoluţii şi unde are goluri. De citit înainte de a cere un interval lung, ca să nu iei o lipsă de date drept zero.

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

Parametri de interogare

Ruta nu acceptă parametri de interogare.

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ă.
  • Seria poate depăşi momentul prezent. Preţul de zi-următoare se publică în avans, deci ultimul interval din răspuns e adesea o oră care încă nu s-a consumat. Nu e o eroare şi nu e o prognoză de-a noastră: e cotaţia fermă, publicată de bursă înainte de livrare. Consecinţa practică: o fereastră care se termină „acum" poate amesteca ore deja consumate cu ore încă nelivrate, iar o medie peste ea le pune la un loc. Dacă ai nevoie strict de realizat, taie fereastra la ora curentă.
  • Rută liberă, ca toate rutele de acoperire de pe platformă: îţi spune ce se poate cere înainte să ceri.
  • Amestecul de intervale orare şi de sfert de oră e real, nu o inconsecvenţă: piaţa a trecut la sfertul de oră, iar seriile mai vechi rămân aşa cum au fost publicate. Orice medie calculată peste amestec trebuie ponderată cu durata.

La ce folosește

  • Verifici ce interval poţi cere înainte de a construi o cerere mare.
  • Vezi câte intervale sunt orare şi câte la sfert de oră, ca să-ţi ponderezi corect propriile medii.
  • Monitorizezi prospeţimea seriei fără să consumi o rută cu gating.

Structura răspunsului

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

CâmpTipDescriere
preturi.primul string|null Primul moment cu preţ, în UTC.
preturi.intervale_15min integer Câte intervale sunt la sfert de oră.
coduri_neconfirmate array Codurile fără etichetă confirmată.
preturi.goluri[] array Lunile care lipsesc între primul şi ultimul punct: {de_la, pana_la, luni}.
preturi.inregistrari integer Câte intervale de preţ există în bază.
preturi.zone integer Câte zone de ofertare acoperă seria de preţ.
preturi.ultimul string Ultimul moment cu preţ.
preturi.intervale_orare integer Câte intervale sunt orare.
productie object Aceleaşi cifre, pentru seria de producţie.
consum object Aceleaşi cifre, pentru seria de consum.
schimburi object Aceleaşi cifre, pentru fluxurile pe graniţe.
zone_ofertare array Zonele de ofertare importate — singurele valori acceptate de parametrul zona.
zone_ofertare[].eic string Codul EIC al zonei.
zone_ofertare[].denumire string Ţara zonei.
granite[].vecin string Codul de ţară al graniţei publicate.
granite[].denumire string Denumirea vecinului.
granite[].eic string Codul EIC al zonei vecine.
coduri_de_productie array Toate codurile de producţie întâlnite în date.
observatie string De ce amestecul de rezoluţii e real şi ce implică pentru medii.
sursa object ENTSO-E Transparency Platform, cu atribuirea obligatorie.

Exemple de răspuns

GEThttps://oneapi.ro/api/energie/v1/piata/acoperire
{
    "data": {
        "preturi": {
            "inregistrari": 129623,
            "zone": 1,
            "primul": "2015-01-01 01: 00: 00+02",
            "ultimul": "2026-10-06 00: 45: 00+03",
            "intervale_15min": 35520,
            "intervale_orare": 94103,
            "goluri": []
        },
        "productie": {
            "inregistrari": 2321688,
            "zone": 1,
            "primul": "2015-01-05 00: 00: 00+02",
            "ultimul": "2026-10-01 10: 30: 00+03",
            "intervale_15min": 1843243,
            "intervale_orare": 478445,
            "goluri": []
        },
        "consum": {
            "inregistrari": 251491,
            "zone": 1,
            "primul": "2015-01-05 23: 00: 00+02",
            "ultimul": "2026-10-01 10: 30: 00+03",
            "intervale_15min": 198332,
            "intervale_orare": 53159,
            "goluri": []
        },
        "schimburi": {
            "inregistrari": 1183966,
            "zone": 1,
            "primul": "2015-01-01 02: 00: 00+02",
            "ultimul": "2026-10-04 22: 00: 00+03",
            "intervale_15min": 396630,
            "intervale_orare": 787336,
            "goluri": []
        },
        "zone_ofertare": [
            {
                "eic": "10YRO-TEL------P",
                "denumire": "România"
            }
        ],
        "granite": [
            {
                "vecin": "BG",
                "denumire": "Bulgaria",
                "eic": "10YCA-BULGARIA-R"
            }
        ],
        "coduri_de_productie": [
            "B01",
            "B02",
            "B04",
            "B05",
            "B11",
            "B12",
            "B14",
            "B16",
            "B19",
            "B25"
        ],
        "coduri_neconfirmate": [],
        "observatie": "Amestecul de intervale de 15 minute și orare e real, nu o inconsecvență: piața a trecut la sfertul de oră, iar seriile vechi rămân orare. Orice medie trebuie ponderată cu durata. `goluri` listează lunile care LIPSESC între primul şi ultimul punct — o cerere căzută în ele întoarce 200 cu listă goală, ceea ce nu înseamnă că piaţa n-a avut activitate, ci că perioada n-a fost încă importată.",
        "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."
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403modul_interzisTokenul nu are acces la modulul rutei.
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."
    }
}