Webhook-uri din reguli
O regulă poate apela un URL când se declanșează. Astfel, propriul dumneavoastră sistem află imediat despre un eveniment, de exemplu o temperatură ridicată sau o deconectare a dispozitivului.
Înainte să începeți
Secțiune intitulată „Înainte să începeți”- HAM Systems activează webhook-urile pentru fiecare cont. Dacă aplicația arată Webhook-urile nu sunt activate pentru contul dvs., contactați suportul.
- Aveți nevoie de o adresă
https://care acceptă cereriPOSTde pe internet.
Adăugați un webhook la o regulă
Secțiune intitulată „Adăugați un webhook la o regulă”- Deschideți Meniu. În grupul Instrumente, atingeți Reguli în cloud.
- Deschideți o regulă sau creați o regulă nouă. Consultați creați o regulă.
- La acțiuni, atingeți Adăugați acțiune.
- În listă, selectați Webhook.
- În câmpul URL, introduceți adresa sistemului dumneavoastră.
- Dacă vreți un apel și când regula se resetează, atingeți Adăugați acțiune de resetare și selectați din nou Webhook.
- Atingeți Salvați.




Dacă adresa nu este corectă, aplicația arată URL-ul nu este valid.
Platforma trimite un POST cu un corp 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": []}| Câmp | Conținut |
|---|---|
event |
triggered când regula se declanșează. resolved când rulează o acțiune La resetare. |
rule.id, rule.name |
Numărul și numele regulii |
rule.serialno |
Dispozitivul regulii |
rule.this_data |
Condițiile regulii |
device_data |
Starea curentă a fiecărui dispozitiv al regulii, cu numărul de serie drept cheie. Același format ca actualizările WebSocket. |
messages |
Erori, de exemplu Failed to get state of e11:123 for rule #4321 când starea unui dispozitiv nu este disponibilă |
Valorile din R sunt brute. În exemplu, T: 912 înseamnă 9.12 °C. Consultați definițiile din API REST.
Platforma elimină din device_data datele WiFi ale dispozitivului (numele rețelei, parola și datele enterprise).
Securizați webhook-ul
Secțiune intitulată „Securizați webhook-ul”Cererea nu are semnătură (HMAC). Pentru a verifica dacă cererea vine de la regula dumneavoastră:
- Creați un secret lung și aleatoriu, de exemplu cu
openssl rand -hex 32. - Puneți secretul în query string-ul adresei:
https://example.com/ham-hook?token=YOUR_SECRET. - În sistemul dumneavoastră, respingeți fiecare cerere care nu are
tokencorect.
Reguli și limite
Secțiune intitulată „Reguli și limite”- Adresa trebuie să înceapă cu
https://. - Platforma nu apelează adrese locale și private:
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 adresele IPv6 asociate (::1,fe80:,fc00::/7). - Până la 5 apeluri pe 60 de secunde pentru fiecare acțiune webhook a unei reguli.
- Până la 30 de apeluri webhook pe 60 de secunde pentru fiecare cont.
- Platforma omite apelurile care depășesc limitele. Nu le trimite mai târziu.
- Platforma nu verifică starea HTTP a răspunsului dumneavoastră și nu retrimite cererea.
- O acțiune poate avea o întârziere (DUPĂ). O regulă are în total până la 12 acțiuni.
Pentru un prim test, folosiți un serviciu public care arată cererile pe care le primește. Creați o regulă cu o condiție ușoară și priviți corpul cererii.

