Přehled
TapHome API umožňuje integraci zařízení TapHome do aplikací třetích stran prostřednictvím HTTP požadavků a JSON odpovědí. Systém běží na adrese https://api.taphome.com/api/TapHomeApi/v1/
Klíčové charakteristiky zahrnují:
- Přístup k prostředkům založený na HTTP s odpovídajícími stavovými kódy
- Standardní dokumentace Swagger je k dispozici na
https://api.taphome.com/api/doc - JSON odpovědi kódované v UTF-8
- Podpora API v místní síti (Core 2021.3+) přes HTTP bez Swagger UI
Výhoda místní sítě: Přímý přístup přes LAN/VPN snižuje latenci a eliminuje závislost na internetu. Jádrové jednotky vyžadují pevnou IP adresu nebo konfiguraci mDNS.
Autentizace
TapHome API používá vlastní HTTP autentizaci pomocí bearer tokenů (namísto přihlašovacího jména a hesla).
Formát hlavičky
|
|
Příklad požadavku
|
|
Příklad cURL
|
|
Správa tokenů
Tokeny najdete v aplikaci TapHome: Nastavení → Zpřístupnit zařízení → TapHome API
Pomocí kontextové nabídky (tři tečky) vygenerujete nové přístupové tokeny. Vygenerování nových tokenů zneplatní předchozí. Alternativní použití dotazovacího parametru je k dispozici pouze pro volání GET (bezpečnostní upozornění: vyvarujte se sdílení URL obsahujících tokeny).
Tokeny, které byly kompromitovány, je nutné okamžitě regenerovat; současně může být aktivní pouze jeden token.
Referenční dokumentace API
Získat informace o lokalitě
Získá metadata lokality řídicí jednotky a ověří stav připojení.
Varianta 1
|
|
Varianta 2
|
|
Parametry: Žádné
Odpověď:
|
|
Chybové stavy HTTP:
- 401 Unauthorized
- 404 Not Found (lokalita odpojena od cloudu)
- 405 Method Not Allowed
- 500 Internal Server Error
Zjištění zařízení
Zobrazí vystavená zařízení a jejich podporované typy hodnot, včetně vlastností jen pro čtení, jako je Stav zařízení.
Varianta 1
|
|
Varianta 2
|
|
Parametry: Žádné
Odpověď:
|
|
Chybové stavy HTTP:
- 401 Unauthorized
- 404 Not Found (lokalita odpojena od cloudu)
- 405 Method Not Allowed
- 500 Internal Server Error
Získat hodnotu zařízení
Získá všechna aktuální data pro zadané zařízení, včetně identifikátorů typů a názvů. Hodnoty jsou číselné (typu double). Některé vlastnosti jsou pouze pro čtení.
Časté dotazy (v intervalu pod 500 ms) mohou vracet kešované hodnoty; pro porovnání rovnosti porovnávejte pouze časové razítko.
Varianta 1
|
|
Varianta 2
|
|
Parametry: ID zařízení v cestě URL nebo v JSON těle
Odpověď:
|
|
Chybové stavy HTTP:
- 401 Unauthorized
- 403 Forbidden (zařízení není vystaveno)
- 404 Not Found (lokalita odpojena od cloudu)
- 405 Method Not Allowed
- 500 Internal Server Error
Získat hodnoty více zařízení
Získá současně všechny aktuální hodnoty pro více zařízení. Snižuje spotřebu šířky pásma oproti jednotlivým požadavkům. Vyžaduje Core 2021.3 nebo novější.
|
|
Parametry:
|
|
Odpověď:
|
|
Chybové stavy HTTP:
- 401 Unauthorized
- 403 Forbidden (zařízení není vystaveno)
- 404 Not Found (lokalita odpojena od cloudu)
- 405 Method Not Allowed
- 500 Internal Server Error
Získat všechny hodnoty všech zařízení
Získá kompletní stav všech vystavených zařízení v jednom požadavku. Vyžaduje Core 2021.3 nebo novější.
Varianta 1
|
|
Varianta 2
|
|
Odpověď:
|
|
Chybové stavy HTTP:
- 401 Unauthorized
- 403 Forbidden (zařízení není vystaveno)
- 404 Not Found (lokalita odpojena od cloudu)
- 405 Method Not Allowed
- 500 Internal Server Error
Získat hodnotu jednoho zařízení
Získá jednu hodnotu zařízení bez nutnosti zpracování JSON. Vhodné pro jednoduché implementace. Číselná odpověď (double) je formátována jako řetězec s desetinnou tečkou.
|
|
Parametry: ID zařízení v cestě, ID typu hodnoty a token v dotazu
Odpověď:
|
|
Neznámé hodnoty vrací NaN. Časté dotazy (pod 500 ms) mohou vracet uložená data.
Chybové stavy HTTP:
- 401 Unauthorized
- 403 Forbidden (zařízení není vystaveno)
- 404 Not Found (lokalita odpojena od cloudu)
- 405 Method Not Allowed
- 500 Internal Server Error
Nastavit hodnotu zařízení
Upraví jednu nebo více hodnot zařízení podle identifikátoru typu. Nedefinované hodnoty zůstávají nezměněny. Číselný typ (double).
Časté úpravy (v intervalu pod 500 ms) vyvolají odpověď HTTP 503.
Varianta 1
|
|
Podporuje až tři současná přiřazení hodnot.
Varianta 2
|
|
Parametry:
|
|
Odpověď:
|
|
Chybové stavy HTTP:
- 401 Unauthorized
- 403 Forbidden (zařízení není vystaveno)
- 404 Not Found (lokalita odpojena od cloudu)
- 405 Method Not Allowed
- 500 Internal Server Error
- 503 Service Unavailable (nadměrně časté nastavování hodnot; zkuste to později)
Webhook
Funkcionalita webhooku doručuje změny stavu vystavených zařízení prostřednictvím HTTP POST na nakonfigurovanou URL v prostředích LAN nebo internetu. Umožňuje efektivní synchronizaci oproti periodickému dotazování.
Omezení rychlosti (throttling): Aktivuje se při minimálním intervalu 300 ms. Při rychlých změnách hodnot je odeslána pouze poslední změna; předchozí mezistavové hodnoty jsou zahazovány. Neúspěšné přenosy se neopakují.
Konfigurace: Aplikace TapHome podporuje tři vlastní HTTP hlavičky ve formátu “klíč: hodnota”.
Datová struktura: Identická s formátem odpovědi koncového bodu getMultipleDevicesValues.