Webhooks от правила
Правилото може да извика URL, когато се задейства. Така Вашата система научава за събитие веднага, например висока температура или прекъсната връзка на устройство.
Преди да започнете
Раздел „Преди да започнете“- HAM Systems включва webhooks за всеки акаунт поотделно. Ако приложението показва Webhooks не са активирани за вашия акаунт, се свържете с поддръжката.
- Трябва Ви адрес
https://, който приема заявкиPOSTот интернет.
Добавяне на webhook към правило
Раздел „Добавяне на webhook към правило“- Отворете Меню. В групата Инструменти натиснете Облачни правила.
- Отворете правило или създайте ново правило. Вижте Създаване на правило.
- В действията натиснете Добавяне на действие.
- В списъка изберете Web извикване.
- В полето URL въведете адреса на Вашата система.
- Ако искате извикване и когато правилото се нулира, натиснете Добавяне на действие за нулиране и изберете отново Web извикване.
- Натиснете Запази.




Ако адресът не е правилен, приложението показва URL не е валиден.
Заявката
Раздел „Заявката“Платформата изпраща POST с тяло 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": []}| Поле | Съдържание |
|---|---|
event |
triggered, когато правилото се задейства. resolved, когато се изпълни действие При нулиране. |
rule.id, rule.name |
Номерът и името на правилото |
rule.serialno |
Устройството на правилото |
rule.this_data |
Условията на правилото |
device_data |
Текущото състояние на всяко устройство в правилото, по сериен номер. Същият формат като обновяванията на WebSocket. |
messages |
Грешки, например Failed to get state of e11:123 for rule #4321, когато състоянието на устройство не е налично |
Стойностите в R са необработени. В примера T: 912 означава 9.12 °C. Вижте дефинициите в REST API.
Платформата премахва данните за WiFi на устройството (име на мрежата, парола и корпоративни данни) от device_data.
Защита на webhook
Раздел „Защита на webhook“Заявката няма подпис (HMAC). За да проверите, че заявката идва от Вашето правило:
- Създайте дълга случайна тайна, например с
openssl rand -hex 32. - Сложете тайната в query string на адреса:
https://example.com/ham-hook?token=YOUR_SECRET. - Във Вашата система отхвърляйте всяка заявка, която няма правилния
token.
Правила и лимити
Раздел „Правила и лимити“- Адресът трябва да започва с
https://. - Платформата не извиква локални и частни адреси:
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и съответните IPv6 адреси (::1,fe80:,fc00::/7). - До 5 извиквания за 60 секунди за всяко действие webhook на правило.
- До 30 извиквания на webhook за 60 секунди за всеки акаунт.
- Платформата пропуска извикванията над лимитите. Тя не ги изпраща по-късно.
- Платформата не проверява HTTP статуса на Вашия отговор и не изпраща заявката отново.
- Действието може да има закъснение (СЛЕД). Правилото има общо до 12 действия.
Тест
Раздел „Тест“За първи тест използвайте публична услуга, която показва заявките, които получава. Създайте правило с лесно условие и вижте тялото на заявката.

