Webhooki z reguł
Reguła może wywołać adres URL, gdy się uruchamia. Dzięki temu Twój system od razu dowiaduje się o zdarzeniu, na przykład o wysokiej temperaturze lub rozłączeniu urządzenia.
Zanim zaczniesz
Dział zatytułowany „Zanim zaczniesz”- HAM Systems włącza webhooki dla każdego konta osobno. Jeśli aplikacja pokazuje Webhooki nie są włączone dla Twojego konta, skontaktuj się ze wsparciem.
- Potrzebujesz adresu
https://, który przyjmuje żądaniaPOSTz internetu.
Dodanie webhooka do reguły
Dział zatytułowany „Dodanie webhooka do reguły”- Otwórz Menu. W grupie Narzędzia dotknij Reguły w chmurze.
- Otwórz regułę lub utwórz nową. Zobacz tworzenie reguły.
- W akcjach dotknij Dodaj akcję.
- Na liście wybierz Webhook.
- W polu URL wpisz adres swojego systemu.
- Jeśli chcesz też wywołania przy resecie reguły, dotknij Dodaj akcję resetowania i znowu wybierz Webhook.
- Dotknij Zapisz.




Jeśli adres jest niepoprawny, aplikacja pokazuje URL jest nieprawidłowy.
Żądanie
Dział zatytułowany „Żądanie”Platforma wysyła POST z treścią 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 | Zawartość |
|---|---|
event |
triggered, gdy reguła się uruchamia. resolved, gdy działa akcja Przy resecie. |
rule.id, rule.name |
Numer i nazwa reguły |
rule.serialno |
Urządzenie reguły |
rule.this_data |
Warunki reguły |
device_data |
Bieżący stan każdego urządzenia reguły, według numeru seryjnego. Ten sam format co aktualizacje WebSocket. |
messages |
Błędy, na przykład Failed to get state of e11:123 for rule #4321, gdy stan urządzenia jest niedostępny |
Wartości w R są surowe. W przykładzie T: 912 oznacza 9.12 °C. Zobacz definicje w REST API.
Platforma usuwa z device_data dane WiFi urządzenia (nazwę sieci, hasło i dane sieci firmowej).
Zabezpieczenie webhooka
Dział zatytułowany „Zabezpieczenie webhooka”Żądanie nie ma podpisu (HMAC). Aby sprawdzić, że żądanie pochodzi z Twojej reguły:
- Utwórz długi losowy sekret, na przykład poleceniem
openssl rand -hex 32. - Umieść sekret w ciągu zapytania adresu:
https://example.com/ham-hook?token=YOUR_SECRET. - W swoim systemie odrzucaj każde żądanie, które nie ma poprawnego
token.
Zasady i limity
Dział zatytułowany „Zasady i limity”- Adres musi zaczynać się od
https://. - Platforma nie wywołuje adresów lokalnych i prywatnych:
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 powiązanych adresów IPv6 (::1,fe80:,fc00::/7). - Do 5 wywołań na 60 sekund dla każdej akcji webhook reguły.
- Do 30 wywołań webhook na 60 sekund dla każdego konta.
- Platforma pomija wywołania ponad limity. Nie wysyła ich później.
- Platforma nie sprawdza statusu HTTP Twojej odpowiedzi i nie wysyła żądania ponownie.
- Akcja może mieć opóźnienie (PO). Reguła ma w sumie do 12 akcji.
Do pierwszego testu użyj publicznej usługi, która pokazuje otrzymywane żądania. Utwórz regułę z łatwym warunkiem i obejrzyj treść żądania.

