Events v2
A new version called v2 of webhooks was developed to be more consistent with the API.
New location
The event is triggered when a location is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "location_changed" for new location event | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "location" for location event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.latitude | double | Location latitude | 
| event.longitude | double | Location longitude | 
| event.accuracy | long | Accuracy (in meters) might be added to location in case we get location from wifi or tdoa - Not present in the payload if null | 
| event.formatted_address | String | Reverse geocoded address from lat/lng. Not present if no results | 
Example
{
    "hook_event": "location_changed",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "location",
        "timestamp": "2019-03-21T14:03:12.759Z",
        "latitude": 48.759,
        "longitude": -3.45983,
        "accuracy": 50,
        "formatted_address": "Moulin de Kergomar, Rue Louis de Broglie, 22300 Lannion, France"
    }
}
Button press
The event is triggered when a button press is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "button_pressed" for new button press | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "button" for new location event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.click_type | String | Values=["click","double_click","hold"] | 
| last_location | Object | Not present if no location exits on the platform | 
| last_location.timestamp | String | UTC Datetime in ISO 8601 format | 
| last_location.latitude | double | Location latitude | 
| last_location.longitude | double | Location longitude | 
| last_location.accuracy | long | Accuracy (in meters) might be added to location in case we get location from wifi or tdoa - Not present in the payload if null | 
| last_location.formatted_address | String | Reverse geocoded address from lat/lng. Not present if no results | 
Example
{
    "hook_event": "button_pressed",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "button",
        "timestamp": "2019-03-21T14:21:05.619Z",
        "click_type": "hold"
    },
    "last_location": {
        "timestamp": "2019-03-21T14:21:05.621Z",
        "latitude": 48.759,
        "longitude": -3.45983,
        "accuracy": 50,
        "formatted_address": "Moulin de Kergomar, Rue Louis de Broglie, 22300 Lannion, France"
    }
}
Button press - Single click
The event is triggered when a simple click is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "button_pressed_click" for new button press simple click | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "button" for new button simple click event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.click_type | String | Value="click" | 
| last_location | Object | Not present if no location exits on the platform | 
| last_location.latitude | double | Location latitude | 
| last_location.longitude | double | Location longitude | 
| last_location.accuracy | long | Accuracy (in meters) might be added to location in case we get location from wifi or tdoa - Not present in the payload if null | 
| last_location.formatted_address | String | Reverse geocoded address from lat/lng. Not present if no results | 
Example
{
    "hook_event": "button_pressed_click",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "button",
        "timestamp": "2019-03-21T14:28:17.823Z",
        "click_type": "click"
    },
    "last_location": {
        "timestamp": "2019-03-21T14:28:17.825Z",
        "latitude": 48.759,
        "longitude": -3.45983,
        "accuracy": 50,
        "formatted_address": "Moulin de Kergomar, Rue Louis de Broglie, 22300 Lannion, France"
    }
}
Button press - Double click
The event is triggered when a double click is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "button_pressed_double_click" for new button press | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "button" for new button double click event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.click_type | String | Value="double_click" | 
| last_location | Object | Not present if no location exits on the platform | 
| last_location.latitude | double | Location latitude | 
| last_location.longitude | double | Location longitude | 
| last_location.accuracy | long | Accuracy (in meters) might be added to location in case we get location from wifi or tdoa - Not present in the payload if null | 
| last_location.formatted_address | String | Reverse geocoded address from lat/lng. Not present if no results | 
Example
{
    "hook_event": "button_pressed_double_click",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "button",
        "timestamp": "2019-03-21T14:28:17.823Z",
        "click_type": "double_click"
    },
    "last_location": {
        "timestamp": "2019-03-21T14:28:17.825Z",
        "latitude": 48.759,
        "longitude": -3.45983,
        "accuracy": 50,
        "formatted_address": "Moulin de Kergomar, Rue Louis de Broglie, 22300 Lannion, France"
    }
}
Button press - Hold click
The event is triggered when a hold press is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "button_pressed_hold" for new button press | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "button" for new button hold click event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.click_type | String | Value="hold" | 
| last_location | Object | Not present if no location exits on the platform | 
| last_location.latitude | double | Location latitude | 
| last_location.longitude | double | Location longitude | 
| last_location.accuracy | long | Accuracy (in meters) might be added to location in case we get location from wifi or tdoa - Not present in the payload if null | 
| last_location.formatted_address | String | Reverse geocoded address from lat/lng. Not present if no results | 
Example
{
    "hook_event": "button_pressed_hold",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "button",
        "timestamp": "2019-03-21T14:28:17.823Z",
        "click_type": "hold"
    },
    "last_location": {
        "timestamp": "2019-03-21T14:28:17.825Z",
        "latitude": 48.759,
        "longitude": -3.45983,
        "accuracy": 50,
        "formatted_address": "Moulin de Kergomar, Rue Louis de Broglie, 22300 Lannion, France"
    }
}
New temperature measure
The event is triggered when a new temperature measure is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_temperature" for new temperature measure | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "temperature" for new temperature event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.value | Double | Temperature value | 
| event.unit | String | Temperature unit ; Values=[celsius,fahrenheit] | 
Example
{
    "hook_event": "new_temperature",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "temperature",
        "timestamp": "2019-03-21T14:35:03.092Z",
        "value": 19.3,
        "unit": "celsius"
    }
}
New humidity measure
The event is triggered when a new humidity measure is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_humidity" for new humidity measure | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "humidity" for new humidity event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.value | Double | Humidity value | 
| event.unit | String | Humidity unit ; Values=[percent] | 
Example
{
    "hook_event": "new_humidty",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "humidity",
        "timestamp": "2019-03-21T14:42:16.543Z",
        "value": 75.5,
        "unit": "percent"
    }
}
New door measure
The event is triggered when a door state is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_door" for new door status | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "door" for new door event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.status | String | Door status ; Values=[open,closed] | 
Example
{
    "hook_event": "new_door",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "door",
        "timestamp": "2019-03-21T14:44:45.382Z",
        "status": "closed"
    }
}
New shock measure
The event is triggered when a shock state is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_shock" for new shock status | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "shock" for new shock event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.status | String | Shock status ; Values=[clear,detected] | 
Example
{
    "hook_event": "new_shock",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "shock",
        "timestamp": "2019-03-21T14:47:13.117Z",
        "status": "detected"
    }
}
New rollover measure
The event is triggered when a rollover state is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_rollover" for new rollover status | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "rollover" for new rollover event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.status | String | Rollover status ; Values=[clear,detected] | 
Example
{
    "hook_event": "new_rollover",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "rollover",
        "timestamp": "2019-03-21T14:48:14.960Z",
        "status": "detected"
    }
}
New battery measure
The event is triggered when a new battery measure is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_battery" for new battery measure | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "battery" for new battery event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.value | Integer | Battery value | 
| event.unit | String | Battery unit ; Values=[percent,millivolt] | 
Example
{
    "hook_event": "new_battery",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "battery",
        "timestamp": "2019-03-21T14:45:48.229Z",
        "value": 75,
        "unit": "percent"
    }
}
New battery status
The event is triggered when a new battery status is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_battery_status" for new door measure | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "battery_status" for new battery status event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.status | String | Battery status ; Values=[good,bad] | 
Example
{
    "hook_event": "new_battery_status",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "battery",
        "timestamp": "2019-03-21T14:50:13.651Z",
        "status": "good"
    }
}
New motion measure
The event is triggered when a new motion status is received on the plateform.
Payload
| Path | Type | Description | 
|---|---|---|
| hook_event | String | Equals to "new_motion" for new motion status | 
| device.name | String | Device name | 
| device.serial_number | String | LPWAN Device #ID ; DevEUI for or Sigfox #ID ; Not set if device type is not LPWAN | 
| device.mac_address | String | Device macaddress if device type is not LPWAN | 
| device.minor | Integer | IBeacon minor if device supports IBeacon protocol; Not set if not the case | 
| device.major | Integer | IBeacon major if device supports IBeacon protocol; Not set if not the case | 
| device.proximity_uuid | String | IBeacon proximity UUID if device supports IBeacon protocol; Not set if not the case | 
| event.name | String | Equals to "motion" for new motion event | 
| event.timestamp | String | UTC Datetime in ISO 8601 format | 
| event.status | String | Motion status ; Values=[still,moving] | 
Example
{
    "hook_event": "new_motion",
    "device": {
        "name": "TiFiz",
        "serial_number": "85153223"
    },
    "event": {
        "name": "battery",
        "timestamp": "2019-03-21T14:52:44.795Z",
        "status": "moving"
    }
}
