UPOZORNĚNÍ
Příklady v blocích ve stylu kódu mohou obsahovat jinou adresu URL. Musíte ji změnit podle adresy URL vašeho prodejce (např. cloud.camstreamer.com).
Vytváření a používání tokenů API
Autorizace
Veškerá komunikace se serverem API musí být autorizována prostřednictvím přístupového tokenu. Platný token musí být vložen do hlavičky každého volání API. Token může vytvořit uživatel s plnými přístupy právy.
- Ujistěte se, že váš účet má plná přístupová práva.
- Pokud je váš účet omezen, nebudete moci zobrazit položku nabídky API.
- V takovém případě požádejte správce, aby vám udělil plná přístupová práva k účtu.
- Stiskněte ikonu uživatele v pravém horním rohu a vyberte možnost API.
- Stisknutím tlačítka Vytvořit token API přidáte nový přístupový token a přístupová práva k němu.
- Token použijte v záhlaví každého volání API.
Autorizační hlavička
"Authorization : Bearer TOKEN”
Příklad autorizace
curl -X POST -H 'Authorization: Bearer TOKEN' -H "Content-Type: application/json" --data-binary '{"query":"{cameraList{name}}"}' https://system2.netrex.cz/api/graphql.php
Úvod do GraphQL API
Portál využívá k přístupu k rozhraní API jazyk GraphQL , který je alternativou k rozšířenějšímu modelu REST. Server interpretuje řetězec dotazu a vrací odpověď s daty v požadovaném formátu. Poskytuje komplexní a jasný popis dat v rozhraní API a dává klientským aplikacím možnost vyžádat si přesně ta data, která potřebují.
GraphQL používá dva typy operací. Operace dotazu se používají ke čtení dat. Mutace slouží ke změně dat. Jednotlivé operace dotazů a mutací se odesílají v požadavku koncového bodu POST. Za adresu portálu přidejte„api/graphql.php“.
Koncový bod zůstává konstantní bez ohledu na prováděnou operaci.
Používání rozhraní API
Podrobná dokumentace všech dostupných typů, dotazů a mutací rozhraní GraphQL API je k dispozici v Průzkumníku API. Chcete-li jej otevřít, stačí za adresu portálu přidat„api/explorer/index.html“. Nejdůležitější informace pro rychlý start jsou popsány v kapitole Nejčastější scénáře integrace API.
UPOZORNĚNÍ
Veřejné rozhraní API nepodporuje všechny akce, které jsou podporovány v uživatelském rozhraní. Pokud máte zájem o nepodporovanou akci, kontaktujte naši podporu.
API Explorer
K testování dotazů doporučujeme použít nástroj API Explorer, který umožňuje autorizovat uživatelský účet a interaktivně testovat dotazy. Průzkumník API umožňuje uživateli navrhovat, ověřovat a provádět konkrétní dotazy a mutace nad daty připojeného účtu. Pomocí Průzkumníka můžete také zobrazit a procházet strukturovanou dokumentaci všech dotazů, mutací a datových typů cloudového rozhraní API. Dokumentaci otevřete kliknutím na položku Dokumenty v pravém horním rohu.
Po otevření se musíte přihlásit ke svému cloudovému účtu. Stiskněte tlačítko Přihlásit v pravém horním rohu. Stisknutím tlačítka Explorer zobrazíte stromový seznam všech dotazů a mutací, který usnadňuje vytváření dotazů.
VAROVÁNÍ
Pomocí rozhraní API Průzkumníka se můžete dotazovat a upravovat data ve svém účtu. Dávejte pozor, abyste nesmazali nebo nezměnili důležitá data.
Vytvoření tokenu API
Token API se používá k autorizaci přístupu klienta k aplikačnímu rozhraní systému a k aplikačnímu rozhraní kamery, která je připojena k portálu.
- V pravém horním rohu stiskněte tlačítko s uživatelským jménem, pod kterým jste přihlášeni.
- Otevřete kartu API.
- Stiskněte tlačítko Vytvořit token API.
- Vyplňte libovolný název tokenu.
- Vyberte požadovanou dobu platnosti tokenu.
- Potvrďte tlačítkem Uložit .
UPOZORNĚNÍ
Aby bylo možné token použít pro autorizaci rozhraní API kamery, musí být povoleno oprávnění Configuration.
Autorizace pomocí OAuth2 protokolu
Autorizační token lze získat dvěma způsoby. První možností je vytvořit token v uživatelském rozhraní. Tato možnost je nejjednodušší a doporučuje se pro většinu aplikací API. K získání tokenu lze také použít protokol Oauth2. Níže popsané kroky popisují postup pro získání autorizačního tokenu pomocí protokolu OAuth2.
DOPORUČENÍ
K implementaci OAuth2 doporučujeme použít některou z dostupných knihoven. Další informace a úvod do OAuth2.
Vytvoření klientské aplikace
Nejprve vytvoříme novou aplikaci OAuth2. Aplikace OAuth2 umožňuje autorizaci k rozhraní API pomocí libovolného účtu vlastníka nebo hosta. Rozhraní pro správu klientské aplikace je dostupné po přihlášení k účtu.
- Stiskněte ikonu uživatele v pravém horním rohu a vyberte rozhraní API .
- Otevřete aplikaci OAuth2.
Aplikace OAuth2 definuje žadatele o přístup k rozhraní aplikace. Aplikaci lze použít k autorizaci libovolného systémového účtu.
UPOZORNĚNÍ
Aplikaci mohou vytvářet pouze účty s plným přístupem.
Při vytváření aplikace je třeba zadat následující informace:
- Název – zadejte libovolný název, např. „Moje aplikace“.
- Popis – zadejte libovolný popis.
- Seznam adres URL přesměrování – zadejte adresu URL, na kterou bude uživatel po autorizaci přesměrován.
TIP
Pro každou integraci doporučujeme vytvořit novou klientskou aplikaci.
Po vytvoření aplikace OAuth2 aplikace vygeneruje:
- client_id – jedinečný identifikátor aplikace,
- client_secret – klíč aplikace,
který OAuth2 používá k získání autorizačního kódu „AUTHORIZATION_CODE“.
Získání autorizačního kódu
UPOZORNĚNÍ
Příklady v blocích ve stylu kódu mohou obsahovat jinou adresu URL. Pokud máte účet pod jiným prodejcem, musíte jej změnit podle adresy URL vašeho prodejce (např. cloud.camstreamer.com).
K získání autorizačního kódu, který lze dále vyměnit za přístupový token, se používá koncový bod https://system2.netrex.cz/oauth2/auth.
POST:
https://system2.netrex.cz/oauth2/auth/?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_URL&scope=read,write
Parametry požadavku
Parametr | Popis |
---|---|
client_id | Identifikuje klientskou aplikaci. |
rozsah | Seznam požadovaných práv oddělených čárkou. Možná práva jsou: – read, – write, – liveview, – audiotransmit, – liveview_ptz, – liveview_light, – liveview_audioclip, – recordings, – recordings_delete, – events. |
redirect_url | URL, na kterou má být autorizační kód odeslán. Musí se shodovat s URL povoleným v definici klientské aplikace. |
state | Nepovinný bezpečnostní parametr, který je beze změny předán zpět do redirect_url spolu s autorizačním kódem. |
Nejprve budete přesměrováni na přihlašovací obrazovku portálu. Po přihlášení k účtu se zobrazí dialogové okno s žádostí o udělení přístupu ke klientské aplikaci. Po potvrzení/odmítnutí dialogu je přesměrována redirect_url a do parametrů GET je přidán parametr „code“ s autorizačním kódem nebo parametr „error“ s důvodem chyby („access_denied“, pokud uživatel žádost o přístup odmítl). Pokud byl v požadavku zadán parametr „state“, bude k přesměrování přidán také.
Získání přístupového tokenu
K získání přístupového tokenu se používá koncové místo https://system2.netrex.cz/oauth2/token a případně také token obnovení.
POST:
https://system2.netrex.cz/oauth2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=CALLBACK_URL
Parametr | Popis |
---|---|
client_id | Identifikuje klientskou aplikaci. |
client_secret | Tajný klíč klientské aplikace, s jehož pomocí lze získat trvalý přístup k rozhraní API (přístupové a obnovovací tokeny). Bez tohoto parametru je umožněn pouze dočasný přístup (tj. pouze přístupový token). Všimněte si, že parametr client_secret nelze použít tam, kde hrozí jeho únik. Není například možné jej použít v aplikacích v jazyce JavaScript. |
redirect_url | Jedna z adres URL přesměrování uvedených v definici klientské aplikace. V tomto kroku slouží pouze jako dodatečný bezpečnostní prvek a k žádnému dalšímu přesměrování nedochází. |
grant_type | Parametr určující metodu autorizace. K dispozici jsou následující možnosti: – auth_code. Jedná se o výměnu autorizačního kódu z předchozího kroku za přístupový token. – refresh_token. Jedná se o obnovení nebo výměnu za nový přístupový token na další období. |
Možné odpovědi ve formátu JSON:
{"access_token":"ACCESS_TOKEN","expires_in":3600,"refresh_token":"1234"}
– Časově neomezený přístup k rozhraní API. Po vypršení platnosti přístupového tokenu lze obnovením tokenu získat nový. Pro tento typ přístupu musíte v dotazu použít client_secret. {"access_token":"ACCESS_TOKEN","expires_in":3600}
– Jednorázový přístup k rozhraní API, který se zruší po vypršení platnosti přístupového tokenu.{"error":"Error message"}
– Neplatný požadavek nebo systémová chyba.
Získaný ACCESS_TOKEN lze vložit do hlavičky každého volání Graph API („Authorization: Bearer TOKEN“).
Zrušení přístupového tokenu
Přístupový token lze kdykoli zrušit v uživatelském rozhraní nebo pomocí rozhraní API. Ke zrušení přístupu se používá koncový bod https://system2.netrex.cz/oauth2/revoke.
POST:
https://system2.netrex.cz/oauth2/revoke?access_token=ACCESS_TOKEN
Parametr | Popis |
---|---|
access_token | Stávající token odstranit. |
Odpověď ve formátu JSON:
{"success":true,”message”:”Info message”}
– Daný přístupový token (i s jeho obnovovacím tokenem) je zrušen.
Uživatelská oprávnění pro OAuth2
Systém rozlišuje mezi uživateli s plným a částečným přístupem, jejichž zobrazení může být omezeno. Pokud používáte autorizaci Oauth2, údaje získané prostřednictvím rozhraní API odpovídají přístupovým právům uživatele. Pokud chcete zajistit plný přehled, použijte při autorizaci OAuth2 účet s plnými přístupovými právy nebo vygenerujte statický token API.
Běžné scénáře integrace API
UPOZORNĚNÍ
Příklady v blocích ve stylu kódu mohou obsahovat jinou adresu URL. Pokud máte účet pod jiným prodejcem, musíte jej změnit podle adresy URL vašeho prodejce (např. cloud.camstreamer.com).
Pomocí aplikace API Explorer můžete snadno otestovat následující příklady. Kliknutím sem získáte informace o autorizaci API.
Organizace objektů
Objekty uživatel, kamera, elektrický vstup, přístrojová deska, složka a další jsou uzly ve stromové struktuře. Tato struktura umožňuje:
- Získání agregovaných metrik z více objektů.
- Správa uživatelských oprávnění pro skupinu objektů.
- Uspořádání objektů do skupin pro lepší přehlednost v uživatelském rozhraní.
Objekt složky umožňuje nekonečné ponoření. Některé objekty, například elektrický vstup, jsou vždy ponořeny pod objekt kamery.
Příklad
Seznam všech položek, které má uživatel právo zobrazit. Mějte na paměti, že v případě autorizace OAuth2 může být token vydán hostujícímu uživateli, který nevidí všechny položky.
query {
nodeList {
parent_node_id
node_id
type
name
}
}
Odpověď
{
"data": {
"nodeList": [
{
"parent_node_id": null,
"node_id": 138170,
"type": "folder",
"name": "rootfolder"
},
{
"parent_node_id": 138170,
"node_id": 138170,
"type": "folder",
"name": "San Diego"
},
…
]
}
}
Pokud chceme získat pouze objekty „kamera“, použijeme nepovinný typ parametru. Všechny dostupné typy najdete ve vygenerované dokumentaci v Průzkumníku API.
query {
nodeList(type:camera) {
parent_node_id
type
name
node_id
}
}
Odpověď
{
"data": {
"nodeList": [
{
"parent_node_id": 138170,
"type": "camera",
"name": "ACCC8EE8A9CA",
"node_id": 140094
}
]
}
}
Získání parametrů kamery
Typ kamery je nejobsáhlejší typ, který používáme při stahování záznamů a získávání živého vysílání. Dotaz na typ kamery vrátí mnoho parametrů o kameře.
Příklad
Dotazem na typ kamery získáme informace o sériovém čísle (serial_number), stavu připojení (is_connected) a ip adrese kamery (source_ip). Povinný parametr node_id lze zjistit pomocí předchozího dotazu na cameraList nebo nodeList.
query {
camera(node_id:140094){
name
serial_number
is_connected
connection{
source_ip
}
}
}
Odpověď
{
"data": {
"camera": {
"name": "ACCC8EE8A9CA",
"serial_number": "ACCC8EE8A9CA",
"is_connected": true,
"connection": {
"source_ip": "211.21.111.111"
}
}
}
}
Získání metrik KPI
Existuje několik typů, které můžete použít k získání metrik KPI:
statisticData
Vrací jednu hodnotu pro jeden objekt (kameru). Použijte ji k získání jediného čísla z jediné kamery. Například: Počet návštěvníků z lidí počítajících kameru1.
Dostupné metriky:
- peopleCount – počet návštěvníků.
- peopleCountIn – počet návštěvníků (pouze vstupy).
- peopleCountOut – počet návštěvníků (pouze výstupy).
- transactionValueIn – hodnota kladných platebních transakcí (násobeno x 100).
- transactionCountIn – počet kladných platebních transakcí.
- transactionValueOut – hodnota záporných platebních transakcí (násobeno x 100).
- transactionCountOut – počet záporných platebních transakcí.
statisticDataMetric
Vrací jednu hodnotu pro jeden objekt nebo více objektů ve složce. Dotazy na objekt složky vracejí agregovanou hodnotu pro všechny objekty ve složce. Tuto funkci použijte k získání jediné agregované hodnoty z více kamer. Například: Počet návštěvníků z jednoho obchodu, kde jsou všechny kamery obchodu ve složce „San Diego“.
Dostupné metriky:
- peopleCountAverage – počet návštěvníků.
- peopleCountIn – počet návštěvníků (pouze příchozí).
- peopleCountOut – počet návštěvníků (pouze odchozích).
- peopleCountPassBy – počet návštěvníků, kteří prošli kolem obchodu.
- transactionCountPositive – počet pozitivních transakcí.
- transactionCountNegative – počet záporných transakcí.
- transactionAmountPositive – hodnota kladných transakcí.
- transactionAmountNegative – hodnota záporných transakcí.
- conversionCount – počet konverzí; (počet pozitivních transakcí / počet návštěvníků) * 100.
- conversionAmount – útrata na návštěvníka; (hodnota pozitivních transakcí / počet návštěvníků).
- transactionAmountAverage – průměrná hodnota transakce (pouze kladné transakce).
statisticDataMetricByGranularity
Vrátí více hodnot (datových řad) v jednom dotazu. Dostupné metriky a agregace jsou shodné s výše uvedenou statistikouDataMetric. Použijte ji pro získání více hodnot v jednom dotazu. Parametrem tohoto dotazu je granularita. Granularita určuje počet vrácených datových bodů.
Granularita:
- HQ – 15 minut
- H – hodina
- H4 – 4 hodiny
- H8 – 8 hodin
- H12 – 12 hodin
- D – den
- W – týden
- M – měsíc
Všechny metriky jsou v systému uloženy s rozlišením 15 minut. Pokud dotaz neodpovídá 15minutovému intervalu, rozhraní API vypočítá výsledek s použitím blízkých intervalů. Parametry „od“ a „do“ jsou ve formátu časového razítka Unix. Pro účely testování můžete použít převodník časových razítek Unix Timestamp.
Příklad 1 – načtení jedné hodnoty
Dotaz na složku vrátí agregovaný peopleCountAverage pro všechny kamery ve složce.
query {
statisticDataMetric(from:1589186000, to:1589186780, type:peopleCountAverage,node_id:140094)
}
Odpověď
{
"data": {
"statisticDataMetric": 57
}
}
Příklad 2 – Získání více hodnot (časové řady)
Dotaz na složku vrátí agregovaný peopleCountAverage s granularitou 15 minut.
{
statisticDataMetricByGranularity(from: 1589186000, to: 1589186780, type: peopleCountAverage, node_id: 63575, granularity: HQ) {
from
to
value
}
}
Odpověď
{
"data": {
"statisticDataMetricByGranularity": [
{
"from": 1589185800,
"to": 1589186700,
"value": 20
},
{
"from": 1589186700,
"to": 1589187600,
"value": 12
}
…
]
}
}
Zobrazení živého přenosu z kamery
Dotazem na typ kamery zjistíte adresu URL pro přístup k živému vysílání. Portál podporuje několik protokolů pro streamování videa. Protokoly se liší v závislosti na přístupu ke kameře:
- Přístup v rámci místní sítě:
- rtsp – Obyčejný nešifrovaný protokol RTSP.
- Přístup přes veřejný internet:
- rtsp – Obyčejný nešifrovaný protokol RTSP.
- rtsph – Nešifrované RTSP přes HTTP.
- rtsphs – Šifrované RTSP přes HTTPS.
- rtspws – Nešifrované RTSP přes WebSocket.
- rtspwss – RTSP over WebSocket Secure.
Zabezpečení přístupu k živému vysílání
Dotaz API na adresu URL pro streamování vygeneruje odkaz RTSP, který je platný po dobu 30 sekund. Po uplynutí 30 sekund nebo odpojení přehrávače nebude možné přehrávač připojit a aplikace si musí vyžádat nový odkaz RTSP.
Hráč
Pro přehrávání živého videa ze systému doporučujeme použít náš webový přehrávač, který je k dispozici v úložišti GitLab. Přehrávač využívá kombinaci protokolu WebSocket Secure a RTSP a je vhodný pro přehrávání videí kdekoli na internetu.
Příklad
Tento příklad ukazuje, jak získat video stream pro vzdálený přehrávač. Většina kamer umožňuje streamování různých profilů (rozlišení a snímání). Dotazem na typ streamProfile zjistíte dostupné profily.
query {
camera(node_id:140094){
stream_profiles{
stream_profile_id
width
height
}
}
}
Odpověď
{
"data": {
"camera": {
"stream_profiles": [
{
"stream_profile_id": 120846,
"width": 800,
"height": 450
},
{
"stream_profile_id": 120850,
"width": 1920,
"height": 1080
}
]
}
}
}
Dalším dotazem získáte adresu RTSP a adresu URL pro aktuálně generovaný stream RTSP.
query {
camera(node_id:140094){
live_view(stream_profile_id:120850){
remote{
rtsp{
url
}
}
}
}
}
Odpověď
{
"data": {
"camera": {
"live_view": {
"remote": {
"rtsp": {
"url": "rtsp://nvhs10.survilla.net:2554/nvhs10~1600421245~9469bb1a2b831031456ef9c4abc182573d7a86a9f305f54df18621a9484d6134"
}
}
}
}
}
}
Některé kamery podporují více videokanálů. Například kamery s více optikami nebo virtuální pohledy 180° kamer. Kanál lze vybrat pomocí volitelného parametru video_channel_node_id v typu live_view (stream_profile_id: 120850, video_channel_node_id: 1000). Seznam videokanálů jednotlivých kamer je k dispozici v typu kamery.
Zobrazení a stažení nahrávky
Proces prohlížení / stahování záznamu je rozdělen do tří kroků:
- Zkontrolujte dostupnost záznamu a získejte recording_id.
- Příprava záznamu v požadovaném rozlišení.
- Získejte adresu URL pro stažení záznamu.
Následující příklad ukazuje celý proces.
Příklad
Recording_id je jedinečný identifikátor záznamu. Vytvoří se při kontrole dostupnosti pomocí následujícího dotazu. Ptáme se také na dostupné velikosti záznamů, které použijeme v dalším kroku. Nejvyšší dostupná velikost odpovídá výchozímu rozlišení záznamu a je nejrychleji připravena. Parametry „od“ a „do“ definují požadované časové období záznamu.
query{
camera(node_id:62303){
recordings(from:1589190089, to:1589190689){
recording_id
duration
download_url
outputs{
height
}
}
}
}
Odpověď
{
"data": {
"camera": {
"recordings": [
{
"recording_id": "xRMElmAkh3",
"duration": 598,
"download_url": null,
"outputs": [
{
"height": 480
},
{
"height": 720
},
{
"height": 800
}
]
}
]
}
}
}
Pokud odpověď obsahuje prázdné pole, zkontrolujte v uživatelském rozhraní, zda daná kamera nahrává nebo nahrávala ve zvoleném intervalu. Nyní zavoláme mutaci pro přípravu záznamu, jejímiž parametry jsou recording_id a height z předchozího kroku.
mutation{
recordingPrepare(recording_id:"xRMElmAkh3", height:720)
}
Odpověď
{
"data": {
"recordingPrepare": true
}
}
Hodnota true znamená, že příprava záznamu byla úspěšně zahájena. Stav přípravy se zjistí dotazem na typ záznamu, jehož parametrem je recording_id.
query{
recording(recording_id:"6RjiHGzqCE"){
progress
download_url
}
}
Odpověď
{
"data": {
"recording": {
"progress": 100,
"download_url": "https://cloud.camstreamer.com/api/download.php?auth_key=2YwmG01NAeNYz4m1bZfwIKLOaoHeCfxH"
}
}
}
V odpovědi vidíme „pokrok: 100“. Nahrávání je připraveno a download_url obsahuje adresu URL pro stahování. Pokud se nahrávka stále připravuje, obsahuje download_url hodnotu „null“ a progress vyjadřuje stav zpracování v procentech.
Nepoužité ID nahrávky vyprší za hodinu. Adresa URL pro stažení nahrávky vyprší za 24 hodin. Pokud je nahrávka stažena, adresa URL pro stažení vyprší po 6 hodinách.
Párování prvků pomocí externího ID
Při dotazování typu NodeList lze u všech položek ve stromové struktuře zobrazit externí ID, které bylo zadáno v uživatelském rozhraní. Externí ID slouží k jednoznačné identifikaci položky pro integraci do služeb třetích stran. Externí ID lze vytvořit v sekci API.
Příklad
Následující dotaz vrátí seznam uzlů včetně odpovídajících externích ID.
query{
nodeList {
name
external_id
}
}
Odpověď
{
"data": {
"nodeList": [
{
"name": "Folder",
"external_id": "001"
},
{
"name": "ACCC8EE8A9CA",
"external_id": "camera1"
}
]
}
}
Přístup ke kameře a rozhraní kamery VAPIX
Kamera připojená ke cloudu obdrží jedinečnou adresu URL, která umožňuje vzdálený přístup ke kameře. ULR se vždy skládá ze sériového čísla kamery a domén prvního a druhého řádu device-connect.net.
https://SerialNumber.device-connect.net/
Takový přístup je vhodný zejména pro programové ovládání kamery prostřednictvím rozhraní VAPIX. VAPIX je aplikační rozhraní, které umožňuje ovládat kameru a měnit její parametry.
Pro autorizaci přístupu ke kameře a jejímu rozhraní VAPIX API je třeba vygenerovat token API s oprávněním Configuration (DEVICE_ACCESS_TOKEN). Přesný postup generování tokenu naleznete v tomto článku.
Příklad požadavku na rozhraní API kamery
Na základě adresy URL a přístupového kódu DEVICE_ACCESS_TOKEN můžete zadat požadavek na rozhraní VAPIX kamery:
https://serialnumber.device-connect.net/axis-cgi/param.cgi?action=update&ImageSource.I0.Sensor.Brightness=89&root.ImageSource.I0.Sensor.ColorLevel=91&DEVICE_ACCESS_TOKEN=NvA7fxxxxxtYVQ
kde:
- serialnumber je sériové číslo kamery,
- /axis-cgi/param.cgi je standardní adresa URL rozhraní VAPIX,
- ?action=update&ImageSource.I0.Sensor.Brightness=89&root.ImageSource.I0.Sensor.ColorLevel=91 je požadavek VAPIX. V tomto případě měníme jas a sytost obrazu,
- &DEVICE_ACCESS_TOKEN=NvA7fxxxxxtYVQ je jednorázový přístupový token uvedený jako poslední parametr dotazu.
Příklad volání API aplikace CamStreamer
Dotaz na seznam dostupných streamů ve kamery:
https://accc8ed8cbf0.device-connect.net/local/camstreamer/stream/list.cgi?DEVICE_ACCESS_TOKEN=D8PxS7HyQZepEwM4
Dotaz na spuštění konkrétního streamu v kameře:
https://accc8ed8cbf6.device-connect.net/local/camstreamer/stream/set.cgi?stream_id=36559&enabled=1&DEVICE_ACCESS_TOKEN=D8PxS7HyQZepEwM4
Chybové odpovědi a limity
Limit API
Limit pro dotazy API pro jeden účet:
- 1 dotaz za sekundu,
- 10 000 dotazů/den.
Při dotazování na metriky (například počet návštěvníků) je očekávaná velikost dotazu následující:
- Maximální rozsah 1 rok,
- 5 metrik (například větve, kamery nebo různé metriky).
U dotazů větších než výše uvedená velikost je třeba vyhodnotit maximální počet dotazů za sekundu individuálně.
Chybové odpovědi
{
"errors": [
{
"message": "Invalid or empty access token.",
"category": "authError"
}
]
}
Chybí přístupový token: Zkontrolujte, zda byl autorizační token vložen do záhlaví ve správném formátu.
{
"errors": [
{
"message": "Access token expired.",
"category": "expired"
}
]
}
Vypršela platnost přístupového tokenu: V části API v systému se ujistěte, že je token platný. V případě tokenu OAuth2 požádejte o obnovení tokenu.
{
"errors":[
{
"message":"Request to an unknown or unavailable platform.",
"category":"client"
}
]
}
Neplatný přístupový token: Zkontrolujte, zda byl autorizační token vložen do hlavičky ve správném formátu. Token je vložen do záhlaví, ale není platný.
Nastavení externího ID
Externí ID slouží k jednoznačné identifikaci prvku pro integraci do služeb třetích stran. Externí ID se používá jako jedinečný identifikátor každého prvku při dotazování prostřednictvím rozhraní API po jeho zadání do systému. Externí ID se také používá k nastavení zkratek pro ovládání monitorovací stanice.
Přidání externího ID
- V pravém horním rohu stiskněte tlačítko se svým uživatelským jménem.
- Otevřete kartu API.
- Vyberte rozhraní aplikace External ID.
- Stiskněte tlačítko Přidat identifikátor.
- Kliknutím do textového pole Položka otevřete okno stromu položek.
- Vyberte složku nebo položku, které chcete přiřadit externí ID.
- Vyplňte externí identifikátor.
- Potvrďte tlačítkem Uložit .
Úprava externího ID
- Stiskněte tlačítko vedle příslušného externího ID.
- Upravte potřebné parametry.
- Potvrďte tlačítkem Uložit
Odstranění externího ID
- Stiskněte tlačítko vedle externího ID, které chcete odstranit.
Dotazování na externí ID v API
Informace a příklady dotazování naleznete v článku Běžné scénáře integrace rozhraní API.