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 întoarce200cu listă goală — ceea ce NU înseamnă că piaţa n-a avut activitate, ci că perioada n-a fost adusă încă. Câmpulgoluridin 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
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | modul_interzis | Tokenul nu are acces la modulul rutei. |
| 422 | validare | Ruta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat. |
| 429 | cota_depasita | Cota 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."
}
}