Webhooks з правил
Правило може викликати URL, коли воно спрацьовує. Так ваша система відразу дізнається про подію, наприклад про високу температуру або відключення пристрою.
Перед початком
Section titled “Перед початком”- HAM Systems вмикає webhooks для кожного облікового запису окремо. Якщо застосунок показує Webhook не увімкнені для вашого облікового запису, зверніться до підтримки.
- Вам потрібна адреса
https://, яка приймає запитиPOSTз інтернету.
Додайте webhook до правила
Section titled “Додайте 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
Section titled “Захистіть webhook”Запит не має підпису (HMAC). Щоб перевірити, що запит надходить від вашого правила:
- Створіть довгий випадковий секрет, наприклад командою
openssl rand -hex 32. - Розмістіть секрет у рядку запиту адреси:
https://example.com/ham-hook?token=YOUR_SECRET. - У вашій системі відхиляйте кожен запит, який не має правильного
token.
Правила і обмеження
Section titled “Правила і обмеження”- Адреса має починатися з
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 дій.
Перевірка
Section titled “Перевірка”Для першої перевірки використовуйте публічний сервіс, який показує отримані запити. Створіть правило з простою умовою і подивіться на тіло запиту.

