2.3 Odpovědi na požadavky
Odpovědi na požadavky jsou převážně ve formátu JSON. Výjimku tvoří pouze požadavky na stažení binárních dat (uživatelské zvuky, obrázky apod.) nebo konfiguraci intercomu v XML. Formát odpovědi lze rozlišit dle hlavičky Content-Type. Pro JSON jsou definovány tři základní typy odpovědí:
Kladná odpověď bez parametrů
Tato odpověď je odesílána v případě úspěšného provedení požadavku u funkcí nevracejících žádné parametry. Tato odpověď je vždy kombinovaná se stavovým kódem HTTP protokolu 200 OK.
{ "success" : true, }
Kladná odpověď s parametry
Tato odpověď je odesílána v případě úspěšného provedení požadavku u funkcí vracejících doplňkové parametry. Položka result obsahuje další parametry odpovědi poplatné dané funkci. Tato odpověď je vždy kombinovaná se stavovým kódem HTTP protokolu 200 OK.
{ "success" : true, "result" : { ... } }
Záporná odpověď při chybě zpracování požadavku
Tento typ odpovědi je odesílán v případě, že při zpracování požadavku dojde k chybě. Odpověď nese kód chyby (parametr code), její textový popis (parametr description) a případně upřesnění chyby (parametr param). Tato odpověď může být kombinovaná se stavovým kódem HTTP protokolu 200 OK nebo 401 Authorization Required.
{ "success" : false, "error" : { "code" : 12, "param" : "port", "description" : "invalid parameter value" } }
V následující tabulce jsou vyjmenovány možné kódy chyb:
Kód | Popis | |
---|---|---|
1 | function is not supported | Požadovaná funkce není na tomto modelu dostupná. |
2 | invalid request path | Absolutní cesta specifikovaná v HTTP požadavku neodpovídá žádné z funkcí HTTP API. |
3 | invalid request method | Použitá metoda HTTP protokolu není pro danou funkci platná. |
4 | function is disabled | Funkce (příslušná služba) není povolena. Službu je potřeba povolit na stránce konfiguračního rozhraní Služby / HTTP API. |
7 | invalid connection type | Je vyžadováno HTTPS připojení. |
8 | invalid authentication method | Použitá autentizační metoda není pro danou službu povolena. Tato chyba může nastat v případě, kdy pro službu je povolena pouze autentizační metoda Digest a klient se pokouší autentizovat pomocí metody Basic. |
9 | authorization required | Pro přístup ke službě je vyžadovaná autorizace uživatele. Tato chyba je odesílána společně stavovým kódem HTTP protokolu 401 Authorization Required. |
10 | insufficient user privileges | Autentizovaný uživatel nemá dostatečná privilegia pro provedení funkce. |
11 | missing mandatory parameter | V požadavku není uveden povinný parametr. Název chybějícího parametru je uveden v položce param. |
12 | invalid parameter value | Hodnota jednoho z parametrů požadavku není platná. Název neplatného parametru je uveden v položce param. |
13 | parameter data too big | Data parametru překračují maximální povolenou velikost. Název chybného parametru je uveden v položce param. |
14 | unspecified processing error | Nastala nespecifikovaná chyba při zpracování požadavku. |
15 | no data available | Server nemá k dispozici požadovaná data. |
17 | parameter shouldn't be present | Kolize parametrů (není možné napsat danou kombinaci parametrů). |
18 | request is rejected | Požadavek nelze nyní zpracovat a byl zařízením odmítnut. |
19 | file version is lower than minimum | Zadaná verze souboru je nižší, než je požadováno. |