Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
cs:mervis-scada:50-api [2017/06/29 14:52] m.chlupac [API] |
cs:mervis-scada:50-api [2021/04/15 10:33] m.chlupac [api/checkCredentials] |
||
---|---|---|---|
Řádek 2: | Řádek 2: | ||
Mervis SCADA nabízí otevřené REST-like API postavené na JSON a XML formátech dat. Pro kompletní popis API kontaktujte naši [[cs: | Mervis SCADA nabízí otevřené REST-like API postavené na JSON a XML formátech dat. Pro kompletní popis API kontaktujte naši [[cs: | ||
+ | |||
+ | ===== Přehled základních API metod ===== | ||
+ | |||
+ | ^Function^Description| | ||
+ | |||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^api/ | ||
+ | ^/ | ||
+ | |||
+ | |||
===== Příklad ===== | ===== Příklad ===== | ||
- | ==GetHistoryRequest== | + | ====api/ |
**Request** | **Request** | ||
- | * URL: /api/get/history?format=xml | + | * URL: https://scada.mervis.info/ |
* Method: POST | * Method: POST | ||
+ | |||
+ | **Request** | ||
+ | |||
+ | <code javascript> | ||
+ | {" | ||
+ | </ | ||
+ | |||
+ | **Response** | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | * Získaný token **t** je třeba použít místo dvojice jméno/ | ||
+ | |||
+ | ====api/ | ||
+ | |||
+ | **Request** | ||
+ | |||
+ | * URL: / | ||
+ | * Method: POST | ||
+ | * Umožňuje stahovat historii pro více datových bodů | ||
+ | * V ukázkách je vždy za dvěma lomítky uvedený typ property | ||
+ | * V sekci credentials lze místo " | ||
+ | * " | ||
+ | * " | ||
+ | * položky " | ||
+ | |||
<code javascript> | <code javascript> | ||
{ | { | ||
- | " | + | " |
- | "t":" | + | " |
+ | }, | ||
+ | " | ||
+ | "commonSeriesParameters": | ||
+ | "from": "2018-12-01T00: | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Response** | ||
+ | |||
+ | * Dokud je v odpovědi v sekci " | ||
+ | * " | ||
+ | * Values | ||
+ | * v - hodnota | ||
+ | * ts - začátek platnosti hodnoty | ||
+ | * gt - konec platnosti hodnoty | ||
+ | * i - interval, pokud je jiný než uvedená hodnota u celé série | ||
+ | * Meta | ||
+ | * type - typ uložených hodnot - double, string, datetime | ||
+ | * unit - jednotky | ||
+ | * interval - informace o periodě, v jaké by měly být hodnoty v databázi uloženy. Slouží k identifikaci chybějících záznamů. | ||
+ | |||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | **Funkční demo** | ||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | ==== [Deprecated] api/ | ||
+ | |||
+ | **Request** | ||
+ | |||
+ | * URL: / | ||
+ | * Method: POST | ||
+ | |||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
}, | }, | ||
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | |
" | " | ||
" | " | ||
Řádek 30: | Řádek 268: | ||
<code xml> | <code xml> | ||
+ | <?xml version=" | ||
< | < | ||
- | <hist projId=" | + | <hist projId=" |
< | < | ||
< | < | ||
- | <hv ts="2017-05-08T22:26:53.32684Z" gt="2017-05-08T22:31:53.465467Z"> | + | <hv ts="2018-11-02T21:26:08.7936747Z" gt="2018-11-03T20:35:08.8060769Z"> |
- | < | + | < |
</hv> | </hv> | ||
- | <hv ts="2017-05-08T22:36:53.283875Z"> | + | <hv ts="2018-11-03T20:41:09.0100479Z" |
- | < | + | < |
</hv> | </hv> | ||
- | <hv ts="2017-05-08T22:41:53.435042Z"> | + | <hv ts="2018-11-05T11:40:04.0077949Z" |
- | < | + | < |
</hv> | </hv> | ||
- | <hv ts="2017-05-08T22:46:53.711496Z" gt="2017-05-08T23:36:53.776657Z"> | + | <hv ts="2018-11-05T17:28:03.4133447Z" gt="2018-11-05T19:40:03.0246122Z"> |
- | < | + | < |
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </ | ||
+ | <hv ts=" | ||
+ | < | ||
</hv> | </hv> | ||
- | |||
</ | </ | ||
</ | </ | ||
Řádek 53: | Řádek 315: | ||
</ | </ | ||
+ | |||
+ | |||
+ | ====api/ | ||
+ | |||
+ | **Request** | ||
+ | |||
+ | * URL: / | ||
+ | * Method: POST | ||
+ | * Content-Type: | ||
+ | |||
+ | Atribut **i** nastavuje **interval** ([[https:// | ||
+ | |||
+ | V **cred** lze použít i ověření pomocí jména a hesla, ale využití **tokenu** nabízí vyšší výkon. | ||
+ | |||
+ | Všechny časové údaje jsou očekávány v UTC. | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | xmlns: | ||
+ | xmlns: | ||
+ | projId=" | ||
+ | dpId=" | ||
+ | <n2:cred t=" | ||
+ | < | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </hv> | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </hv> | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </hv> | ||
+ | <hv ts=" | ||
+ | < | ||
+ | </hv> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **Response** | ||
+ | |||
+ | * 200 OK | ||
+ | |||
+ | ====api/ | ||
+ | |||
+ | **Request** | ||
+ | |||
+ | * URL: / | ||
+ | * Method: POST | ||
+ | * Content-Type: | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | xmlns: | ||
+ | xmlns: | ||
+ | xmlns: | ||
+ | <n1:cred t=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **Response** | ||
+ | |||
+ | <code xml><? | ||
+ | < | ||
+ | |||
+ | ====api/ | ||
+ | |||
+ | Nejvhodnější způsob vyčtení aktuálních hodnot datových bodů (property " | ||
+ | |||
+ | **Request** | ||
+ | |||
+ | * URL: / | ||
+ | * Method: POST | ||
+ | |||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | **Response** | ||
+ | |||
+ | <code xml><? | ||
+ | <values xmlns: | ||
+ | < | ||
+ | <v projId=" | ||
+ | < | ||
+ | <d id=" | ||
+ | < | ||
+ | <p n=" | ||
+ | < | ||
+ | </p> | ||
+ | </ | ||
+ | </d> | ||
+ | <d id=" | ||
+ | < | ||
+ | <p n=" | ||
+ | < | ||
+ | </p> | ||
+ | </ | ||
+ | </d> | ||
+ | </ | ||
+ | </v> | ||
+ | </ | ||
+ | </ | ||
+ | |||