Przejdź do głównej zawartości

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.

  • 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 żądania POST z internetu.
  1. Otwórz Menu. W grupie Narzędzia dotknij Reguły w chmurze.
  2. Otwórz regułę lub utwórz nową. Zobacz tworzenie reguły.
  3. W akcjach dotknij Dodaj akcję.
  4. Na liście wybierz Webhook.
  5. W polu URL wpisz adres swojego systemu.
  6. Jeśli chcesz też wywołania przy resecie reguły, dotknij Dodaj akcję resetowania i znowu wybierz Webhook.
  7. Dotknij Zapisz.
Nowa reguła z warunkami i akcjami
Komputer
Nowa reguła z warunkami i akcjami
Telefon
Akcja reguły ustawiona na Webhook z wypełnionym polem URL
Komputer
Akcja reguły ustawiona na Webhook z wypełnionym polem URL
Telefon

Jeśli adres jest niepoprawny, aplikacja pokazuje URL jest nieprawidłowy.

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

Żądanie nie ma podpisu (HMAC). Aby sprawdzić, że żądanie pochodzi z Twojej reguły:

  1. Utwórz długi losowy sekret, na przykład poleceniem openssl rand -hex 32.
  2. Umieść sekret w ciągu zapytania adresu: https://example.com/ham-hook?token=YOUR_SECRET.
  3. W swoim systemie odrzucaj każde żądanie, które nie ma poprawnego token.
  • 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/8 i 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.

Czat z pomocą techniczną