Webhookok szabályokból
Egy szabály meghívhat egy URL-t, amikor aktiválódik. Így a saját rendszere azonnal értesül egy eseményről, például magas hőmérsékletről vagy egy eszköz lecsatlakozásáról.
Mielőtt elkezdi
Szekció neve “Mielőtt elkezdi”- A HAM Systems fiókonként kapcsolja be a webhookokat. Ha az alkalmazás ezt mutatja: A webhookok nincsenek engedélyezve a fiókjához, forduljon az ügyfélszolgálathoz.
- Egy
https://cím kell, amely az internetről fogadPOSTkéréseket.
Webhook hozzáadása egy szabályhoz
Szekció neve “Webhook hozzáadása egy szabályhoz”- Nyissa meg a Menü elemet. Az Eszközök csoportban koppintson a Felhőszabályok elemre.
- Nyisson meg egy szabályt, vagy hozzon létre új szabályt. Lásd: Szabály létrehozása.
- A műveleteknél koppintson a Művelet hozzáadása gombra.
- A listában válassza a Webhívás elemet.
- Az URL mezőbe írja be a rendszere címét.
- Ha a szabály visszaállásakor is szeretne hívást, koppintson a Visszaállítási művelet hozzáadása gombra, és válassza újra a Webhívás elemet.
- Koppintson a Mentés gombra.




Ha a cím nem helyes, az alkalmazás ezt mutatja: Az URL érvénytelen.
A kérés
Szekció neve “A kérés”A platform POST kérést küld JSON törzzsel (Content-Type: application/json):
{ "event": "triggered", "rule": { "id": 4321, "name": "Fridge 1 temperature", "serialno": "e11:123", "this_data": [ { "...": "the rule conditions" } ] }, "device_data": { "e11:123": { "R": { "T": 912, "GI": 1, "GIC": 0, "GI2": 1, "GI2C": 0 }, "O": [], "S": { "...": "the device settings" } } }, "messages": []}| Mező | Tartalom |
|---|---|
event |
triggered, amikor a szabály aktiválódik. resolved, amikor egy Visszaállításkor művelet fut. |
rule.id, rule.name |
A szabály száma és neve |
rule.serialno |
A szabály eszköze |
rule.this_data |
A szabály feltételei |
device_data |
A szabály minden eszközének aktuális állapota, sorozatszám szerint. Ugyanaz a formátum, mint a WebSocket frissítéseké. |
messages |
Hibák, például Failed to get state of e11:123 for rule #4321, ha egy eszköz állapota nem érhető el |
Az R értékei nyers értékek. A példában a T: 912 9,12 °C-ot jelent. Lásd a definíciókat a REST API oldalon.
A platform eltávolítja az eszköz WiFi adatait (hálózatnév, jelszó és vállalati adatok) a device_data mezőből.
A webhook védelme
Szekció neve “A webhook védelme”A kérésnek nincs aláírása (HMAC). Annak ellenőrzéséhez, hogy a kérés az Ön szabályától érkezik:
- Hozzon létre egy hosszú, véletlenszerű titkot, például ezzel:
openssl rand -hex 32. - Tegye a titkot a cím lekérdezési karakterláncába:
https://example.com/ham-hook?token=YOUR_SECRET. - A rendszerében utasítson el minden kérést, amelyben nincs helyes
token.
Szabályok és korlátok
Szekció neve “Szabályok és korlátok”- A címnek
https://kezdetűnek kell lennie. - A platform nem hív meg helyi és privát címeket:
localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16,100.64.0.0/10,0.0.0.0/8és a kapcsolódó IPv6 címek (::1,fe80:,fc00::/7). - Egy szabály minden webhook műveleténél legfeljebb 5 hívás 60 másodpercenként.
- Fiókonként legfeljebb 30 webhook hívás 60 másodpercenként.
- A platform kihagyja a korlátok feletti hívásokat. Később sem küldi el őket.
- A platform nem ellenőrzi a válasza HTTP állapotkódját, és nem küldi el újra a kérést.
- Egy műveletnek lehet késleltetése (UTÁN). Egy szabálynak összesen legfeljebb 12 művelete van.
Teszt
Szekció neve “Teszt”Az első teszthez használjon egy nyilvános szolgáltatást, amely mutatja a kapott kéréseket. Hozzon létre egy egyszerű feltételű szabályt, és nézze meg a kérés törzsét.

