...
Tieto oblasti REST API rozhrania sú popísané v nasledujúcich kapitolách.
Obsah |
---|
Autentifikácia
Ako už bolo spomenuté v kapitole Ďalšie funkcie SmartWeb platformy, podporovaný spôsob Podporované spôsoby autentifikácie pre REST API je sú HTTP-BASIC a Api Keys.
Pre HTTP-BASIC . Tento typ autentifikácie sa posiela používateľské meno a heslo priamo v hlavičke každej HTTP požiadavky. To znamená že každý REST API request automaticky aj autentifikuje používateľa. V prípade neúspešnej autentifikácie server vracia v hlavičke odpovede HTTP status 404. Z tohto dôvodu nie je potrebné mať explicitné prihlasovanie do REST API rozhrania cez špeciálnu URL. Napriek tomu je optimálne tú funkciu extrahovať, kvôli aplikáciám v ktorých sa používatelia explicitne prihlasujú a teda aplikácia potrebuje overiť zadané overiť zadané meno a heslo.
Overenie úspešnosti autentifikácie je teda možné odoslaním prázdnej GET požiadavky s HTTP-BASIC autentifikáciou na adresu:
GET https://<doména.sk>/<názov aplikácie>/api/rest/v0/d2/auth/login
Odhlásenie sa realizuje odoslaním prázdnej GET požiadavky s HTTP-BASIC autentifikáciou na adresu:
GET https://<doména.sk>/<názov aplikácie>/api/rest/v0/d2/auth/logout
Pre Api Keys typ autentifikácie sa v HTTP hlavičke "X-API-Key" posiela aplikačný kľuč - vygenerovaný náhodný reťazec, prostredníctvom ktorého je možné sa autentifikovať. Vyhodou tohto spôsobu autentifikácie je, že sa neposiela meno a heslo do D2000 priamo v requeste. Smart Web aplikácia má tento reťazec vo svojej konfigurácii spárovaný s použivateľskym menom a heslom do D2000. Prihlasovacie údaje ako aj aplikačný kľuč sú bezpečne uložené v špeciálnom keystore na disku, vedľa konfiguračného súboru smartweb.json. Správu týchto kľučov je možné editovať cez Smart Web admin konzolu (web aplikáciu) dostupnú na URL: https://<doména.sk>/<názov aplikácie>/admin.
Overenie úspešnosti autentifikácie je teda možné odoslaním prázdnej GET požiadavky s HTTP-BASIC alebo Api Keys autentifikáciou na adresu:
GET https://<doména.sk>/<názov aplikácie>/api/rest/v0/d2/auth/login
Odhlásenie sa realizuje odoslaním prázdnej GET požiadavky s HTTP-BASIC autentifikáciou na adresu:
GET https://<doména.sk>/<názov aplikácie>/api/rest/v0/d2/auth/logout
Info |
---|
Volanie explicitného odhlásenie je odporúčané z |
Info |
Volanie explicitného odhlásenie je odporúčané z dôvodov že SmartWeb server udržuje session prihláseného používateľa REST služby (identifikovaného jeho prihlasovacím menom) až do expirácie sedenia konfigurovateľnej v autentifikačnej časti konfigurácie SmartWeb Platformy. |
...
dostaneme zo servera odpoveď s poľom archívnych hodnôt:
Blok kódu | ||
---|---|---|
| ||
[
[
1503492475090,
23.2
],
[
1503642560209,
23.2
],
[
1503643165774,
23.3
],
...
] | ||
| ||
[
[
1503492475090,
23.2
],
[
1503642560209,
23.2
],
[
1503643165774,
23.3
],
...
] |
Každá archívna hodnota je reprezentovaná kvôli veľkosti prenášanej správy samostatným poľom, pričom prvý prvok poľa je vždy časová známka a druhý samotná hodnota. V prípade definovania ďalších návratových polí parametrom returnFields
sú tieto parametre vrátené v ďalších prvkoch poľa podľa poradia ako boli definované.
Načítavanie hodnôt EDA vektora
V prípade ak je nakonfigurované spojenie na EDA server, dá sa realizovať načitavanie a zápis hodnôt do EDA vektorov.
Načítavanie hodnôt EDA vektora je možné cez GET požiadavku s HTTP hlavičkou Content-Type: application/json
na adresu:
POST https://<doména.sk>/<názov aplikácie>/api/rest/v0/d2/eda/<kód eda vektora>?beginTime=<celé číslo>&endTime=<celé číslo>&period=<text>
Význam jednotlivých parametrov je nasledovný:
Meno parametra | Typ | Povinný | Popis |
---|---|---|---|
beginTime | celé číslo (počet milisekúnd od epochy) | áno | začiatok časového intervalu vyžiadaných hodnôt archívu |
endTime | celé číslo (počet milisekúnd od epochy) | áno | koniec časového intervalu vyžiadaných hodnôt archívu |
period | reťazec alebo číslo identifikujúci prevzorkovaciu periódu | nie | dĺžka intervalu v sekundách pre oversampling dát, ak nie je definovaný vrátia sa originálne dáta |
Napríklad pre nasledujúce HTTP GET volanie:
dostaneme zo servera odpoveď s poľom archívnych hodnôt:
Blok kódu | ||
---|---|---|
| ||
{
"errorCode": "SUCCESS",
"profilingInfo": {
"numDbTaskRequests": 1,
"numDbAccesses": 3
},
"values": [
{
"status": [
"Valid"
],
"value": 999.9,
"time": 1633338999000
},
{
"status": [
"Valid"
],
"value": 100.1,
"time": 1633339000000
}
]
} |
Atribút errorCode identifikuje stav odpovede z EDA servera. Možné hodnoty sú SUCCESS alebo chybové stavy EDA serveraKaždá archívna hodnota je reprezentovaná kvôli veľkosti prenášanej správy samostatným poľom, pričom prvý prvok poľa je vždy časová známka a druhý samotná hodnota. V prípade definovania ďalších návratových polí parametrom returnFields
sú tieto parametre vrátené v ďalších prvkoch poľa podľa poradia ako boli definované.
Volanie D2000 RPC metód
Cez REST rozhranie je možné volať D2000 RPC procedúry napísané v ESL aj v Jave. Volanie ESL RPC procedúr prebieha odoslaním POST požiadavky s HTTP hlavičkou Content-Type: application/json
na jednu z adries:
...