Webhookovi iz pravila
Pravilo može pozvati URL kada se aktivira. Na taj način vaš sustav odmah saznaje za događaj, na primjer visoku temperaturu ili odspajanje uređaja.
Prije početka
Ενότητα με τίτλο «Prije početka»- HAM Systems uključuje webhookove po računu. Ako aplikacija prikaže Webhookovi nisu omogućeni za vaš račun, obratite se podršci.
- Trebate adresu
https://koja prihvaćaPOSTzahtjeve s interneta.
Dodavanje webhooka u pravilo
Ενότητα με τίτλο «Dodavanje webhooka u pravilo»- Otvorite Izbornik. U grupi Alati dodirnite Pravila u oblaku.
- Otvorite pravilo ili izradite novo pravilo. Pogledajte izradu pravila.
- U radnjama dodirnite Dodaj radnju.
- Na popisu odaberite Webhook.
- U polje URL upišite adresu svog sustava.
- Ako želite poziv i kada se pravilo resetira, dodirnite Dodaj radnju resetiranja i ponovno odaberite Webhook.
- Dodirnite Spremi.




Ako adresa nije ispravna, aplikacija prikazuje URL nije valjan.
Zahtjev
Ενότητα με τίτλο «Zahtjev»Platforma šalje POST s JSON tijelom (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": []}| Polje | Sadržaj |
|---|---|
event |
triggered kada se pravilo aktivira. resolved kada se izvrši radnja Pri resetiranju. |
rule.id, rule.name |
Broj i naziv pravila |
rule.serialno |
Uređaj pravila |
rule.this_data |
Uvjeti pravila |
device_data |
Trenutačno stanje svakog uređaja pravila, po serijskom broju. Isti format kao ažuriranja WebSocketa. |
messages |
Greške, na primjer Failed to get state of e11:123 for rule #4321 kada stanje uređaja nije dostupno |
Vrijednosti u R su sirove. U primjeru T: 912 znači 9.12 °C. Pogledajte definicije u REST API-ju.
Platforma uklanja WiFi podatke uređaja (naziv mreže, lozinku i podatke za poslovnu mrežu) iz device_data.
Zaštita webhooka
Ενότητα με τίτλο «Zaštita webhooka»Zahtjev nema potpis (HMAC). Za provjeru da zahtjev dolazi iz vašeg pravila:
- Izradite dugu slučajnu tajnu, na primjer pomoću
openssl rand -hex 32. - Stavite tajnu u query string adrese:
https://example.com/ham-hook?token=YOUR_SECRET. - U svom sustavu odbacite svaki zahtjev koji nema ispravan
token.
Pravila i ograničenja
Ενότητα με τίτλο «Pravila i ograničenja»- Adresa mora počinjati s
https://. - Platforma ne poziva lokalne i privatne adrese:
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/8i povezane IPv6 adrese (::1,fe80:,fc00::/7). - Do 5 poziva u 60 sekundi za svaku webhook radnju pravila.
- Do 30 webhook poziva u 60 sekundi za svaki račun.
- Platforma preskače pozive iznad ograničenja. Ne šalje ih kasnije.
- Platforma ne provjerava HTTP status vašeg odgovora i ne šalje zahtjev ponovno.
- Radnja može imati odgodu (NAKON). Pravilo ima ukupno do 12 radnji.
Za prvi test koristite javnu uslugu koja prikazuje zahtjeve koje prima. Izradite pravilo s jednostavnim uvjetom i pogledajte tijelo zahtjeva.

