Queue monitor API
Authentication
For detailed information on how to authenticate requests to this API, please refer to Authentication.
Common examples
Request the number of people standing in queue at this moment.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?live-sum-people.json"
GET /local/queue/.api?live-sum-people.json
Host: <servername>
Return
{
"serial": "ACCC8E20F09B",
"name": "Service Counter",
"timestamp": "20170113181132",
"region1name": "Product Display",
"region1people": 1,
"region2name": "Aisle Display",
"region2people": 0,
"region3name": "Service Counter",
"region3people": 3
}
See Get real time people in queue data for more information.
Request historical minutes of queue data in CSV format for the 1st and the 3rd of May 2017 with a 5 hour resolution.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-minutes&date=20170501,20170503&res=5h"
GET /local/queue/.api?export-csv-minutes&date=20170501,20170503&res=5h
Host: <servername>
Return
Interval start,Interval stop,Camera serial number,Name,Region1 High,Region1 Mid,Region1 Low,Region2 High,Region2 Mid,Region2 Low,Region3 High,Region3 Mid,Region3 Low
2017-05-01 00:00:00,2017-05-01 05:00:00,00XXXXXXXXXX,Camera1,0,0,300,0,0,300,0,0,300
2017-05-01 05:00:00,2017-05-01 10:00:00,00XXXXXXXXXX,Camera1,0,0,300,0,0,300,0,20,280
2017-05-01 10:00:00,2017-05-01 15:00:00,00XXXXXXXXXX,Camera1,0,0,300,0,0,300,0,174,126
2017-05-01 15:00:00,2017-05-01 20:00:00,00XXXXXXXXXX,Camera1,0,0,300,0,0,300,0,109,191
2017-05-01 20:00:00,2017-05-02 01:00:00,00XXXXXXXXXX,Camera1,0,0,300,0,0,300,0,0,300
2017-05-03 00:00:00,2017-05-03 05:00:00,00XXXXXXXXXX,Camera1,0,0,300,0,0,300,0,0,300
2017-05-03 05:00:00,2017-05-03 10:00:00,00XXXXXXXXXX,Camera1,0,34,266,0,17,283,8,67,225
See Request CSV minute data for more information.
Request historical people in queue data, in CSV format, for the 4th of April and the 3rd of May 2017 with a 120 minute resolution.
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-people&date=20170428,20170503&res=120m"
GET /local/queue/.api?export-csv-people&date=20170428,20170503&res=120m
Host: <servername>
Return
Interval start,Interval stop,Camera serial number,Name,People in Region1,People in Region2,People in Region3
2017-05-03 00:00:00,2017-05-03 02:00:00,00XXXXXXXXXX,Camera2,0,0,2
2017-05-03 02:00:00,2017-05-03 04:00:00,00XXXXXXXXXX,Camera2,1,1,1
2017-05-03 04:00:00,2017-05-03 06:00:00,00XXXXXXXXXX,Camera2,1,0,1
2017-05-03 06:00:00,2017-05-03 08:00:00,00XXXXXXXXXX,Camera2,1,0,2
2017-05-03 08:00:00,2017-05-03 10:00:00,00XXXXXXXXXX,Camera2,1,0,1
See Request CSV people data for more information.
API specification
Get real time people in queue data
- Format: JSON
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?live-sum-people.json"
GET /local/queue/.api?live-sum-people.json
Host: <servername>
Return
{
"serial":"<camera-serial>",
"name":"<counter-name>",
"timestamp":"<timestamp>",
"region1name":"<name1>",
"region1people":<people1>,
"region2name":"<name2>",
"region2people":<people2>,
"region3name":"<name3>",
"region3people":<people3>
}
Return value descriptions
| Value | Description |
|---|---|
<camera-serial> | camera serial number |
<counter-name> | name of the counter |
<timestamp> | time in the camera in the format YYYYMMDDhhmmss |
<region1name> | name of region 1 |
<region1people> | number of people standing in region 1 |
Request CSV minute data
- Format: CSV
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-minutes[&date=<date>][&res=<res>]"
GET /local/queue/.api?export-csv-minutes[&date=<date>][&res=<res>]
Host: <servername>
Request parameter descriptions
| Parameter | Description |
|---|---|
<date> | a date of the form YYYYMMDD |
a date interval of the form YYYYMMDD-YYYYMMDD | |
comma separated dates of the form YYYYMMDD,[..],YYYYMMDD | |
all (default) for all available data | |
<res> | 15m (default) for data in 15 minute bins |
1h for data in 1 hour bins | |
24h for data in 1 day bins |
Return
This script returns data in plain text, comma-separated values. The first line is a comma-separated header describing each column. Each integer value states the number of minutes for which there has been a certain amount of queue (High/Mid/Low) for a certain region.
Request CSV people data
- Format: CSV
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-people[&date=<date>][&res=<res>]"
GET /local/queue/.api?export-csv-people[&date=<date>][&res=<res>]
Host: <servername>
Request parameter descriptions
| Parameter | Description |
|---|---|
<date> | a date of the form YYYYMMDD |
a date interval of the form YYYYMMDD-YYYYMMDD | |
comma separated dates of the form YYYYMMDD,[..],YYYYMMDD | |
all (default) for all available data | |
<res> | 1m for data in 1 minute bins |
15m (default) for data in 15 minute bins | |
1h for data in 1 hour bins | |
24h for data in 1 day bins |
Return
This script returns data in plain text, comma-separated values. The first line is a comma separated header describing each column. Each integer value states the average number of people within a certain region of interest.
Clear local queue data
- Format: text/plain
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?clear-data"
GET /local/queue/.apioperator?clear-data
Host: <servername>
Return
OK
List application parameters
- Format: JSON
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?params.json"
GET /local/queue/.api?params.json
Host: <servername>
Return
A JSON object of all the application related parameters.
Set application related parameters
- Format: text
The post format has a format where pairs and values need to be specified, best described by an example: &p1=Counter.Enabled&v1=1&p2=WebReportUpload.Enabled&v2=1
- curl
- HTTP
curl --request POST \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?setparams"
POST /local/queue/.apioperator?setparams
Host: <servername>
Return
OK
Show the system log
- Format: text/plain
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?show-logs"
GET /local/queue/.apioperator?show-logs
Host: <servername>
Return
Displays the system logs.
Generate a log archive
- Format: tar.gz
- curl
- HTTP
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?generate-logs"
GET /local/queue/.apioperator?generate-logs
Host: <servername>
Return
A log archive