Konfigurácia OData API
OData API sprístupňuje archívne dáta D2000 a dáta EDA vektorov ako entitné množiny OData 4.0. OData klienti (Power BI, Excel, vlastné integrácie) môžu dáta dopytovať pomocou štandardných query volieb $filter, $select, $orderby a $top. Implementácia je postavená na Apache Olingo.
Endpointy
OData služba je vystavená na /api/odata a je zabezpečená rovnako ako server-to-server REST API (API kľúč, JWT bearer alebo Basic auth).
Metóda | Cesta | Popis |
|---|---|---|
|
| Service document — zoznam dostupných entitných množín |
|
| Plná CSDL XML schéma |
|
| Archívne dáta |
|
| Dáta EDA vektorov |
Service document vrátený na koreňovej ceste:
{
"@odata.context": "$metadata",
"value": [
{ "name": "ArchiveValues", "url": "ArchiveValues" },
{ "name": "EdaVectorValues", "url": "EdaVectorValues" }
]
}Dopytovanie archívnych dát
GET /api/odata/ArchiveValues
?$filter=archiveName eq 'AR.Temperature'
and timestamp ge 2026-01-01T00:00:00Z
and timestamp le 2026-01-02T00:00:00Z
&$select=timestamp,value,status
&$top=1000
&$orderby=timestamp ascPríklad odpovede:
{
"@odata.context": "$metadata#ArchiveValues",
"value": [
{
"timestamp": "2026-01-01T00:00:00Z",
"value": 23.5,
"status": { "alarmActive": false, "limitHigh": false }
}
]
}Dopytovanie dát EDA vektorov
GET /api/odata/EdaVectorValues
?$filter=vectorCode eq 'EDA_ENERGY_METER_01'
and timestamp ge 2026-01-01T00:00:00Z
and timestamp le 2026-01-31T23:59:59Z
&$select=timestamp,value,statusAutentifikácia
OData endpoint vyžaduje rovnakú autentifikáciu ako server-to-server REST API. Pošlite API kľúč, JWT bearer token alebo Basic autentifikáciu:
curl -H "X-API-Key: my-secret-api-key" \
"https://smartweb.example.com/api/odata/ArchiveValues?\$top=10"Konfigurácia
Žiadna konfigurácia špecifická pre OData nie je potrebná — OData rozhranie je súčasťou štandardného smartweb.jar a sprístupní sa automaticky. Riadenie prístupu zabezpečuje autentifikačná vrstva SmartWebu a prístupový filter REST API (viď Konfigurácia univerzálneho API rozhrania). Aby ste mohli OData používať, uistite sa, že:
Je povolený aspoň jeden mechanizmus server-to-server autentifikácie — API kľúč, OAuth2 JWT alebo Basic auth (viď Konfigurácia autentifikácie).
Je nakonfigurované pripojenie na D2000 (viď Konfigurácia konekcie na D2000) pre archívne dáta a EDA pripojenie (viď Konfigurácia konekcie na EDA Server) pre dáta EDA vektorov.
smartweb:
connections:
- host: d2server.example.com
port: 3120
edaConnection:
connectionMode: DIRECT
connections:
- host: eda-server.example.com
port: 3130
authentication:
authModes:
- AUTH_CREDENTIALS_IN_SESSION
apiKeys:
enabled: true