Webhook позиви из правила
Правило може да позове URL када се активира. Тако ваш систем одмах сазнаје за догађај, на пример за високу температуру или прекид везе уређаја.
Пре него што почнете
Одељак „Пре него што почнете“- HAM Systems укључује webhook позиве за сваки налог посебно. Ако апликација прикаже Webhook-ови нису омогућени за ваш налог, контактирајте подршку.
- Потребна вам је
https://адреса која прихватаPOSTзахтеве са интернета.
Додавање webhook позива у правило
Одељак „Додавање webhook позива у правило“- Отворите Мени. У групи Алати додирните Правила у облаку.
- Отворите правило или направите ново правило. Погледајте Креирање правила.
- У радњама додирните Додај радњу.
- На листи изаберите Webhook.
- У поље URL унесите адресу свог система.
- Ако желите позив и када се правило ресетује, додирните Додај радњу ресетовања и поново изаберите Webhook.
- Додирните Сачувај.




Ако адреса није исправна, апликација приказује 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 радњи.
Тест
Одељак „Тест“За први тест користите јавни сервис који приказује захтеве које прима. Направите правило са једноставним условом и погледајте тело захтева.

