curl --request POST \
--url https://{environment}.{customerId}.ch.locatee.com/public/api/ingress/v2/network/wireless/rssi/presence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"eventID": "<string>",
"measuredAt": "2018-10-07T08:32:03Z",
"clientDevice": {
"macAddress": "00:00:0c:07:ac:fc",
"associatedAccessPointMacAddress": "b0:7d:47:c5:a1:13",
"vlan": {
"id": 977,
"name": "OFFICE-DESKS"
},
"anonymized": false,
"username": "john.doe",
"hostname": "MacBook-Pro-2.local",
"ssid": "CORP-WIFI",
"rssiDataPoints": [
{
"accessPointMacAddress": "b0:7d:47:c5:a1:13",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -23
},
{
"accessPointMacAddress": "b0:7d:47:c5:c2:b0",
"accessPointSlot": "0",
"lastHeard": 5,
"rssi": -60
},
{
"accessPointMacAddress": "b0:93:41:a5:01:fe",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -64
}
]
},
"presenceState": "PRESENT",
"presenceCount": 1,
"timeout": 600
}
]
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
eventID: '<string>',
measuredAt: '2018-10-07T08:32:03Z',
clientDevice: {
macAddress: '00:00:0c:07:ac:fc',
associatedAccessPointMacAddress: 'b0:7d:47:c5:a1:13',
vlan: {id: 977, name: 'OFFICE-DESKS'},
anonymized: false,
username: 'john.doe',
hostname: 'MacBook-Pro-2.local',
ssid: 'CORP-WIFI',
rssiDataPoints: [
{
accessPointMacAddress: 'b0:7d:47:c5:a1:13',
accessPointSlot: '0',
lastHeard: 2,
rssi: -23
},
{
accessPointMacAddress: 'b0:7d:47:c5:c2:b0',
accessPointSlot: '0',
lastHeard: 5,
rssi: -60
},
{
accessPointMacAddress: 'b0:93:41:a5:01:fe',
accessPointSlot: '0',
lastHeard: 2,
rssi: -64
}
]
},
presenceState: 'PRESENT',
presenceCount: 1,
timeout: 600
}
])
};
fetch('https://{environment}.{customerId}.ch.locatee.com/public/api/ingress/v2/network/wireless/rssi/presence', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{environment}.{customerId}.ch.locatee.com/public/api/ingress/v2/network/wireless/rssi/presence"
payload = [
{
"eventID": "<string>",
"measuredAt": "2018-10-07T08:32:03Z",
"clientDevice": {
"macAddress": "00:00:0c:07:ac:fc",
"associatedAccessPointMacAddress": "b0:7d:47:c5:a1:13",
"vlan": {
"id": 977,
"name": "OFFICE-DESKS"
},
"anonymized": False,
"username": "john.doe",
"hostname": "MacBook-Pro-2.local",
"ssid": "CORP-WIFI",
"rssiDataPoints": [
{
"accessPointMacAddress": "b0:7d:47:c5:a1:13",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -23
},
{
"accessPointMacAddress": "b0:7d:47:c5:c2:b0",
"accessPointSlot": "0",
"lastHeard": 5,
"rssi": -60
},
{
"accessPointMacAddress": "b0:93:41:a5:01:fe",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -64
}
]
},
"presenceState": "PRESENT",
"presenceCount": 1,
"timeout": 600
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Wireless RSSI Based Presence Events
Send multiple presence events with a list of RSSI signals for each client device connected to a wireless network.
It is required that, by device, presence events are in chronological order of measuredAt. Otherwise, events with an older measuredAt than the previously processed event of the same device will be ignored.
The device’s count will be automatically reset to 0 after the specified or default timeout unless the presence event of a client is send again with a newer measuredAt.
curl --request POST \
--url https://{environment}.{customerId}.ch.locatee.com/public/api/ingress/v2/network/wireless/rssi/presence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"eventID": "<string>",
"measuredAt": "2018-10-07T08:32:03Z",
"clientDevice": {
"macAddress": "00:00:0c:07:ac:fc",
"associatedAccessPointMacAddress": "b0:7d:47:c5:a1:13",
"vlan": {
"id": 977,
"name": "OFFICE-DESKS"
},
"anonymized": false,
"username": "john.doe",
"hostname": "MacBook-Pro-2.local",
"ssid": "CORP-WIFI",
"rssiDataPoints": [
{
"accessPointMacAddress": "b0:7d:47:c5:a1:13",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -23
},
{
"accessPointMacAddress": "b0:7d:47:c5:c2:b0",
"accessPointSlot": "0",
"lastHeard": 5,
"rssi": -60
},
{
"accessPointMacAddress": "b0:93:41:a5:01:fe",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -64
}
]
},
"presenceState": "PRESENT",
"presenceCount": 1,
"timeout": 600
}
]
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
eventID: '<string>',
measuredAt: '2018-10-07T08:32:03Z',
clientDevice: {
macAddress: '00:00:0c:07:ac:fc',
associatedAccessPointMacAddress: 'b0:7d:47:c5:a1:13',
vlan: {id: 977, name: 'OFFICE-DESKS'},
anonymized: false,
username: 'john.doe',
hostname: 'MacBook-Pro-2.local',
ssid: 'CORP-WIFI',
rssiDataPoints: [
{
accessPointMacAddress: 'b0:7d:47:c5:a1:13',
accessPointSlot: '0',
lastHeard: 2,
rssi: -23
},
{
accessPointMacAddress: 'b0:7d:47:c5:c2:b0',
accessPointSlot: '0',
lastHeard: 5,
rssi: -60
},
{
accessPointMacAddress: 'b0:93:41:a5:01:fe',
accessPointSlot: '0',
lastHeard: 2,
rssi: -64
}
]
},
presenceState: 'PRESENT',
presenceCount: 1,
timeout: 600
}
])
};
fetch('https://{environment}.{customerId}.ch.locatee.com/public/api/ingress/v2/network/wireless/rssi/presence', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{environment}.{customerId}.ch.locatee.com/public/api/ingress/v2/network/wireless/rssi/presence"
payload = [
{
"eventID": "<string>",
"measuredAt": "2018-10-07T08:32:03Z",
"clientDevice": {
"macAddress": "00:00:0c:07:ac:fc",
"associatedAccessPointMacAddress": "b0:7d:47:c5:a1:13",
"vlan": {
"id": 977,
"name": "OFFICE-DESKS"
},
"anonymized": False,
"username": "john.doe",
"hostname": "MacBook-Pro-2.local",
"ssid": "CORP-WIFI",
"rssiDataPoints": [
{
"accessPointMacAddress": "b0:7d:47:c5:a1:13",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -23
},
{
"accessPointMacAddress": "b0:7d:47:c5:c2:b0",
"accessPointSlot": "0",
"lastHeard": 5,
"rssi": -60
},
{
"accessPointMacAddress": "b0:93:41:a5:01:fe",
"accessPointSlot": "0",
"lastHeard": 2,
"rssi": -64
}
]
},
"presenceState": "PRESENT",
"presenceCount": 1,
"timeout": 600
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The ID of the event generated by the originating system.
36When this event had occurred.
"2018-10-07T08:32:03Z"
Contains information about the location of a client device, represented by a list of RSSI data points. If the request has no SSID it will not be checked against the SSID whitelist inclusion.
Show child attributes
Show child attributes
Describes the presence of the client device.
PRESENT, ABSENT "PRESENT"
The total number of connected devices (network connectivity) or detected people (sensors).
For wireless presence events, the presenceCount is expected to be 1 if the client device is connected to the network and 0 if the client device is disconnected.
For sensor events, the presenceCount is expected to be 1 if the sensor detects a person's presence. For people-counting sensors, the presenceCount is expected to be the number of detected people by the sensor.
1
Timeout in seconds until the presence count will reset to 0. The default value of timeout is 15min (900s). Ideal value is 2 times the readout frequency if 0 presenceCount events do not exist in the source system.
600
Response
Successful Operation

