Preskočiť na obsah

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.

  • 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žiadavky POST z internetu.
  1. Otvorte Ponuka. V skupine Nástroje ťuknite na Cloudové pravidlá.
  2. Otvorte pravidlo alebo vytvorte nové pravidlo. Pozrite vytvorenie pravidla.
  3. V akciách ťuknite na Pridať akciu.
  4. V zozname vyberte Webhook.
  5. Do poľa URL zadajte adresu vášho systému.
  6. Ak chcete volanie aj pri vynulovaní pravidla, ťuknite na Pridať akciu vynulovania a znova vyberte Webhook.
  7. Ťuknite na Uložiť.
Nové pravidlo s podmienkami a akciami
Počítač
Nové pravidlo s podmienkami a akciami
Telefón
Akcia pravidla nastavená na Webové volanie s vyplneným poľom URL
Počítač
Akcia pravidla nastavená na Webové volanie s vyplneným poľom URL
Telefón

Ak adresa nie je správna, aplikácia ukáže URL nie je platná.

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).

Požiadavka nemá podpis (HMAC). Ak chcete overiť, že požiadavka prichádza z vášho pravidla:

  1. Vytvorte dlhé náhodné tajomstvo, napríklad príkazom openssl rand -hex 32.
  2. Dajte tajomstvo do query stringu adresy: https://example.com/ham-hook?token=YOUR_SECRET.
  3. Vo vašom systéme odmietnite každú požiadavku, ktorá nemá správny token.
  • 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/8 a 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.

Chat s podporou