2. Obecný popis HTTP API
2N® Helios IP HTTP API (Application Interface) je rozhraní určené ke vzdálenému řízení, nastavování a sběru dat z 2N Helios IP pomocí aplikací třetích stran. 2N® Helios IP HTTP API umožňuje začlenit interkomy 2N do širší infrastruktury na straně uživatele (např. systémů domácí automatizace, docházkových systémů apod.)
2N® Helios IP HTTP API poskytuje jednoduchý interface postavený na standardních protokolech (SOAP/HTTP) a umožňuje vyčítat stavové nebo statistické informace.
2N® Helios IP API je definováno pomocí webové služby přístupné na adresách:
- http://helios_ip_address/automation – příkazy pro řízení 2N Helios IP
- http://helios_ip_address/notification – příkazy pro sběr dat z logu
Klient odešle na jednu z uvedených adres HTTP požadavek obsahující správně formátovaná SOAP/XML data. 2N Helios IP provede požadovanou operaci a odešle zpět odpověď ve formátu SOAP/XML.
Obecná struktura HTTP požadavku odpovídá následujícímu vzoru:
POST /... HTTP/1.1
Host: ...
Content-Type: application/soap+xml
Content-Length: ...
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
doplňující řídící informace požadavku
</s:Header>
<s:Body>
parametry požadavku
</s:Body>
</s:Envelope>
V případě úspěšného zpracování požadavku 2N Helios IP odešle HTTP odpověď:
HTTP/1.1 200 OK
Content-Type: application/soap+xml
Content-Length: nnn
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
doplňující řídící informace odpovědi
</s:Header>
<s:Body>
Parametry odpovědi
</s:Body>
</s:Envelope>
Pokud požadavek nelze zpracovat, příp. při jeho zpracování dojde k chybě, 2N Helios IP vrátí odpověď 400 Bad Request a data odpovědi obsahují SOAP/XML s popisem chyby.
HTTP/1.1 400 Bad Request
Content-Length: ...
Content-Type: application/soap+xml
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope
xmlns:s="http://www.w3.org/2003/05/soap-envelope"
xmlns:ter="http://www.onvif.org/ver10/error">
<s:Body>
<s:Fault>
<s:Code>
<s:Value> Kód chyby </s:Value>
<s:Subcode>
<s:Value> Subkód chyby </s:Value>
</s:Subcode>
</s:Code>
<s:Reason>
<s:Text xml:lang="en"> Popis důvodu chyby </s:Text>
</s:Reason>
<s:Detail>
<s:Text> Doplňující popis chyby </s:Text>
</s:Detail>
</s:Fault>
</s:Body>
</s:Envelope>
