Skip to main content

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 --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?live-sum-people.json"

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 --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-minutes&date=20170501,20170503&res=5h"

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 --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-people&date=20170428,20170503&res=120m"

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 --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?live-sum-people.json"

Return

{
"serial":"<camera-serial>",
"name":"<counter-name>",
"timestamp":"<timestamp>",
"region1name":"<name1>",
"region1people":<people1>,
"region2name":"<name2>",
"region2people":<people2>,
"region3name":"<name3>",
"region3people":<people3>
}

Return value descriptions

ValueDescription
<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 --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-minutes[&date=<date>][&res=<res>]"

Request parameter descriptions

ParameterDescription
<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 --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?export-csv-people[&date=<date>][&res=<res>]"

Request parameter descriptions

ParameterDescription
<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 --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?clear-data"

Return

OK

List application parameters​

  • Format: JSON
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.api?params.json"

Return

A JSON object of all the 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 --request POST \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?setparams"

Return

OK

Show the system log​

  • Format: text/plain
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?show-logs"

Return

Displays the system logs.

Generate a log archive​

  • Format: tar.gz
curl --request GET \
--anyauth \
--user "<username>:<password>" \
"http://<servername>/local/queue/.apioperator?generate-logs"

Return

A log archive