4.1.2 Odpovědi na dotazy

Odpověď na dotaz obsahuje vždy JSON data, která mají formát:

{
	"data": {
		"success": true,
		"array": [
			{
				"serial_number": "54-0562-0293"
			}
		]
	}
}

Obalující kontejner data je vždy v odpovědi přítomen. Dále je vždy přítomný vnořený boolean success. Ten je nastaven na hodnotu true, pokud byl (nebo lze předpokládat, že byl) příkaz úspěšně proveden. Nicméně momentálně nelze zaručit, že u všech příkazů bude hodnota success=true skutečně oznamovat úspěch vykonaného příkazu. Například pro příkazy, které 2N® IP Mobile přeposílá na HIP, nemusí mít informaci o úspěšnosti provedení a tedy ji ani nemůže zahlásit. Mezi ně patří metody PUT a příkazy, které nevracejí hodnoty – např. volání, otevírání dveří apod. Uživatel tedy musí úspěšnost příkazu zjistit jiným dotazem (např. call/status).

Pokud vrátí hodnotu false, tak může být příčinou vícero chyb. Momentálně je HTTP API nerozlišuje a konkrétní chybová hlášení budou v případě potřeby implementována v následujících verzích. Krátký seznam možných příčin:

  • Chyba v zadání dotazu – neplatné hodnoty argumentů, chybějící argument, neexistující subsystem, chybný formát dat JSON, nesprávná HTTP metoda, apod.
  • Jedná se o příkaz pro aplikaci 2N® IP Mobile, která neběží. Před odesláním příkazu pro 2N® IP Mobile je dobré si příkazem ověřit její spuštění.

Dále mohou být v kontejneru data další položky. Jejich jména a obsah závisí na odeslaném dotazu. V uvedeném příkladu je to pole sériových čísel.