Áttekintés
A TapHome API lehetővé teszi a TapHome eszközök integrációját harmadik fél alkalmazásaiba HTTP-kérések és JSON-válaszok segítségével. A rendszer a https://api.taphome.com/api/TapHomeApi/v1/ címen érhető el.
Fő jellemzők:
- HTTP-alapú erőforrás-hozzáférés megfelelő státuszkódokkal
- Szabványos Swagger dokumentáció a
https://api.taphome.com/api/doccímen - UTF-8 kódolású JSON válaszok
- Helyi hálózati API-támogatás (Core 2021.3+) HTTP-n keresztül, Swagger UI nélkül
Helyi hálózati előnyök: A közvetlen LAN/VPN hozzáférés csökkenti a késleltetést és megszünteti az internetkapcsolattól való függést. A Core egységekhez fix IP-cím vagy mDNS-konfiguráció szükséges.
Hitelesítés
A TapHome API egyedi HTTP-alapú hitelesítést használ bearer tokenekkel (nem felhasználónév/jelszó-alapú hitelesítés).
Fejléc formátuma
|
|
Példa kérés
|
|
cURL példa
|
|
Tokenkezelés
A tokenek a TapHome alkalmazásban, a Beállítások → Eszközök felfedése → TapHome API menüpontban érhetők el.
A kontextusmenüből (három pont) friss hozzáférési tokenek generálhatók. Új tokenok generálása érvényteleníti a korábbiakat. GET hívásokhoz lekérdezési paraméteres alternatíva is elérhető (biztonsági figyelmeztetés: kerülje a tokeneket tartalmazó URL-ek megosztását).
Kompromittált tokenek esetén azonnali regenerálás szükséges; egyszerre csak egy token lehet aktív.
API referencia
Helyinformáció lekérése
Lekéri a vezérlőegység helyadatait, és érvényesíti a kapcsolati állapotot.
Változat 1
|
|
Változat 2
|
|
Paraméterek: Nincs
Válasz:
|
|
HTTP állapot hibák:
- 401 Nem hitelesített
- 404 Nem található (a helyszín nincs csatlakoztatva a felhőhöz)
- 405 Módszer nem engedélyezett
- 500 Belső szerverhiba
Eszközök felfedezése
Lekéri a felfedett eszközöket és az általuk támogatott értéktípusokat, beleértve az írásvédett tulajdonságokat is, mint az Eszközállapot.
Változat 1
|
|
Változat 2
|
|
Paraméterek: Nincs
Válasz:
|
|
HTTP állapot hibák:
- 401 Nem hitelesített
- 404 Nem található (a helyszín nincs csatlakoztatva a felhőhöz)
- 405 Módszer nem engedélyezett
- 500 Belső szerverhiba
Eszközérték lekérése
Lekéri egy adott eszköz összes aktuális értékét, beleértve a típusazonosítókat és neveket. Az értékek numerikusak (double típusúak). Néhány tulajdonság csak olvasható.
Gyakori kérések (500 ms alatti intervallumok) esetén előfordulhat, hogy gyorsítótárazott értékek kerülnek visszaadásra; az egyezőséget kizárólag az időbélyegek alapján ellenőrizze.
Változat 1
|
|
Változat 2
|
|
Paraméterek: Eszközazonosító az URL-ben vagy a JSON törzsben
Válasz:
|
|
HTTP állapot hibák:
- 401 Nem hitelesített
- 403 Tiltott (az eszköz nincs felfedve)
- 404 Nem található (a helyszín nincs csatlakoztatva a felhőhöz)
- 405 Módszer nem engedélyezett
- 500 Belső szerverhiba
Több eszköz értékeinek lekérése
Egyszerre lekéri több eszköz aktuális értékeit. Csökkenti a sávszélesség-használatot az egyedi kérésekhez képest. Core 2021.3 vagy újabb verzió szükséges.
|
|
Paraméterek:
|
|
Válasz:
|
|
HTTP állapot hibák:
- 401 Nem hitelesített
- 403 Tiltott (az eszköz nincs felfedve)
- 404 Nem található (a helyszín nincs csatlakoztatva a felhőhöz)
- 405 Módszer nem engedélyezett
- 500 Belső szerverhiba
Az összes eszköz értékeinek lekérése
Egyszerre lekéri az összes előzetesen felfedett eszköz teljes állapotinformációját egyetlen kérésben. Core 2021.3 vagy újabb verzió szükséges.
Változat 1
|
|
Változat 2
|
|
Válasz:
|
|
HTTP állapot hibák:
- 401 Nem hitelesített
- 403 Tiltott (az eszköz nincs felfedve)
- 404 Nem található (a helyszín nincs csatlakoztatva a felhőhöz)
- 405 Módszer nem engedélyezett
- 500 Belső szerverhiba
Egy eszköz értékének lekérése
Lekéri egyetlen eszköz értékét JSON-feldolgozási követelmények nélkül. Ideális egyszerű megvalósításokhoz. A numerikus válasz (double) sztringként, tizedes ponttal formázva érkezik.
|
|
Paraméterek: Eszközazonosító az útvonalban, értéktípus-azonosító és token a lekérdezési paraméterekben
Válasz:
|
|
Ismeretlen értékek esetén NaN kerül visszaadásra. Gyakori kérések (500 ms alatti intervallumok) esetén előfordulhat, hogy gyorsítótárazott adatok kerülnek visszaadásra.
HTTP állapot hibák:
- 401 Nem hitelesített
- 403 Tiltott (az eszköz nincs felfedve)
- 404 Nem található (a helyszín nincs csatlakoztatva a felhőhöz)
- 405 Módszer nem engedélyezett
- 500 Belső szerverhiba
Eszközérték beállítása
Egy vagy több eszközérték módosítása típusazonosító alapján. A megadott értékek módosulnak, a meg nem adott értékek változatlanok maradnak. Numerikus típus (double).
Gyakori módosítások (500 ms alatti intervallumok) HTTP 503 választ eredményezhetnek.
Változat 1
|
|
Egyszerű használatra legfeljebb három egyidejű érték hozzárendelését támogatja.
Változat 2
|
|
Paraméterek:
|
|
Válasz:
|
|
HTTP állapot hibák:
- 401 Nem hitelesített
- 403 Tiltott (az eszköz nincs felfedve)
- 404 Nem található (a helyszín nincs csatlakoztatva a felhőhöz)
- 405 Módszer nem engedélyezett
- 500 Belső szerverhiba
- 503 Szolgáltatás nem érhető el (túlzott értékállítási gyakoriság; próbálja újra később)
Webhook
A Webhook-funkcionalitás a nyilvános eszközállapot-változásokat HTTP POST kéréssel küldi egy konfigurált URL-re a helyi hálózatban vagy az interneten. Hatékonyabb szinkronizációt biztosít az időszakos lekérdezéshez képest.
Gátlás: Legalább 300 ms-os intervallumokkal aktiválódik. Gyors értékváltozások esetén csak a legutolsó módosulás kerül elküldésre; a korábbi köztes értékek elvetésre kerülnek. Sikertelen továbbítások nincsenek újrapróbálva.
Konfiguráció: A TapHome alkalmazás három egyedi HTTP kérésfejlécet támogat „kulcs: érték” formátumban.
Adatszerkezet: Meg egyezik a getMultipleDevicesValues végpont válaszformátumával.