Към съдържанието

Webhooks от правила

Правилото може да извика URL, когато се задейства. Така Вашата система научава за събитие веднага, например висока температура или прекъсната връзка на устройство.

  • HAM Systems включва webhooks за всеки акаунт поотделно. Ако приложението показва Webhooks не са активирани за вашия акаунт, се свържете с поддръжката.
  • Трябва Ви адрес https://, който приема заявки POST от интернет.

Добавяне на webhook към правило

Раздел „Добавяне на webhook към правило“
  1. Отворете Меню. В групата Инструменти натиснете Облачни правила.
  2. Отворете правило или създайте ново правило. Вижте Създаване на правило.
  3. В действията натиснете Добавяне на действие.
  4. В списъка изберете Web извикване.
  5. В полето URL въведете адреса на Вашата система.
  6. Ако искате извикване и когато правилото се нулира, натиснете Добавяне на действие за нулиране и изберете отново Web извикване.
  7. Натиснете Запази.
Ново правило с условия и действия
Компютър
Ново правило с условия и действия
Телефон
Действие на правило, зададено на Web извикване, с попълнено поле URL
Компютър
Действие на правило, зададено на Web извикване, с попълнено поле URL
Телефон

Ако адресът не е правилен, приложението показва 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.

Заявката няма подпис (HMAC). За да проверите, че заявката идва от Вашето правило:

  1. Създайте дълга случайна тайна, например с openssl rand -hex 32.
  2. Сложете тайната в query string на адреса: https://example.com/ham-hook?token=YOUR_SECRET.
  3. Във Вашата система отхвърляйте всяка заявка, която няма правилния 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 действия.

За първи тест използвайте публична услуга, която показва заявките, които получава. Създайте правило с лесно условие и вижте тялото на заявката.

Чат с поддръжката