Webhooky z pravidel
Pravidlo může při spuštění zavolat adresu URL. Váš systém se tak o události dozví okamžitě, například o vysoké teplotě nebo o odpojení zařízení.
Než začnete
Sekce “Než začnete”- HAM Systems zapíná webhooky pro každý účet zvlášť. Pokud aplikace ukáže Webhooks nejsou pro váš účet povoleny, kontaktujte podporu.
- Potřebujete adresu
https://, která přijímá požadavkyPOSTz internetu.
Přidání webhooku do pravidla
Sekce “Přidání webhooku do pravidla”- Otevřete Nabídka. Ve skupině Nástroje klepněte na Cloudová pravidla.
- Otevřete pravidlo nebo vytvořte nové. Viz vytvoření pravidla.
- V akcích klepněte na Přidat akci.
- V seznamu vyberte Webhook.
- Do pole URL napište adresu vašeho systému.
- Pokud chcete volání také při resetu pravidla, klepněte na Přidat akci resetování a znovu vyberte Webhook.
- Klepněte na Uložit.




Pokud adresa není správná, aplikace ukáže URL není platná.
Požadavek
Sekce “Požadavek”Platforma pošle POST s tělem 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, když se pravidlo spustí. resolved, když se provede akce Při resetování. |
rule.id, rule.name |
Číslo a název pravidla |
rule.serialno |
Zařízení pravidla |
rule.this_data |
Podmínky pravidla |
device_data |
Aktuální stav každého zařízení pravidla podle sériového čísla. Formát je stejný jako u aktualizací WebSocket. |
messages |
Chyby, například Failed to get state of e11:123 for rule #4321, když stav zařízení není k dispozici |
Hodnoty v R jsou surové. V příkladu T: 912 znamená 9.12 °C. Viz definice v REST API.
Platforma z device_data odstraní údaje WiFi zařízení (název sítě, heslo a podnikové údaje).
Zabezpečení webhooku
Sekce “Zabezpečení webhooku”Požadavek nemá podpis (HMAC). Takto zkontrolujete, že požadavek pochází z vašeho pravidla:
- Vytvořte dlouhý náhodný tajný řetězec, například pomocí
openssl rand -hex 32. - Vložte tajný řetězec do query stringu adresy:
https://example.com/ham-hook?token=YOUR_SECRET. - Ve svém systému odmítněte každý požadavek, který nemá správný
token.
Pravidla a limity
Sekce “Pravidla a limity”- Adresa musí začínat
https://. - Platforma nevolá místní a soukromé 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 související adresy IPv6 (::1,fe80:,fc00::/7). - Nejvýše 5 volání za 60 sekund pro každou akci webhook pravidla.
- Nejvýše 30 volání webhooku za 60 sekund pro každý účet.
- Platforma přeskočí volání nad limity. Neposílá je později.
- Platforma nekontroluje stav HTTP vaší odpovědi a požadavek neposílá znovu.
- Akce může mít zpoždění (PO). Pravidlo má celkem nejvýše 12 akcí.
Test
Sekce “Test”Pro první test použijte veřejnou službu, která ukazuje přijaté požadavky. Vytvořte pravidlo s jednoduchou podmínkou a prohlédněte si tělo požadavku.

