The document describes methods and data formats used by Nwave's cloud-based API broker to relay preprocessed pre-processed smart parking sensor events to the client's endpoints. The data can be passed with or without authorization.
...
Template Body:
Code Block |
---|
|
{
"message_type": "status_change",
"message_trace_id": "{message_trace_id}",
"occupied": "{"occupied" if parsed["occupation_status"] is True else "free"}",
"parking_session_iterator": {parsed["parking_session_iterator"]},
"previous_status_duration_min": {parsed["previous_occupancy_status_duration_min"]},
"device_id": "{device_id}",
"position":{
"network_id": "{network_id}",
"custom_id": "{custom_id}",
"latitude": {latitude},
"longitude": {longitude},
"group_inner_id": {group_inner_id},
"group":{
"id": {group_id},
"name": "{group_name}",
"zone_id": {zone_id}
}
}
} |
Expand |
---|
|
Code Block |
---|
|
|
{
,
"message_type": "status_change",
"message_trace_id":
"5443685e-e8d9-410f-bcee-d2d82c2e8473 "{message_trace_id}",
"occupied": "{"occupied
":"free" if parsed["occupation_status"] is True else "free"}",
"parking_session_iterator": {parsed["parking_session_iterator"
:5]},
"previous_status_duration_min": {parsed["previous_occupancy_status_duration_min"
:16,]}
}
Expand |
---|
|
Code Block |
---|
| {
"device_id":"1E554",
"position":{
"network_id":"00000000-0000-0000-0000-00000001e554",
"custom_id":"",
"latitude":51.49442797732277,
"longitude":-0.1280093119192549,
"group_inner_id":1,
"group":{
"id":4121,
"name":"Test Group Delete After 26/02/2021",
"zone_id":2779
}
}
},
"message_type":"status_change",
"message_trace_id |
|
...
":"5443685e-e8d9-410f-bcee-d2d82c2e8473",
"occupied" |
|
...
...
",
"parking_session_iterator |
|
...
":5,
"previous_status_duration_min |
|
...
message_type - message type;
message_trace_id - system message-id;
occupied - parking occupancy status ("occupied" or "free");
parking_session_iterator - short serial number of parking session. Iterator (number) is incrementing when new parking session starts (0-7);
previous_status_duration_min - duration of previous sensor status;
Heartbeat
The message is sent to confirm the health status of a sensor every 3 hours in case of unchanged occupancy status.
...
Template Body:
Code Block |
---|
|
{
"message_type": "heartbeat",
"message_trace_id": "{message_trace_id}",
"parking_session_iterator": {parsed["parking_session_iterator"]},
"occupied": "{"occupied" if parsed["occupation_status"] is True else "free"}",
"heartbeat_message_counter": {heartbeat_message_counter},
"device_id": "{device_id}",
"position":{
"network_id": "{network_id}",
"custom_id": "{custom_id}",
"latitude": {latitude},
"longitude": {longitude},
"group_inner_id": {group_inner_id},
"group":{
"id": {group_id},
"name": "{group_name}",
"zone_id": {zone_id}
}
}
} |
Expand |
---|
|
Code Block |
---|
|
|
{,
"message_type": "heartbeat",
"message_trace_id":
"5443685e-e8d9-410f-bcee-d2d82c2e8473 "{message_trace_id}",
"parking_session_iterator":
5{parsed["parking_session_iterator"]},
"occupied": "{"occupied
":" if parsed["occupation_status"] is True else "free"}",
"heartbeat_message_counter": {parsed["heartbeat_message_counter"
: 2,]}
}
Expand |
---|
|
Code Block |
---|
| {
"device_id": "1E554",
"position":{
"network_id":"00000000-0000-0000-0000-00000001e554",
"custom_id":"",
"latitude":51.49442797732277,
"longitude":-0.1280093119192549,
"group_inner_id":1,
"group":{
"id":4121,
"name":"Test Group Delete After 26/02/2021",
"zone_id":2779
}
}
}
"message_type":"heartbeat",
"message_trace_id |
|
...
":"5443685e-e8d9-410f-bcee-d2d82c2e8473",
"parking_session_iterator |
|
...
occupied - parking occupancy status ("occupied" or "free");
...
": 5,
"occupied": "free",
"heartbeat_message_counter": 2
} |
|
message_type - message type;
message_trace_id - system message-id;
parking_session_iterator - short number of parking session. Iterator is incrementing when parking session starts (0-7);
occupied - parking occupancy status ("occupied" or "free");
heartbeat_message_counter - the value increases for every following heartbeat during single occupancy state (0-11);
User Registration (SDI Tag)
...
Method: PUT/POST
Template Body:
Code Block |
---|
|
{
"message_type": "user_registration",
"occupied": "{"occupied" if parsed["occupation_status"] is True else "free"}",
"auth_ble_tag": {
"tag_id": "string",
"event_time": "string" #message_time or received_time
},
"device_id": "{device_id}",
"position":{
"network_id": "{network_id}",
"custom_id": "{custom_id}",
"latitude": {latitude},
"longitude": {longitude},
"group_inner_id": {group_inner_id},
"group":{
"id": {group_id},
"name": "{group_name}",
"zone_id": {zone_id}
}
}
} |
Expand |
---|
|
Code Block |
---|
|
message_trace_id - system message-id;
position_network_id - parking space network address;
new_status - parking occupancy status ("occupied" or "free");
sdi_tag_id - an ID of Bluetooth tag which was used for authorization;
session_iterator - short serial number of parking session. Iterator (number) is incrementing when new parking session starts (0-7);
Expand |
---|
|
device_id - device id hexadecimal network_id - parking space network address; custom_id - a property "custom_id" of a position; latitude, longitude - GPS coordinates; group_inner_id - a device number inside of a parking bay; group id - id of a parking bay; name - name of a position’s group; zone_id - id of a group’s zone.
|
...
...
...
...
...
...
...
...
registration",
"message_trace_id": "{message_trace_id}",
" |
...
occupied": "{"occupied" if parsed["occupation_status"] is True else "free"}",
"auth_ble_tag": {
" |
...
tag_id": "{parsed["user_ID"]}",
|
...
...
...
...
"{iso8601(message_time)}"
}
} |
Expand |
---|
|
Code Block |
---|
| {
"device_id":"1E554",
"locationposition":{
{"network_id":"00000000-0000-0000-0000-00000001e554",
"latitudecustom_id": {latitude}"",
"latitude":51.49442797732277,
"longitude": {longitude},-0.1280093119192549,
"group_inner_id":1,
"levelgroup":{
{level} }, "groupingid":4121,
{ "zone_idname": {zone_id},"Test Group Delete After 26/02/2021",
"groupzone_id": {group_id},2779
}
},
"groupmessage_nametype": "{groupuser_name}registration",
"message_trace_id":"7d611a3f-f2a3-4653-b70a-7e3f07e5987f",
"groupparking_innersession_iditerator": {group_inner_idparsed["parking_session_iterator"]},
"occupied":"occupied",
"custom"auth_ble_tag":{
"tag_id":"1A2B3C4D",
"{custom_id}event_time":"2021-02-26T18:06:14.000+00:00"
}
} |
|
message_type - message type;
message_trace_id - system message-id;
parking_session_iterator - short serial number of parking session. Iterator (number) is incrementing when new parking session starts (0-7);
occupied- parking occupancy status ("occupied" or "free");
auth_ble_tag