Webhooks από κανόνες
Ένας κανόνας μπορεί να καλεί μια διεύθυνση URL όταν ενεργοποιείται. Έτσι το δικό σας σύστημα μαθαίνει αμέσως ένα συμβάν, π.χ. υψηλή θερμοκρασία ή αποσύνδεση συσκευής.
Πριν ξεκινήσετε
Ενότητα με τίτλο «Πριν ξεκινήσετε»- Η HAM Systems ενεργοποιεί τα webhooks ανά λογαριασμό. Αν η εφαρμογή δείχνει Τα webhooks δεν είναι ενεργοποιημένα για τον λογαριασμό σας, επικοινωνήστε με την υποστήριξη.
- Χρειάζεστε μια διεύθυνση
https://που δέχεται αιτήματαPOSTαπό το διαδίκτυο.
Προσθήκη webhook σε κανόνα
Ενότητα με τίτλο «Προσθήκη webhook σε κανόνα»- Ανοίξτε το Μενού. Στην ομάδα Εργαλεία, πατήστε Κανόνες cloud.
- Ανοίξτε έναν κανόνα ή φτιάξτε νέο κανόνα. Δείτε τη δημιουργία κανόνα.
- Στις ενέργειες, πατήστε Προσθήκη ενέργειας.
- Στη λίστα επιλέξτε Κλήση Web.
- Στο πεδίο URL γράψτε τη διεύθυνση του συστήματός σας.
- Αν θέλετε κλήση και όταν ο κανόνας επανέλθει, πατήστε Προσθήκη ενέργειας επαναφοράς και επιλέξτε ξανά Κλήση Web.
- Πατήστε Αποθήκευση.




Αν η διεύθυνση δεν είναι σωστή, η εφαρμογή δείχνει Το URL δεν είναι έγκυρο.
Το αίτημα
Ενότητα με τίτλο «Το αίτημα»Η πλατφόρμα στέλνει POST με σώμα JSON (Content-Type: application/json):
{ "event": "triggered", "rule": { "id": 4321, "name": "Ψυγείο 1 θερμοκρασία", "serialno": "e11:123", "this_data": [ { "...": "οι συνθήκες του κανόνα" } ] }, "device_data": { "e11:123": { "R": { "T": 912, "GI": 1, "GIC": 0, "GI2": 1, "GI2C": 0 }, "O": [], "S": { "...": "οι ρυθμίσεις της συσκευής" } } }, "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.
Η πλατφόρμα αφαιρεί από το device_data τα στοιχεία WiFi της συσκευής (όνομα δικτύου, κωδικός και στοιχεία enterprise).
Ασφάλεια του 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 ενέργειες συνολικά.
Για μια πρώτη δοκιμή, χρησιμοποιήστε μια δημόσια υπηρεσία που δείχνει τα αιτήματα που δέχεται. Ορίστε έναν κανόνα με εύκολη συνθήκη και δείτε το σώμα του αιτήματος.

