Webhooky z pravidiel
Pravidlo môže zavolať URL, keď sa spustí. Tak sa váš systém hneď dozvie o udalosti, napríklad o vysokej teplote alebo o odpojení zariadenia.
Skôr ako začnete
Section titled “Skôr ako začnete”- HAM Systems zapína webhooky pre každý účet zvlášť. Ak aplikácia ukáže Webhooky nie sú pre váš účet povolené, kontaktujte podporu.
- Potrebujete adresu
https://, ktorá prijíma požiadavkyPOSTz internetu.
Pridanie webhooku do pravidla
Section titled “Pridanie webhooku do pravidla”- Otvorte Ponuka. V skupine Nástroje ťuknite na Cloudové pravidlá.
- Otvorte pravidlo alebo vytvorte nové pravidlo. Pozrite vytvorenie pravidla.
- V akciách ťuknite na Pridať akciu.
- V zozname vyberte Webhook.
- Do poľa URL zadajte adresu vášho systému.
- Ak chcete volanie aj pri vynulovaní pravidla, ťuknite na Pridať akciu vynulovania a znova vyberte Webhook.
- Ťuknite na Uložiť.




Ak adresa nie je správna, aplikácia ukáže URL nie je platná.
Požiadavka
Section titled “Požiadavka”Platforma pošle POST s telom JSON (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": []}| Pole | Obsah |
|---|---|
event |
triggered, keď sa pravidlo spustí. resolved, keď sa vykoná akcia Pri vynulovaní. |
rule.id, rule.name |
Číslo a názov pravidla |
rule.serialno |
Zariadenie pravidla |
rule.this_data |
Podmienky pravidla |
device_data |
Aktuálny stav každého zariadenia pravidla, so sériovým číslom ako kľúčom. Ten istý formát ako aktualizácie WebSocket. |
messages |
Chyby, napríklad Failed to get state of e11:123 for rule #4321, keď stav zariadenia nie je dostupný |
Hodnoty v R sú surové. V príklade T: 912 znamená 9,12 °C. Pozrite definície v REST API.
Platforma odstráni z device_data údaje WiFi zariadenia (názov siete, heslo a údaje enterprise).
Zabezpečenie webhooku
Section titled “Zabezpečenie webhooku”Požiadavka nemá podpis (HMAC). Ak chcete overiť, že požiadavka prichádza z vášho pravidla:
- Vytvorte dlhé náhodné tajomstvo, napríklad príkazom
openssl rand -hex 32. - Dajte tajomstvo do query stringu adresy:
https://example.com/ham-hook?token=YOUR_SECRET. - Vo vašom systéme odmietnite každú požiadavku, ktorá nemá správny
token.
Pravidlá a limity
Section titled “Pravidlá a limity”- Adresa musí začínať
https://. - Platforma nevolá lokálne a súkromné adresy:
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/8a príslušné adresy IPv6 (::1,fe80:,fc00::/7). - Najviac 5 volaní za 60 sekúnd pre každú akciu webhooku v pravidle.
- Najviac 30 volaní webhookov za 60 sekúnd pre každý účet.
- Platforma preskočí volania nad limitmi. Nepošle ich neskôr.
- Platforma nekontroluje stav HTTP vašej odpovede a požiadavku znova neposiela.
- Akcia môže mať oneskorenie (PO). Pravidlo má celkovo najviac 12 akcií.
Na prvý test použite verejnú službu, ktorá ukazuje prijaté požiadavky. Vytvorte pravidlo s jednoduchou podmienkou a pozrite sa na telo požiadavky.

