Prehľad
TapHome API umožňuje integráciu zariadení TapHome do aplikácií tretích strán prostredníctvom HTTP požiadaviek a JSON odpovedí. Systém funguje cez https://api.taphome.com/api/TapHomeApi/v1/.
Kľúčové charakteristiky zahŕňajú:
- prístup k zdrojom na báze HTTP s vhodnými stavovými kódmi
- štandardnú Swagger dokumentáciu k dispozícii na
https://api.taphome.com/api/doc - JSON odpovede kódované vo formáte UTF-8
- podporu API pre miestnu sieť (Core 2021.3+) cez HTTP bez Swagger UI
Výhoda miestnej siete: Priamy prístup cez LAN/VPN znižuje latenciu a eliminuje závislosť na internete. Core jednotky vyžadujú pevnú IP adresu alebo konfiguráciu mDNS.
Autentifikácia
TapHome API používa vlastnú HTTP autentifikáciu pomocou bearer tokenov (nie prihlasovacie meno a heslo).
Header Format
|
|
Example Request
|
|
cURL Example
|
|
Token Management
Tokeny nájdete v aplikácii TapHome: Nastavenia → Zverejniť zariadenia → TapHome API.
Pomocou kontextového menu (tri bodky) môžete generovať nové prístupové tokeny. Vygenerovanie nových tokenov zneplatní všetky predchádzajúce.
Alternatívny parameter dotazu je k dispozícii len pre GET volania (bezpečnostné upozornenie: vyhýbajte sa zdieľaniu URL obsahujúcich tokeny).
Tokeny, ktoré boli kompromitované, je potrebné okamžite zrušiť a vygenerovať nanovo; naraz je aktívny len jeden token.
Referenčná dokumentácia API
Získanie informácií o lokalite
Získa metadáta lokality riadiacej jednotky a overí stav pripojenia.
Variant 1
|
|
Variant 2
|
|
Parametre: Žiadne
Odpoveď:
|
|
HTTP Status Errors:
- 401 Neoprávnený prístup
- 404 Nenájdené (lokalita odpojená od cloudu)
- 405 Metóda nie je povolená
- 500 Interná chyba servera
Objav zariadení
Načíta vystavené zariadenia a ich podporované typy hodnôt, vrátane čitateľných vlastností ako stav zariadenia.
Variant 1
|
|
Variant 2
|
|
Parametre: Žiadne
Odpoveď:
|
|
HTTP Status Errors:
- 401 Neoprávnený prístup
- 404 Nenájdené (lokalita odpojená od cloudu)
- 405 Metóda nie je povolená
- 500 Interná chyba servera
Získanie hodnoty zariadenia
Získa všetky aktuálne hodnoty pre špecifikované zariadenie, vrátane identifikátorov typov a ich názvov. Hodnoty sú číselné (double). Niektoré vlastnosti sú len na čítanie.
Variant 1
|
|
Variant 2
|
|
Parametre: ID zariadenia v URL ceste alebo v tele JSON
Odpoveď:
|
|
HTTP Status Errors:
- 401 Neoprávnený prístup
- 403 Zakázaný prístup (zariadenie nie je vystavené)
- 404 Nenájdené (lokalita odpojená od cloudu)
- 405 Metóda nie je povolená
- 500 Interná chyba servera
Získanie hodnôt viacerých zariadení
Získa všetky aktuálne hodnoty pre viaceré zariadenia súčasne. Znižuje dátový prenos oproti individuálnym dopytom. Vyžaduje Core 2021.3 alebo novší.
|
|
Parametre:
|
|
Odpoveď:
|
|
HTTP Status Errors:
- 401 Neoprávnený prístup
- 403 Zakázaný prístup (zariadenie nie je vystavené)
- 404 Nenájdené (lokalita odpojená od cloudu)
- 405 Metóda nie je povolená
- 500 Interná chyba servera
Získanie všetkých hodnôt všetkých zariadení
Získa úplný stav všetkých vystavených zariadení v jednej požiadavke. Vyžaduje Core 2021.3 alebo novší.
Variant 1
|
|
Variant 2
|
|
Odpoveď:
|
|
HTTP Status Errors:
- 401 Neoprávnený prístup
- 403 Zakázaný prístup (zariadenie nie je vystavené)
- 404 Nenájdené (lokalita odpojená od cloudu)
- 405 Metóda nie je povolená
- 500 Interná chyba servera
Získanie jednej hodnoty zariadenia
Získa jednu hodnotu zariadenia bez potreby spracovania JSON. Ideálne pre jednoduché implementácie. Číselná odpoveď (double) formátovaná ako reťazec s desatinnou bodkou.
|
|
Parametre: ID zariadenia v ceste, ID typu hodnoty a token v dotazovacom reťazci
Odpoveď:
|
|
Neznáme hodnoty vracajú NaN. Časté požiadavky (s intervalom pod 500 ms) môžu vrátiť dáta z cache.
HTTP Status Errors:
- 401 Neoprávnený prístup
- 403 Zakázaný prístup (zariadenie nie je vystavené)
- 404 Nenájdené (lokalita odpojená od cloudu)
- 405 Metóda nie je povolená
- 500 Interná chyba servera
Nastavenie hodnoty zariadenia
Upraví jednu alebo viacero hodnôt zariadenia podľa identifikátora typu. Nešpecifikované hodnoty zostávajú nezmenené. Číselný typ (double).
Časté úpravy (s intervalom pod 500 ms) vyvolajú odpoveď HTTP 503.
Variant 1
|
|
Podporuje až tri súčasné priradenia hodnôt.
Variant 2
|
|
Parametre:
|
|
Odpoveď:
|
|
HTTP Status Errors:
- 401 Neoprávnený prístup
- 403 Zakázaný prístup (zariadenie nie je vystavené)
- 404 Nenájdené (lokalita odpojená od cloudu)
- 405 Metóda nie je povolená
- 500 Interná chyba servera
- 503 Služba nedostupná (nadmerná frekvencia nastavovania hodnôt; skúste to znova neskôr)
Webhook
Webhook funkčnosť doručuje zmeny stavu vystavených zariadení prostredníctvom HTTP POST na nakonfigurovanú URL adresu v prostredí LAN alebo internetu. Umožňuje efektívnu synchronizáciu v porovnaní s periodickým dotazovaním.
Rýchlostné obmedzenie (throttling): Aktivuje sa pri maximálnej frekvencii 300 ms. Pri rýchlych zmenách hodnôt sa odošle iba posledná zmena; predchádzajúce medzivzorky hodnôt sa zahodia. Zlyhané prenosy sa neopakujú.
Konfigurácia: Aplikácia TapHome vyžaduje tri vlastné hlavičky HTTP vo formáte „kľúč: hodnota“.
Dátová štruktúra: Identická s formátom odpovede endpointu getMultipleDevicesValues.