Introduction
Welcome to the Proximi.io REST API Documentation. Below you can find all REST methods that you can access using any standard HTTP client. Except login and registration, all methods use HTTP Header "Authorization" with JWT Token for user authorization. For methods posting JSON data, "Content-Type": "application/json" header should be always set.
For more comfortable work with our REST API, you can also use our API Explorer available at https://api.proximi.fi/core_explorer
Authentication
curl "api_endpoint_here"
-H "Authorization: Bearer YOUR_TOKEN"
Make sure to replace
YOUR_TOKEN
with your API key.
Proximi.io Core Service expects for the API key to be included in all API requests to the server (except login & registration) in a header that looks like the following:
Authorization: Bearer YOUR_TOKEN
Login
curl "https://api.proximi.fi/core_auth/login" \
-X POST \
-d "email=john@doe.com&password=somePassword"
The above command returns JSON structured like this:
{
"user":{
"id":"2767fd82-418e-4456-87e4-7134ab968994",
"name":"A Nice Company",
"email":"info@company.com"
},
"token":"YOUR_TOKEN",
"organization":{
"id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"email":"info@company.com",
"eventBusRef":"https://proximiio-event-bus.firebaseio.com/organizations/12ffb61d-a99e-4edd-8e21-85bec9d42622"
}
}
This endpoint returns an authorization token.
HTTP Request
POST https://api.proximi.fi/core_auth/login
POST Parameters
Parameter | Description |
---|---|
The Email of User | |
password | The Password of User |
Registration
curl "https://api.proximi.fi/core_auth/registration" \
-X POST \
-d "email=john@doe.com&password=somePassword&last_name=Doe&first_name=John&background=FreelanceDeveloper&company=FreeHero&country=Finland"
The above command returns JSON structured like this:
{
"user":{
"id":"f73d17cb-98ce-4f90-8d75-a1e5aa592c2d",
"name":"Doe John",
"email":"john@doe.com"
},
"token":"YOUR_TOKEN",
"organization":{
"id":"6ecd3382-0134-41b0-baca-0256b70ab957",
"name":"FreeHero",
"background":"FreelanceDeveloper",
"country":"Finland",
"email":"john@doe.com",
"eventBusRef":"https://proximiio-event-bus.firebaseio.com/organizations/6ecd3382-0134-41b0-baca-0256b70ab957"
}
}
This endpoint returns an authorization token, user object and organization object.
HTTP Request
POST https://api.proximi.fi/core_auth/registration
POST Parameters
Parameter | Description |
---|---|
The Email of User | |
password | The Password of User |
first_name | First Name of User |
last_name | Last Name of User |
background | Background of User |
country | Country of User |
Current User
curl "https://api.proximi.fi/core/current_user" \
-X GET
The above command returns JSON structured like this:
{
"id":"15512345-4368-487b-8434-8dedba775c5f",
"name":"Devs Proximiio",
"first_name":"Devs",
"last_name":"Proximiio",
"email":"devs@proximi.io",
"organization_id":"2fd123456-5243-4226-b182-e138d34825f5",
"organization":{
"id":"2fd123456-5243-4226-b182-e138d34825f5",
"name":"Proximi.io",
"background":"Freelance developer",
"country":"Finland",
"email":"devs@proximi.io",
"eventBusToken":"eyJ0..TOKEN..K8c",
"positionsToken":"eyJ0..TOKEN..328",
"eventBusRef":"https://proximiio-event-bus.firebaseio.com/organizations/2f123455-5243-4226-b182-e138d34825f5"
},
"tokens":[
{
"eyJ0..TOKEN..hbLQ":{
"type":"user",
"user":"Proximiio Devs",
"user_id":"155b136c-4368-487b-8434-8dedba775c5f",
"tenant_id":"2fd91f35-5243-4226-b182-e138d34825f5"
}
},
{
"eyJ0..TOKEN..yqcw":{
"type":"application",
"application_id":"e35a29de-79c1-4a4c-be12-7c95ec63e21c"
}
}
],
"data":{
"background":"Freelance developer",
"country":"Finland",
"createdAt":"2016-02-29T09:54:58.499Z",
"email":"devs@proximi.io",
"first_name":"Devs",
"id":"155123456-4368-487b-8434-8dedba775c5f",
"last_name":"Proximiio",
"name":"Devs Proximiio",
"organization_id":"2fd123456-5243-4226-b182-e138d34825f5",
"token":"eyJ0..TOKEN..bLQ",
"updatedAt":"2016-04-27T14:06:34.883Z"
}
}
This endpoint returns an authorization tokens and organization data.
HTTP Request
GET https://api.proximi.fi/core/auth
Analytics
Overview
curl "http://api.proximi.fi/analytics/overview?date_from=2016-01-01&date_to=2016-04-01" \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"visitors":{
"created":0,
"total":1,
"returning":1,
"loyalty":100
},
"visits":15,
"locales":[
{
"group":"sk_SK",
"reduction":1
}
],
"platforms":[
{
"group":"android",
"reduction":1
}
],
"chart":[
{
"group":[
[
2016,
2,
29
],
"parovce",
"5ceba150-85ec-4761-bdbd-27eb31d221cb"
],
"reduction":11
},
{
"group":[
[
2016,
3,
1
],
"parovce",
"5ceba150-85ec-4761-bdbd-27eb31d221cb"
],
"reduction":4
}
],
"positions":[
{
"lat":48.584397016611085,
"lng":17.826186418533325
},
{
"lat":48.584397016611085,
"lng":17.826186418533325
},
{
"lat":48.584397016611085,
"lng":17.826186418533325
}
]
}
This endpoint returns analytic overview.
HTTP Request
GET https://api.proximi.fi/core/analytics/overview
Query Parameters
Parameter | Default | Description |
---|---|---|
date_from | today - 7 days | Date From in format YYYY-MM-DD |
date_to | today | Date To in format YYYY-MM-DD. |
place_id | * | Limit results to Place |
Specific Visitor Analytics
curl "http://api.proximi.fi/analytics/visitor/538a33b7-195d-4431-8de0-4bf50154afac" \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"visitor":{
"createdAt":"2016-02-29T14:29:38.065Z",
"data":{},
"id":"538a33b7-195d-4431-8de0-4bf50154afac",
"locale":"sk_SK",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"platform":"android",
"updatedAt":"2016-02-29T14:29:38.065Z",
"positions":[
{
"lat":48.60686561409806,
"lng":17.833380103111267
},
{
"lat":48.60686561409806,
"lng":17.833380103111267
},
{
"lat":48.60686561409806,
"lng":17.833380103111267
}
]
},
"firstSeen":"2016-02-28T14:40:52.753Z",
"lastSeen":"2016-02-29T18:45:52.753Z"
}
This endpoint returns specific visitor analytic overview.
HTTP Request
GET https://api.proximi.fi/analytics/visitor/<id>
Path Parameters
Parameter | Default | Description |
---|---|---|
id | * | ID of Visitor |
date_from | * | Start of Date Range (format: 2016-02-01T16:18:18.214Z) |
date_to | * | End of Date Range (format: 2016-02-01T16:18:18.214Z) |
Applications
Get All Applications
curl "http://api.proximi.fi/core/applications"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"createdAt": "2016-02-24T17:32:55.206Z",
"id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
"name": "Test App",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"updatedAt": "2016-02-24T17:32:55.206Z"
}
]
This endpoint retrieves all applications.
HTTP Request
GET https://api.proximi.fi/core/applications
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
Get a Specific Application
curl "https://api.proximi.fi/core/applications/4617fa24-de24-4b7b-b3b4-71d04e222156"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt": "2016-02-24T17:32:55.206Z",
"id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
"name": "Test App",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"type": "mobile",
"updatedAt": "2016-02-24T17:32:55.206Z"
}
This endpoint retrieves a specific application.
HTTP Request
GET https://api.proximi.fi/core/applications/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the application to retrieve |
Create a Application
curl "https://api.proximi.fi/core/applications" \
-X POST \
-d '{
"name": "Test App",
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt": "2016-02-24T17:32:55.206Z",
"id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
"name": "Test App",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"type": "mobile",
"updatedAt": "2016-02-24T17:32:55.206Z"
}
This endpoint creates a specific application.
HTTP Request
POST https://api.proximi.fi/core/applications
Body JSON Object
Parameter | Description |
---|---|
name | The Name of Application |
Update a Application
curl "https://api.proximi.fi/core/applications/4617fa24-de24-4b7b-b3b4-71d04e222156" \
-X POST \
-d '{
"name": "Cool App #2"
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt": "2016-02-24T17:32:55.206Z",
"id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
"name": "Cool App #2",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"type": "mobile",
"updatedAt": "2016-02-24T17:35:55.206Z"
}
This endpoint updates a specific application.
HTTP Request
PUT https://api.proximi.fi/core/applications/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Application |
Body JSON Object
Parameter | Description |
---|---|
id | ID of Application |
name | The Name of Application |
Delete a Application
curl "https://api.proximi.fi/core/applications/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
-X DELETE \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt": "2016-02-24T17:32:55.206Z",
"id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
"name": "Test App",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"type": "mobile",
"updatedAt": "2016-02-24T17:32:55.206Z",
"isDeleted":true
}
This endpoint deletes a specific application.
HTTP Request
DELETE https://api.proximi.fi/core/applications/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Application |
Events
Get All Events
curl "http://api.proximi.fi/core/events"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"event":"enter",
"data":{
"department_id":"3113845a-3b90-45af-b00f-11ea328eaf82",
"floor_id":"466bbd08-cac2-4873-8c7a-7462a1ca0889",
"geofence_id":"0fc1af05-38a8-4955-ac42-2cda094ed7ce",
"location":{
"lat":60.1663156,
"lng":24.9020367
},
"place_id":"5ceba150-85ec-4761-bdbd-27eb31d221cb",
"type":"native",
"visitor_id":"538a33b7-195d-4431-8de0-4bf50154afac",
"tags":[
"testtag"
],
"department":"test dep",
"place":"test place",
"geofence":"test geofence",
"floor":"test home",
"visitor":{
"createdAt":"2016-02-29T14:29:38.065Z",
"data":{},
"id":"538a33b7-195d-4431-8de0-4bf50154afac",
"locale":"en_EN",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"platform":"android",
"updatedAt":"2016-02-29T14:29:38.065Z"
}
},
"createdAt":"2016-29-02T21:42:17.775Z",
"updatedAt":"2016-29-02T21:42:17.775Z",
"id":"3dc77456-9a61-41b8-8909-e91c48dfd124"
}
]
This endpoint retrieves all events.
HTTP Request
GET https://api.proximi.fi/core/events
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
Get a Specific Event
curl "https://api.proximi.fi/core/events/3dc77456-9a61-41b8-8909-e91c48dfd124"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"event":"enter",
"data":{
"department_id":"3113845a-3b90-45af-b00f-11ea328eaf82",
"floor_id":"466bbd08-cac2-4873-8c7a-7462a1ca0889",
"geofence_id":"0fc1af05-38a8-4955-ac42-2cda094ed7ce",
"location":{
"lat":60.1663156,
"lng":24.9020367
},
"place_id":"5ceba150-85ec-4761-bdbd-27eb31d221cb",
"type":"native",
"visitor_id":"538a33b7-195d-4431-8de0-4bf50154afac",
"tags":[
"testtag"
],
"department":"test dep",
"place":"test place",
"geofence":"test geofence",
"floor":"test home",
"visitor":{
"createdAt":"2016-02-29T14:29:38.065Z",
"data":{},
"id":"538a33b7-195d-4431-8de0-4bf50154afac",
"locale":"en_EN",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"platform":"android",
"updatedAt":"2016-02-29T14:29:38.065Z"
}
},
"createdAt":"2016-29-02T21:42:17.775Z",
"updatedAt":"2016-29-02T21:42:17.775Z",
"id":"3dc77456-9a61-41b8-8909-e91c48dfd124"
}
This endpoint retrieves a specific event.
HTTP Request
GET https://api.proximi.fi/core/events/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the event to retrieve |
Create a Event
curl "https://api.proximi.fi/core/events" \
-X POST \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"data": {
"department_id": "3113845a-3b90-45af-b00f-11ea328eaf82",
"floor_id": "466bbd08-cac2-4873-8c7a-7462a1ca0889",
"geofence_id": "0fc1af05-38a8-4955-ac42-2cda094ed7ce",
"location": {
"lat": 60.1663156,
"lng": 24.9020367
},
"place_id": "5ceba150-85ec-4761-bdbd-27eb31d221cb",
"type": "native" ,
"visitor_id": "538a33b7-195d-4431-8de0-4bf50154afac"
} ,
"event": "enter"
}'
The above command returns JSON structured like this:
{
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"event":"enter",
"data":{
"department_id":"3113845a-3b90-45af-b00f-11ea328eaf82",
"floor_id":"466bbd08-cac2-4873-8c7a-7462a1ca0889",
"geofence_id":"0fc1af05-38a8-4955-ac42-2cda094ed7ce",
"location":{
"lat":60.1663156,
"lng":24.9020367
},
"place_id":"5ceba150-85ec-4761-bdbd-27eb31d221cb",
"type":"native",
"visitor_id":"538a33b7-195d-4431-8de0-4bf50154afac",
"tags":[
"testtag"
],
"department":"test dep",
"place":"test place",
"geofence":"test geofence",
"floor":"test home",
"visitor":{
"createdAt":"2016-02-29T14:29:38.065Z",
"data":{},
"id":"538a33b7-195d-4431-8de0-4bf50154afac",
"locale":"en_EN",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"platform":"android",
"updatedAt":"2016-02-29T14:29:38.065Z"
}
},
"createdAt":"2016-29-02T21:42:17.775Z",
"updatedAt":"2016-29-02T21:42:17.775Z",
"id":"3dc77456-9a61-41b8-8909-e91c48dfd124"
}
This endpoint creates a specific event. In case of creating an "exit" event, you can add optional attribute "enter_event_id" containing id of the "enter" event, this is especially useful if you want to have more control over dwell times.
HTTP Request
POST https://api.proximi.fi/core/events
Body JSON Object
Parameter | Description |
---|---|
data.department_id | The ID of the Department |
data.floor_id | The ID of the Floor |
data.geofence_id | The ID of the Geofence |
data.location | Location object containing lat & lng attributes |
data.place_id | The ID of the Place |
data.type | Type of Input |
data.visitor_id | The ID of the Visitor |
event | Type of Event (enter/exit) |
Geofences
Get All Geofences
curl "http://api.proximi.fi/core/geofences"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"address": "Shaftesbury Avenue 4" ,
"area": {
"lat": 48.584404113908526 ,
"lng": 17.826119363307953
} ,
"createdAt": "2016-02-29T10:52:42.219Z" ,
"department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
"id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
"name": "test geofence" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
"radius": 8.38458105877176 ,
"updatedAt": "2016-02-29T10:52:42.219Z"
}
]
This endpoint retrieves all geofences. GeoSearch can be enabled by adding all optional search_* query parameters.
HTTP Request
GET https://api.proximi.fi/core/geofences
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
search_latitude | GeoSearch Latitude. | |
search_longitude | GeoSearch Longitude. | |
search_radius | GeoSearch Radius (meters). | |
search_distance_order | ASC | GeoSearch Distance ordering direction (values: ASC, DESC) |
Get a Specific Geofence
curl "https://api.proximi.fi/core/geofences/af3e98dc-f6bc-4f48-b6b0-dff102f20133"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4" ,
"area": {
"lat": 53.391654,
"lng": -2.3273801000000276
} ,
"createdAt": "2016-02-29T10:52:42.219Z" ,
"department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
"id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
"name": "test geofence" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
"radius": 8.38458105877176 ,
"updatedAt": "2016-02-29T10:52:42.219Z"
}
This endpoint retrieves a specific geofence.
HTTP Request
GET https://api.proximi.fi/core/geofences/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the geofence to retrieve |
Create a Geofence
curl "https://api.proximi.fi/core/geofences" \
-X POST \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"name": "test geofence",
"address": "Shaftesbury Avenue 4",
"area": {
"lat": 53.391654,
"lng": -2.3273801000000276
},
"radius": 8.38458105877176
}'
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4" ,
"area": {
"lat": 53.391654,
"lng": -2.3273801000000276
} ,
"createdAt": "2016-02-29T10:52:42.219Z" ,
"department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
"id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
"name": "test geofence" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
"radius": 8.38458105877176 ,
"updatedAt": "2016-02-29T10:52:42.219Z"
}
This endpoint creates a specific geofence.
HTTP Request
POST https://api.proximi.fi/core/geofences
Body JSON Object
Parameter | Description |
---|---|
name | The Name of Geofence |
address | The Address of Geofence |
area.lat | Area center point latitude |
area.lng | Area center point longitude |
radius | Geofence radius in meters |
remote_id | The remote identifier for a place |
Update a Geofence
curl "https://api.proximi.fi/core/geofences/af3e98dc-f6bc-4f48-b6b0-dff102f20133" \
-X POST \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"name": "test geofence #2"
}'
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4" ,
"area": {
"lat": 48.584404113908526 ,
"lng": 17.826119363307953
} ,
"createdAt": "2016-02-29T10:52:42.219Z" ,
"department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
"id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
"name": "test geofence #2" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
"radius": 8.38458105877176 ,
"updatedAt": "2016-02-29T10:54:41.112Z"
}
This endpoint updates a specific geofence.
HTTP Request
PUT https://api.proximi.fi/core/geofences/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Geofence |
Body JSON Object
Parameter | Description |
---|---|
name | The Name of Geofence |
address | The Address of Geofence |
area.lat | Area center point latitude |
area.lng | Area center point longitude |
radius | Geofence radius in meters |
remote_id | The remote identifier for a place |
Delete a Geofence
curl "https://api.proximi.fi/core/geofences/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
-X DELETE \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4" ,
"area": {
"lat": 48.584404113908526 ,
"lng": 17.826119363307953
} ,
"createdAt": "2016-02-29T10:52:42.219Z" ,
"department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
"id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
"name": "test geofence #2" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
"radius": 8.38458105877176 ,
"updatedAt": "2016-02-29T10:54:41.112Z" ,
"isDeleted":true
}
This endpoint deletes a specific geofence.
HTTP Request
DELETE https://api.proximi.fi/core/geofences/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Geofence |
Places
Get All Places
curl "http://api.proximi.fi/core/places"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"address": "Shaftesbury Avenue 4",
"createdAt": "2016-02-24T10:34:32.918Z",
"id": "737e2993-79c9-4d31-82c2-b7c47601d673",
"location": {
"lat": 53.391654,
"lng": -2.3273801000000276
},
"name": "Fashion Retail",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"updatedAt": "2016-02-24T10:34:32.918Z",
"geopoint": {
"lat": 53.391654,
"lng": -2.3273801000000276
}
}
]
This endpoint retrieves all places. GeoSearch can be enabled by adding all optional search_* query parameters.
HTTP Request
GET https://api.proximi.fi/core/places
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
search_latitude | GeoSearch Latitude | |
search_longitude | GeoSearch Longitude | |
search_radius | GeoSearch Radius | |
search_distance_order | ASC | GeoSearch Distance ordering direction (values: ASC, DESC) |
Get a Specific Place
curl "https://api.proximi.fi/core/places/737e2993-79c9-4d31-82c2-b7c47601d673"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4",
"createdAt": "2016-02-24T10:34:32.918Z",
"id": "737e2993-79c9-4d31-82c2-b7c47601d673",
"location": {
"lat": 53.391654,
"lng": -2.3273801000000276
},
"name": "Fashion Retail",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622"
"updatedAt": "2016-02-24T10:34:32.918Z",
"geopoint": {
"lat": 53.391654,
"lng": -2.3273801000000276
}
}
This endpoint retrieves a specific place.
HTTP Request
GET https://api.proximi.fi/core/places/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the place to retrieve |
Create a Place
curl "https://api.proximi.fi/core/places" \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"name": "Retail Store #1",
"address": "Shaftesbury Avenue 4",
"location": {
"lat": 53.391654,
"lng": -2.3273801000000276
},
"remote_id": "123123123"
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4",
"createdAt": "2016-02-24T10:34:32.918Z",
"id": "737e2993-79c9-4d31-82c2-b7c47601d673",
"location": {
"lat": 53.391654,
"lng": -2.3273801000000276
},
"name": "Fashion Retail",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"updatedAt": "2016-02-24T10:34:32.918Z",
"remote_id": "123123123"
}
This endpoint creates a specific place.
HTTP Request
POST https://api.proximi.fi/core/places
Body JSON Object
Parameter | Description |
---|---|
name | The Name of Place |
address | The Address of Place |
location.lat | Latititude of Place center point |
location.lng | Longitude of Place center point |
location.zoom | Zoom Level for map |
tags | Array of Tag strings (deprecated) |
remote_id | The remote identifier for a place |
Update a Place
curl "https://api.proximi.fi/core/places/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"name": "Retail Store #2"
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4",
"createdAt": "2016-02-24T16:01:30.750Z",
"id": "e2469cf3-8d8a-45c8-ad02-a933817fae52",
"location": {
"lat": 53.391654,
"lng": -2.3273801000000276
},
"name": "Retail Store #2",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"updatedAt": "2016-02-24T16:07:20.578Z",
"remote_id": "123123123"
}
This endpoint updates a specific place.
HTTP Request
PUT https://api.proximi.fi/core/places/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Place |
Body JSON Object
Parameter | Description |
---|---|
id | ID of Place |
name | The Name of Place |
address | The Address of Place |
location | The Location object of Place (containing lat,lng properties) |
tags | Array of Tag strings (deprecated) |
remote_id | The remote identifier for a place |
Delete a Place
curl "https://api.proximi.fi/core/places/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
-X DELETE \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"address": "Shaftesbury Avenue 4",
"createdAt": "2016-02-24T16:01:30.750Z",
"id": "e2469cf3-8d8a-45c8-ad02-a933817fae52",
"location": {
"lat": 53.391654,
"lng": -2.3273801000000276
},
"name": "Retail Store #2",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"updatedAt": "2016-02-24T16:07:20.578Z",
"remote_id": "123123123",
"isDeleted":true
}
This endpoint deletes a specific place.
HTTP Request
DELETE https://api.proximi.fi/core/places/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Place |
Floors
Get All Floors
curl "http://api.proximi.fi/core/floors"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"anchors": [
{"lat":60.64399890000001,"lng":25.56826699999999},
{"lat":60.64399890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56826699999999}
],
"createdAt":"2016-02-25T07:36:00.256Z",
"id":"267e79be-8a1c-4f64-9631-a383114c99fd",
"name":"Base Floor #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"updatedAt":"2016-02-25T07:36:00.256Z",
"remote_id": "123123123"
}
]
This endpoint retrieves all floors.
HTTP Request
GET https://api.proximi.fi/core/floors
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
Get a Specific Floor
curl "https://api.proximi.fi/core/floors/737e2993-79c9-4d31-82c2-b7c47601d673"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"anchors": [
{"lat":60.64399890000001,"lng":25.56826699999999},
{"lat":60.64399890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56826699999999}
],
"createdAt":"2016-02-25T07:36:00.256Z",
"id":"267e79be-8a1c-4f64-9631-a383114c99fd",
"name":"Base Floor #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"updatedAt":"2016-02-25T07:36:00.256Z",
"remote_id": "123123123"
}
This endpoint retrieves a specific floor.
HTTP Request
GET https://api.proximi.fi/core/floors/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the floor to retrieve |
Create a Floor
curl "https://api.proximi.fi/core/floors" \
-X POST \
-d '{
"name": "Retail Store #1",
"place_id": "737e2993-79c9-4d31-82c2-b7c47601d673",
"anchors": [
{ "lat": 60.64399890000001,"lng": 25.56826699999999 },
{ "lat": 60.64399890000001,"lng": 25.56726699999999 },
{ "lat": 60.64299890000001,"lng": 25.56726699999999 },
{ "lat": 60.64299890000001,"lng": 25.56826699999999 }
],
"remote_id": "123123123"
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"anchors": [
{"lat":60.64399890000001,"lng":25.56826699999999},
{"lat":60.64399890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56826699999999}],
"createdAt":"2016-02-25T07:36:00.256Z",
"id":"267e79be-8a1c-4f64-9631-a383114c99fd",
"name":"Base Floor #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"updatedAt":"2016-02-25T07:36:00.256Z",
"remote_id": "123123123"
}
This endpoint creates a specific floor.
HTTP Request
POST https://api.proximi.fi/core/floors
Body JSON Object
Parameter | Description |
---|---|
name | The Name of Floor |
place_id | The ID of Place |
remote_id | The remote identifier for a place |
anchors | The Location objects marking Floor boundaries (containing lat,lng properties) |
Update a Floor
curl "https://api.proximi.fi/core/floors/267e79be-8a1c-4f64-9631-a383114c99fd" \
-X POST \
-d '{
"name": "Base Floor #2"
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"anchors": [
{"lat":60.64399890000001,"lng":25.56826699999999},
{"lat":60.64399890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56826699999999}
],
"createdAt":"2016-02-25T07:36:00.256Z",
"id":"267e79be-8a1c-4f64-9631-a383114c99fd",
"name":"Base Floor #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"updatedAt":"2016-02-25T07:36:00.256Z",
"remote_id": "123123123"
}
This endpoint updates a specific floor.
HTTP Request
PUT https://api.proximi.fi/core/floors/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Floor |
Body JSON Object
Parameter | Description |
---|---|
id | ID of Floor |
name | The Name of Floor |
place_id | The ID of Place |
remote_id | The remote identifier for a place |
anchors | The Location objects marking Floor boundaries (containing lat,lng properties) |
Delete a Floor
curl "https://api.proximi.fi/core/floors/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
-X DELETE \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"anchors": [
{"lat":60.64399890000001,"lng":25.56826699999999},
{"lat":60.64399890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56726699999999},
{"lat":60.64299890000001,"lng":25.56826699999999}
],
"createdAt":"2016-02-25T07:36:00.256Z",
"id":"267e79be-8a1c-4f64-9631-a383114c99fd",
"name":"Base Floor #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"updatedAt":"2016-02-25T07:36:00.256Z",
"remote_id": "123123123",
"isDeleted":true
}
This endpoint deletes a specific floor.
HTTP Request
DELETE https://api.proximi.fi/core/floors/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Floor |
Departments
Get All Departments
curl "http://api.proximi.fi/core/departments"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"address": "Shaftesbury Avenue 4",
"createdAt": "2016-02-24T10:34:32.918Z",
"id": "737e2993-79c9-4d31-82c2-b7c47601d673",
"location": {
"lat": 53.391654,
"lng": -2.3273801000000276,
"zoom": 10
},
"name": "Fashion Retail",
"organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
"tags": [
"fashion"
],
"updatedAt": "2016-02-24T10:34:32.918Z"
}
]
This endpoint retrieves all departments.
HTTP Request
GET https://api.proximi.fi/core/departments
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
Get a Specific Department
curl "https://api.proximi.fi/core/departments/3ea5a253-4aa2-492e-9373-f7dab7be2557"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-02-25T15:52:42.516Z",
"floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
"id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
"name":"Pants Department #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"tags":["coolPant!","50%"],
"updatedAt":"2016-02-25T16:08:08.112Z"
}
This endpoint retrieves a specific department.
HTTP Request
GET https://api.proximi.fi/core/departments/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the department to retrieve |
Create a Department
curl "https://api.proximi.fi/core/departments" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"name": "Pants Department #1",
"place_id": "737e2993-79c9-4d31-82c2-b7c47601d673",
"floor_id": "bcb0e43e-2b41-443a-973f-90cb1b6bf281",
"tags": [ "Pants" ]
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-02-25T15:52:42.516Z",
"floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
"id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
"name":"Pants Department #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"tags":["Pants"],
"updatedAt":"2016-02-25T15:52:42.516Z"
}
This endpoint creates a specific department.
HTTP Request
POST https://api.proximi.fi/core/departments
Body JSON Object
Parameter | Description |
---|---|
name | The Name of Department |
place_id | ID of Place containing the Department |
floor_id | ID of Floor containing the Department |
tags | Array of Tag strings (deprecated) |
remote_id | The remote identifier for a place |
Update a Department
curl "https://api.proximi.fi/core/departments/3ea5a253-4aa2-492e-9373-f7dab7be2557" \
-X POST \
-d '{
"tags": [ "coolPant!", "50%" ]
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-02-25T15:52:42.516Z",
"floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
"id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
"name":"Pants Department #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"tags":["coolPant!","50%"],
"updatedAt":"2016-02-25T16:08:08.112Z"
}
This endpoint updates a specific department.
HTTP Request
PUT https://api.proximi.fi/core/departments/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Department |
Body JSON Object
Parameter | Description |
---|---|
id | ID of Department |
place_id | ID of Place containing the Department |
floor_id | ID of Floor containing the Department |
tags | Array of Tag strings (deprecated) |
remote_id | The remote identifier for a place |
Delete a Department
curl "https://api.proximi.fi/core/departments/3ea5a253-4aa2-492e-9373-f7dab7be2557" \
-X DELETE \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-02-25T15:52:42.516Z",
"floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
"id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
"name":"Pants Department #1",
"organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
"place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
"tags":["coolPant!","50%"],
"updatedAt":"2016-02-25T16:08:08.112Z",
"isDeleted":true
}
This endpoint deletes a specific department.
HTTP Request
DELETE https://api.proximi.fi/core/departments/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Department |
Inputs
Get All Inputs
curl "http://api.proximi.io/core/inputs"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"createdAt":"2016-03-02T00:24:10.361Z",
"data":{
"instanceid":"625452715045",
"marker":{
"lat":48.584397016611085,
"lng":17.826186418533325
},
"namespaceid":"f7826da6bc5b71e0893e"
},
"department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
"id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
"name":"test input #2",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"type":"Eddystone Beacon",
"triggerFloorChange": true,
"triggerVenueChange": true,
"updatedAt":"2016-03-02T00:25:23.321Z"
}
]
This endpoint retrieves all inputs.
HTTP Request
GET https://api.proximi.fi/core/inputs
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
Get a Specific Input
curl "https://api.proximi.fi/core/inputs/737e2993-79c9-4d31-82c2-b7c47601d673"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-03-02T00:24:10.361Z",
"data":{
"instanceid":"625452715045",
"marker":{
"lat":48.584397016611085,
"lng":17.826186418533325
},
"namespaceid":"f7826da6bc5b71e0893e"
},
"department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
"id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
"name":"test input #2",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"type":"Eddystone Beacon",
"triggerFloorChange": true,
"triggerVenueChange": true,
"updatedAt":"2016-03-02T00:25:23.321Z"
}
This endpoint retrieves a specific input.
HTTP Request
GET https://api.proximi.fi/core/inputs/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the input to retrieve |
Create a Input
curl "https://api.proximi.fi/core/inputs" \
-X POST \
-d '{
"name": "Eddy Beacon #1",
"data": {
"instanceid": "625452715045",
"marker": {
"lat": 48.584397016611085,
"lng": 17.826186418533325
},
"namespaceid": "f7826da6bc5b71e0893e"
},
"department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
"name": "test input",
"type": "Eddystone Beacon",
"triggerFloorChange": true,
"triggerVenueChange": true,
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-03-02T00:24:10.361Z",
"data":{
"instanceid":"625452715045",
"marker":{
"lat":48.584397016611085,
"lng":17.826186418533325
},
"namespaceid":"f7826da6bc5b71e0893e"
},
"department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
"id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
"name":"test input",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"type":"Eddystone Beacon",
"triggerFloorChange": true,
"triggerVenueChange": true,
"updatedAt":"2016-03-02T00:24:10.361Z"
}
This endpoint creates a specific input.
HTTP Request
POST https://api.proximi.fi/core/inputs
Body JSON Object
Parameter | Description |
---|---|
data.instanceid | Eddystone Beacon Instance Id (eddystone input type only) |
data.namespaceid | Eddystone Beacon Namespace Id (eddystone input type only) |
data.major | iBeacon Major (iBeacon input type only) |
data.minor | iBeacon Minor (iBeacon input type only) |
data.uuid | iBeacon UUID (iBeacon input type only) |
data.marker.lat | Latitude of Input |
data.marker.lng | Longitude of Input |
name | The Name of Input |
type | The Type of Input (Eddystone Beacon/iBeacon/Custom) |
triggerFloorChange | (true/false) Trigger Floor Change, |
triggerVenueChange | (true/false) Trigger Venue Change, |
Update a Input
curl "https://api.proximi.fi/core/inputs/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
-X POST \
-d '{
"name": "test input #2",
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-03-02T00:24:10.361Z",
"data":{
"instanceid":"625452715045",
"marker":{
"lat":48.584397016611085,
"lng":17.826186418533325
},
"namespaceid":"f7826da6bc5b71e0893e"
},
"department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
"id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
"name":"test input #2",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"type":"Eddystone Beacon",
"triggerFloorChange": true,
"triggerVenueChange": true,
"updatedAt":"2016-03-02T00:25:23.321Z"
}
This endpoint updates a specific input.
HTTP Request
PUT https://api.proximi.fi/core/inputs/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Input |
Body JSON Object
Parameter | Description |
---|---|
data.instanceid | Eddystone Beacon Instance Id (eddystone input type only) |
data.namespaceid | Eddystone Beacon Namespace Id (eddystone input type only) |
data.major | iBeacon Major (iBeacon input type only) |
data.minor | iBeacon Minor (iBeacon input type only) |
data.uuid | iBeacon UUID (iBeacon input type only) |
data.marker.lat | Latitude of Input |
data.marker.lng | Longitude of Input |
name | The Name of Input |
type | The Type of Input (Eddystone Beacon/iBeacon/Custom) |
triggerFloorChange | (true/false) Trigger Floor Change, |
triggerVenueChange | (true/false) Trigger Venue Change, |
Delete a Input
curl "https://api.proximi.fi/core/inputs/3062006c-ce70-4aa5-8fb1-ac9f018f858b" \
-X DELETE \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt":"2016-03-02T00:24:10.361Z",
"data":{
"instanceid":"625452715045",
"marker":{
"lat":48.584397016611085,
"lng":17.826186418533325
},
"namespaceid":"f7826da6bc5b71e0893e"
},
"department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
"id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
"name":"test input #2",
"organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
"type":"Eddystone Beacon",
"triggerFloorChange": true,
"triggerVenueChange": true,
"updatedAt":"2016-03-02T00:25:23.321Z",
"isDeleted":true
}
This endpoint deletes a specific input.
HTTP Request
DELETE https://api.proximi.fi/core/inputs/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Input |
Visitors
Get All Visitors
curl "http://api.proximi.fi/core/visitors"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"createdAt": "2016-02-29T14:29:38.065Z" ,
"data": {
"board": "msm8992" ,
"bootloader": "unknown" ,
"brand": "Xiaomi" ,
"densityDPI": 480 ,
"device": "libra" ,
"display": "LMY47V" ,
"fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
"fontScale": 0.8600000143051147 ,
"hardKeyboardHidden": 2 ,
"hardware": "qcom" ,
"host": "zc-miui-ota-bd48" ,
"id": "LMY47V" ,
"keyboard": 1 ,
"keyboardHidden": 1 ,
"localeData": "en_EN" ,
"manufacturer": "Xiaomi" ,
"mcc": 231 ,
"mnc": 6 ,
"model": "Mi-4c" ,
"navigation": 1 ,
"navigationHidden": 2 ,
"orientation": 1 ,
"product": "libra" ,
"radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
"screenHeightDP": 620 ,
"screenLayout": 268435554 ,
"screenWidthDP": 360 ,
"serial": "ed92c942" ,
"smallestScreenWidthDP": 360 ,
"supportedABIs": [
"arm64-v8a" ,
"armeabi-v7a" ,
"armeabi"
] ,
"tags": "release-keys" ,
"time": 1455863625000 ,
"touchscreen": 3 ,
"type": "user" ,
"uiMode": 28 ,
"user": "6.2.25" ,
"version": "5.1.1"
} ,
"id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
"locale": "en_EN" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"platform": "android" ,
"updatedAt": "2016-02-29T14:29:38.065Z"
}
]
This endpoint retrieves all visitors.
HTTP Request
GET https://api.proximi.fi/core/visitors
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
Get a Specific Visitor
curl "https://api.proximi.fi/core/visitors/538a33b7-195d-4431-8de0-4bf50154afac"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt": "2016-02-29T14:29:38.065Z" ,
"data": {
"board": "msm8992" ,
"bootloader": "unknown" ,
"brand": "Xiaomi" ,
"densityDPI": 480 ,
"device": "libra" ,
"display": "LMY47V" ,
"fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
"fontScale": 0.8600000143051147 ,
"hardKeyboardHidden": 2 ,
"hardware": "qcom" ,
"host": "zc-miui-ota-bd48" ,
"id": "LMY47V" ,
"keyboard": 1 ,
"keyboardHidden": 1 ,
"localeData": "en_EN" ,
"manufacturer": "Xiaomi" ,
"mcc": 231 ,
"mnc": 6 ,
"model": "Mi-4c" ,
"navigation": 1 ,
"navigationHidden": 2 ,
"orientation": 1 ,
"product": "libra" ,
"radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
"screenHeightDP": 620 ,
"screenLayout": 268435554 ,
"screenWidthDP": 360 ,
"serial": "ed92c942" ,
"smallestScreenWidthDP": 360 ,
"supportedABIs": [
"arm64-v8a" ,
"armeabi-v7a" ,
"armeabi"
] ,
"tags": "release-keys" ,
"time": 1455863625000 ,
"touchscreen": 3 ,
"type": "user" ,
"uiMode": 28 ,
"user": "6.2.25" ,
"version": "5.1.1"
} ,
"id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
"locale": "en_EN" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"platform": "android" ,
"updatedAt": "2016-02-29T14:29:38.065Z"
}
This endpoint retrieves a specific visitor.
HTTP Request
GET https://api.proximi.fi/core/visitors/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the visitor to retrieve |
Create a Visitor
curl "https://api.proximi.fi/core/visitors" \
-X POST \
-d '{
"data": {
"board": "msm8992" ,
"bootloader": "unknown" ,
"brand": "Xiaomi" ,
"densityDPI": 480 ,
"device": "libra" ,
"display": "LMY47V" ,
"fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
"fontScale": 0.8600000143051147 ,
"hardKeyboardHidden": 2 ,
"hardware": "qcom" ,
"host": "zc-miui-ota-bd48" ,
"id": "LMY47V" ,
"keyboard": 1 ,
"keyboardHidden": 1 ,
"localeData": "en_EN" ,
"manufacturer": "Xiaomi" ,
"mcc": 231 ,
"mnc": 6 ,
"model": "Mi-4c" ,
"navigation": 1 ,
"navigationHidden": 2 ,
"orientation": 1 ,
"product": "libra" ,
"radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
"screenHeightDP": 620 ,
"screenLayout": 268435554 ,
"screenWidthDP": 360 ,
"serial": "ed92c942" ,
"smallestScreenWidthDP": 360 ,
"supportedABIs": [
"arm64-v8a" ,
"armeabi-v7a" ,
"armeabi"
] ,
"tags": "release-keys" ,
"time": 1455863625000 ,
"touchscreen": 3 ,
"type": "user" ,
"uiMode": 28 ,
"user": "6.2.25" ,
"version": "5.1.1"
},
"locale": "en_EN",
"platform": "android"
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt": "2016-02-29T14:29:38.065Z" ,
"data": {
"board": "msm8992" ,
"bootloader": "unknown" ,
"brand": "Xiaomi" ,
"densityDPI": 480 ,
"device": "libra" ,
"display": "LMY47V" ,
"fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
"fontScale": 0.8600000143051147 ,
"hardKeyboardHidden": 2 ,
"hardware": "qcom" ,
"host": "zc-miui-ota-bd48" ,
"id": "LMY47V" ,
"keyboard": 1 ,
"keyboardHidden": 1 ,
"localeData": "en_EN" ,
"manufacturer": "Xiaomi" ,
"mcc": 231 ,
"mnc": 6 ,
"model": "Mi-4c" ,
"navigation": 1 ,
"navigationHidden": 2 ,
"orientation": 1 ,
"product": "libra" ,
"radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
"screenHeightDP": 620 ,
"screenLayout": 268435554 ,
"screenWidthDP": 360 ,
"serial": "ed92c942" ,
"smallestScreenWidthDP": 360 ,
"supportedABIs": [
"arm64-v8a" ,
"armeabi-v7a" ,
"armeabi"
] ,
"tags": "release-keys" ,
"time": 1455863625000 ,
"touchscreen": 3 ,
"type": "user" ,
"uiMode": 28 ,
"user": "6.2.25" ,
"version": "5.1.1"
} ,
"id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
"locale": "en_EN" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"platform": "android" ,
"updatedAt": "2016-02-29T14:29:38.065Z"
}
This endpoint creates a specific visitor.
HTTP Request
POST https://api.proximi.fi/core/visitors
Body JSON Object
Parameter | Description |
---|---|
data | Custom Visitor data |
locale | Visitor Device Locale |
Update a Visitor
curl "https://api.proximi.fi/core/visitors/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
-X POST \
-d '{
"locale": "fi_FI"
}' \
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
{
"createdAt": "2016-02-29T14:29:38.065Z" ,
"data": {
"board": "msm8992" ,
"bootloader": "unknown" ,
"brand": "Xiaomi" ,
"densityDPI": 480 ,
"device": "libra" ,
"display": "LMY47V" ,
"fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
"fontScale": 0.8600000143051147 ,
"hardKeyboardHidden": 2 ,
"hardware": "qcom" ,
"host": "zc-miui-ota-bd48" ,
"id": "LMY47V" ,
"keyboard": 1 ,
"keyboardHidden": 1 ,
"localeData": "fi_FI" ,
"manufacturer": "Xiaomi" ,
"mcc": 231 ,
"mnc": 6 ,
"model": "Mi-4c" ,
"navigation": 1 ,
"navigationHidden": 2 ,
"orientation": 1 ,
"product": "libra" ,
"radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
"screenHeightDP": 620 ,
"screenLayout": 268435554 ,
"screenWidthDP": 360 ,
"serial": "ed92c942" ,
"smallestScreenWidthDP": 360 ,
"supportedABIs": [
"arm64-v8a" ,
"armeabi-v7a" ,
"armeabi"
] ,
"tags": "release-keys" ,
"time": 1455863755000 ,
"touchscreen": 3 ,
"type": "user" ,
"uiMode": 28 ,
"user": "6.2.25" ,
"version": "5.1.1"
} ,
"id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
"locale": "fi_FI" ,
"organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
"platform": "android" ,
"updatedAt": "2016-02-29T14:32:14.443Z"
}
This endpoint updates a specific visitor.
HTTP Request
PUT https://api.proximi.fi/core/visitors/<ID>
URL Parameters
Parameter | Description |
---|---|
id | ID of Visitor |
Body JSON Object
Parameter | Description |
---|---|
data | Custom Visitor data |
locale | Visitor Device Locale |
Telemetry
Get All Telemetries
curl "http://api.proximi.fi/core/telemetries"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"input_id": "b5de8773-cf73-4f5f-a25e-1c6ef8177bf9",
"visitor_id": "cef7d549-f333-44f8-a72b-9009b343c447",
"data": {
"namespace": "EDD1EBEAC04E5DEFA017",
"instance_id": "DBB15991AAAE",
"batteryvoltage": 5904,
"temperature": 26.167969,
"uptime": 136016130300,
"pdu": 73255118,
"createdAt": 1627384188655
},
"organization_id": "0c4f268f-6c2f-439f-b127-33a70df62c0e",
"id": "5c46b3c1-25ed-4a46-8131-5730e2bf1888",
"createdAt": "2020-07-27T11:24:17.440Z",
"updatedAt": "2020-07-27T11:24:17.440Z"
}
]
This endpoint retrieves all telemetries.
HTTP Request
GET https://api.proximi.fi/core/telemetries
Query Parameters
Parameter | Default | Description |
---|---|---|
limit | 1000 | Limits number of records. |
skip | 0 | Skips records. |
Input Monitoring
curl "http://api.proximi.fi/core/input_monitoring"
-H "Authorization: Bearer YOUR_TOKEN"
The above command returns JSON structured like this:
[
{
"input_id": "b5de8773-cf73-4f5f-a25e-1c6ef8177bf9",
"data": {
"namespace": "EDD1EBEAC04E5DEFA017",
"instance_id": "DBB15991AAAE",
"batteryvoltage": 5904,
"temperature": 26.167969,
"uptime": 136016130300,
"pdu": 73255118,
"createdAt": 1627384188655,
"batteryHuman": "full"
},
"organization_id": "0c4f268f-6c2f-439f-b127-33a70df62c0e",
"id": "5c46b3c1-25ed-4a46-8131-5730e2bf1888",
"createdAt": "2020-07-27T11:24:17.440Z",
"updatedAt": "2020-07-27T11:24:17.440Z"
}
]
This endpoint returns only the latest telemetry values per beacon, includes data.batteryHuman field for simpler battery state description, possible values are "full", "three-quarter", "half", "quarter" and "empty".
HTTP Request
GET https://api.proximi.fi/core/input_monitoring
Errors
Error Code | Meaning |
---|---|
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
429 | To o Many Requests |
500 | Internal Server Error |
503 | Service Unavailable |
1011 | Email Format error |
1012 | Email is already Registered |
1013 | Ownership error |
Geo API
API for managing all map related functions and objects.
Below you can find all REST methods that you can access using any standard HTTP client. All methods use HTTP Header "Authorization" with JWT Token for user authorization. For methods posting JSON data, "Content-Type": "application/json" header should be always set.
URL root: https://api.proximi.fi/v5/geo
All the features can also store metadata as an experimental feature. You can add meta_ prefixed key=>value pairs to any of the features under the properties object by using PUT or POST requests depending what are your goals. Example: "meta_title": "My title!".
{
"id": "44010f6f-9963-4433-ad86-40b89b829c41:1bf9de3c-c71d-4ddc-998e-def932ce7e48",
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
51.48052108091079,
25.336102700842844
]
},
"properties": {
"images": [
"1613147484699-mammoth.jpg",
"1684159592847-pexels-zhanzat-mamytova-1827130.jpg",
"1684159633519-pexels-markus-winkler-3925956.jpg"
],
"range": 3,
"usecase": "poi",
"type": "poi",
"amenity": "44010f6f-9963-4433-ad86-40b89b829c41:d111c5e4-1a63-48b3-94de-5fa7b309daaf",
"title": "Mammoth",
"place_id": "da2152c9-48bc-437d-a19d-ceb6a3a0f02a",
"floor_id": "a0c73bc5-f99d-439b-8af0-36bf14842123",
"level": 0,
"id": "1bf9de3c-c71d-4ddc-998e-def932ce7e48",
"title_i18n": {
"en": "Mammoth",
"fi": "Mammutti",
"sv": "Mammut"
},
"metadata": {
"polygon_id": "3ffc40aa-c087-4cdc-9b6d-b089b3432729",
"custom_key_1": "custom value 1",
"custom_key_2": "custom value 2"
},
"organization_id": "44010f6f-9963-4433-ad86-40b89b829c41",
"createdAt": "2021-02-13T13:00:21.439Z",
"updatedAt": "2023-05-15T14:17:38.553Z",
"minzoom": 18,
"description_i18n": {
"en": "Gigantic clothing store for the smallest members of your family. Great selection for ages 0-14.",
"fi": "Jättimäinen vaateliike perheen pienimmille. Iso valikoima vaatteita vastasyntyneestä 14-vuotiaisiin.",
"sv": "Gigantisk klädbutik för de minsta medlemmarna i din familj. Bra utbud för åldrarna 0-14."
},
"url": "http://www.mammothshop.com",
"workingHours": [
[
"11:00",
"18:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"21:00"
],
[
"09:00",
"22:00"
]
],
"wayfinding_metadata": {
"1": {
"en": "This would be custom information for user group 1 that will be delivered in the indoor navigation mode, when user arrives here.",
"fi": "Sama suomeksi.",
"sv": "Samma på svenska."
},
"2": {
"en": "This would be custom information for user group 2 that will be delivered in the indoor navigation mode, when user arrives here.",
"fi": "Sama suomeksi.",
"sv": "Samma på svenska."
}
}
}
}
Styles
GET /style (JWT)
returns default style
GET /styles (JWT)
returns all available styles for organization
POST /styles (JWT)
upserts provided style
Features
GET /features (JWT)
returns all features belonging to authorized organization
total number of available records is present in Response Header RECORD-TOTAL
provides:
amenity filtering (one of amenity ids)
type filtering (path, poi, levelchanger, elevator, staircase, escalator, wall, hole, shop, parking_base, area, road, room, floor)
geometry filtering (line, point, polygon)
QUERY parameter | default | type | required |
---|---|---|---|
from | 0 | integer | optional |
size | 1000 | integer | optional |
amenity | - | string | optional |
type | - | string | optional |
geometry | - | string | optional |
GET /features/:id (JWT)
returns feature object
PATH parameter | default | type |
---|---|---|
id | --- | uuid |
PUT /features/:id (JWT)
updates single feature
requires valid GeoJSON Feature object in request body.
{
"id": "44010f6f-9963-4433-ad86-40b89b829c41:1bf9de3c-c71d-4ddc-998e-def932ce7e48",
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
51.48052108091079,
25.336102700842844
]
},
"properties": {
"images": [
"1613147484699-mammoth.jpg",
"1684159592847-pexels-zhanzat-mamytova-1827130.jpg",
"1684159633519-pexels-markus-winkler-3925956.jpg"
],
"range": 3,
"usecase": "poi",
"type": "poi",
"amenity": "44010f6f-9963-4433-ad86-40b89b829c41:d111c5e4-1a63-48b3-94de-5fa7b309daaf",
"title": "Mammoth",
"place_id": "da2152c9-48bc-437d-a19d-ceb6a3a0f02a",
"floor_id": "a0c73bc5-f99d-439b-8af0-36bf14842123",
"level": 0,
"id": "1bf9de3c-c71d-4ddc-998e-def932ce7e48",
"title_i18n": {
"en": "Mammoth",
"fi": "Mammutti",
"sv": "Mammut"
},
"metadata": {
"polygon_id": "3ffc40aa-c087-4cdc-9b6d-b089b3432729",
"custom_key_1": "custom value 1",
"custom_key_2": "custom value 2"
},
"organization_id": "44010f6f-9963-4433-ad86-40b89b829c41",
"createdAt": "2021-02-13T13:00:21.439Z",
"updatedAt": "2023-05-15T14:17:38.553Z",
"minzoom": 18,
"description_i18n": {
"en": "Gigantic clothing store for the smallest members of your family. Great selection for ages 0-14.",
"fi": "Jättimäinen vaateliike perheen pienimmille. Iso valikoima vaatteita vastasyntyneestä 14-vuotiaisiin.",
"sv": "Gigantisk klädbutik för de minsta medlemmarna i din familj. Bra utbud för åldrarna 0-14."
},
"url": "http://www.mammothshop.com",
"workingHours": [
[
"11:00",
"18:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"20:00"
],
[
"10:00",
"21:00"
],
[
"09:00",
"22:00"
]
],
"wayfinding_metadata": {
"1": {
"en": "This would be custom information for user group 1 that will be delivered in the indoor navigation mode, when user arrives here.",
"fi": "Sama suomeksi.",
"sv": "Samma på svenska."
},
"2": {
"en": "This would be custom information for user group 2 that will be delivered in the indoor navigation mode, when user arrives here.",
"fi": "Sama suomeksi.",
"sv": "Samma på svenska."
}
}
}
}
GET /features/:tlLng,:tlLat;:brLng,:brLat/:zoom/:level (JWT)
returns all features belonging to authorized organization with limitation to view bounds, zoom (minzoom )and level
total number of available records is present in Response Header RECORD-TOTAL
total number of available records for specified view is present in Response Header VIEW-TOTAL
provides:
amenity filtering (one of amenity ids)
type filtering (path, poi, levelchanger, elevator, staircase, escalator, wall, hole, shop, parking_base, area, road, room, floor)
geometry filtering (line, point, polygon)
PATH parameter | default | type | required | description |
---|---|---|---|---|
tlLng | - | float | required | top right corner |
tlLat | - | float | required | top left corner |
brLng | - | float | required | bottom right corner |
brLat | - | float | required | bottom left corner |
zoom | - | integer | required | minimum zoom level |
level | - | integer | required | level of features |
QUERY parameter | default | type | required |
---|---|---|---|
from | 0 | integer | optional |
size | 1000 | integer | optional |
amenity | - | string | optional |
type | - | string | optional |
geometry | - | string | optional |
POST /features (JWT)
upserts a GeoJSON feature
Request body needs to formatted in GeoJSON FeatureCollection Specification, ie for updating single feature just create a collection containing that feature
{
type: 'FeatureCollection',
features: [ Feature, Feature, Feature ]
}
POST /features/delete, DELETE /features (JWT)
deletes a feature
Request body needs to formatted in GeoJSON FeatureCollection Specification, ie for deleting single feature just create a collection containing that feature
{
type: 'FeatureCollection',
features: [ Feature, Feature, Feature ]
}
Amenities
GET /amenities (JWT)
returns all amenities
QUERY parameter | default | type | required |
---|---|---|---|
from | 0 | integer | optional |
size | 1000 | integer | optional |
Returns Array of Amenity Objects
GET /amenities/in/:category (JWT)
returns amenities for given category
PATH parameter | default | type | required | description |
---|---|---|---|---|
category | - | string | required | AmenityCategory ID |
QUERY parameter | default | type | required |
---|---|---|---|
from | 0 | integer | optional |
size | 1000 | integer | optional |
Returns Array of Amenity Objects
GET /amenities/:id (JWT)
returns specific amenity
PATH parameter | default | type | required | description |
---|---|---|---|---|
id | - | string | required | Amenity ID |
Returns Amenity Object
GET /amenity_categories (JWT)
returns amenity categories
QUERY parameter | default | type | required |
---|---|---|---|
from | 0 | integer | optional |
size | 1000 | integer | optional |
Returns Array of AmenityCategory Objects
GET /amenity_categories/:id (JWT)
returns specific amenity category
PATH parameter | default | type | required | description |
---|---|---|---|---|
id | - | string | required | Amenity Category ID |
Returns Amenity Category Object
Routing
POST https://api.proximi.fi/routing (JWT)
returns routing object covering navigation between start and finish point and their respective levels The paths used for routing are GeoJSON LineStrings, further specified by class: "path" and level: Integer properties
// path feature example
{
"id": "295b0c1d-3fac-4e2d-91fe-81cf9124e4ba:b781c400-cce5-4099-810f-c41b4c8523c2",
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
24.92225159354996,
60.16647154365734
],
[
24.922379773767403,
60.16651723516259
],
[
24.92239995962842,
60.16654485087656
]
]
},
"properties": {
"metadata": {},
"class": "path",
"visibility": "visible",
"place_id": "398b8567-618a-4d5b-b105-9631696aa7a6",
"floor_id": "54036451-6765-4566-8acc-b979a74b3a3a",
"level": 0,
"id": "b781c400-cce5-4099-810f-c41b4c8523c2",
"organization_id": "295b0c1d-3fac-4e2d-91fe-81cf9124e4ba",
"createdAt": "2022-03-25T12:10:16.861Z",
"updatedAt": "2022-03-25T13:02:14.710Z",
"minzoom": 18
}
}
QUERY parameter | default | type | required | description |
---|---|---|---|---|
startLng | - | float | required | start point longitude |
startLat | - | float | required | start point latitude |
startLevel | - | int | required | start point level |
endLng | - | float | required | finish point longitude |
endLat | - | float | required | finish point latitude |
endLevel | - | int | required | finish point level |
JSON BODY parameter | default | type | required | description |
---|---|---|---|---|
avoidElevators | true | boolean | optional | Avoid Elevators |
avoidEscalators | true | boolean | optional | Avoid Escalator |
avoidStaircases | true | boolean | optional | Avoid Staircases |
avoidRamps | true | boolean | optional | Avoid Ramps |
avoidNarrowPaths | true | boolean | optional | Avoid Narrow Paths |
avoidRevolvingDoors | true | boolean | optional | Avoid Revolving Doors |
avoidTicketGates | true | boolean | optional | Avoid Ticket Gates |
avoidBarriers | true | boolean | optional | Avoid Barriers |
avoidHills | true | boolean | optional | Avoid Hills |
pathFixDistance | 1000 | integer | optional | Path Fix Distance |
lang | en | string | optional | Language Code |
// route response example
{
"distanceMeters": 276.8529737402472,
"destination": {
"geometry": {
"coordinates": [
19.409023016607627,
50.00123821353949
]
},
"properties": {
"level": 0,
"gscore": 275.6168744566573
}
},
"configuration": {
"start": null,
"destination": {
"geometry": {
"coordinates": [
19.409023016607627,
50.00123821353949
]
},
"properties": {
"level": 0,
"gscore": 275.6168744566573
}
},
"waypointList": [],
"wayfindingOptions": {}
},
"lastNodeWithPathIndex": 14,
"steps": [
{
"bearingFromLastStep": 0,
"coordinates": {
"coordinates": [
19.410762,
49.999705
]
},
"direction": "START",
"distanceFromLastStep": 0,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": null
},
{
"bearingFromLastStep": 113.46704813252394,
"coordinates": {
"coordinates": [
19.410817883726015,
49.99968940538982
]
},
"direction": "LEFT",
"distanceFromLastStep": 4.354466216654595,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.410762,
49.999705
],
[
19.410817883726015,
49.99968940538982
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 4 meters turn left."
]
},
{
"bearingFromLastStep": 23.465581490202283,
"coordinates": {
"coordinates": [
19.41099341471439,
49.99994932166464
]
},
"direction": "SLIGHT_LEFT",
"distanceFromLastStep": 31.507078678957036,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.410817883726015,
49.99968940538982
],
[
19.41099341471439,
49.99994932166464
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 32 meters turn slight left."
]
},
{
"bearingFromLastStep": -23.33788846589531,
"coordinates": {
"coordinates": [
19.410911536734496,
50.00007130519248
]
},
"direction": "SLIGHT_LEFT",
"distanceFromLastStep": 14.772597089721518,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.41099341471439,
49.99994932166464
],
[
19.410911536734496,
50.00007130519248
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 15 meters turn slight left."
]
},
{
"bearingFromLastStep": -72.17885015195688,
"coordinates": {
"coordinates": [
19.409956560986224,
50.000268634725664
]
},
"direction": "SLIGHT_RIGHT",
"distanceFromLastStep": 71.6965926735697,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.410911536734496,
50.00007130519248
],
[
19.409956560986224,
50.000268634725664
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 72 meters turn slight right."
]
},
{
"bearingFromLastStep": -49.398070053420916,
"coordinates": {
"coordinates": [
19.40982736766715,
50.00033981620364
]
},
"direction": "SLIGHT_LEFT",
"distanceFromLastStep": 12.162016990896003,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.409956560986224,
50.000268634725664
],
[
19.40982736766715,
50.00033981620364
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 12 meters turn slight left."
]
},
{
"bearingFromLastStep": -76.74022971953498,
"coordinates": {
"coordinates": [
19.40967758985485,
50.000362503093434
]
},
"direction": "SLIGHT_RIGHT",
"distanceFromLastStep": 10.998479120595956,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.40982736766715,
50.00033981620364
],
[
19.40967758985485,
50.000362503093434
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 11 meters turn slight right."
]
},
{
"bearingFromLastStep": -51.49455022094047,
"coordinates": {
"coordinates": [
19.409622512966862,
50.00039066896181
]
},
"direction": "STRAIGHT",
"distanceFromLastStep": 5.030456814276073,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.40967758985485,
50.000362503093434
],
[
19.409622512966862,
50.00039066896181
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 5 meters continue straight."
]
},
{
"bearingFromLastStep": -31.494305168689724,
"coordinates": {
"coordinates": [
19.4095817240812,
50.0004334629667
]
},
"direction": "SLIGHT_RIGHT",
"distanceFromLastStep": 5.580541486892818,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.409622512966862,
50.00039066896181
],
[
19.4095817240812,
50.0004334629667
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 6 meters turn slight right."
]
},
{
"bearingFromLastStep": -8.6945835773057,
"coordinates": {
"coordinates": [
19.40954715104298,
50.0005787818333
]
},
"direction": "SLIGHT_LEFT",
"distanceFromLastStep": 16.346595709201917,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.4095817240812,
50.0004334629667
],
[
19.40954715104298,
50.0005787818333
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 16 meters turn slight left."
]
},
{
"bearingFromLastStep": -58.39942453378581,
"coordinates": {
"coordinates": [
19.409155068188635,
50.00073382972555
]
},
"direction": "RIGHT",
"distanceFromLastStep": 32.902325448181855,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.40954715104298,
50.0005787818333
],
[
19.409155068188635,
50.00073382972555
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 33 meters turn right."
]
},
{
"bearingFromLastStep": 17.660781332984133,
"coordinates": {
"coordinates": [
19.409256499774443,
50.000938604884965
]
},
"direction": "STRAIGHT",
"distanceFromLastStep": 23.896240116999596,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.409155068188635,
50.00073382972555
],
[
19.409256499774443,
50.000938604884965
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 24 meters continue straight."
]
},
{
"bearingFromLastStep": 20.587597821415898,
"coordinates": {
"coordinates": [
19.409352486465117,
50.00110285670103
]
},
"direction": "LEFT",
"distanceFromLastStep": 19.50999069250748,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.409256499774443,
50.000938604884965
],
[
19.409352486465117,
50.00110285670103
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 20 meters turn left."
]
},
{
"bearingFromLastStep": -51.51142572160424,
"coordinates": {
"coordinates": [
19.409199013091452,
50.00118129293381
]
},
"direction": "STRAIGHT",
"distanceFromLastStep": 14.014002572568048,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.409352486465117,
50.00110285670103
],
[
19.409199013091452,
50.00118129293381
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 14 meters continue straight."
]
},
{
"bearingFromLastStep": -63.290070161728124,
"coordinates": {
"coordinates": [
19.409023016607627,
50.00123821353949
]
},
"direction": "FINISH",
"distanceFromLastStep": 14.081590129224587,
"level": 0,
"levelChangerId": null,
"isWaypoint": false,
"waypointId": null,
"lineStringFeatureFromLastStep": {
"geometry": {
"coordinates": [
[
19.409199013091452,
50.00118129293381
],
[
19.409023016607627,
50.00123821353949
]
]
},
"properties": {
"level": 0
}
},
"instruction": [
"In 14 meters you will arrive at your destination."
]
}
],
"route": [
{
"type": "Feature",
"properties": {
"level": 0,
"fixed": true
},
"geometry": {
"type": "Point",
"coordinates": [
19.410762,
49.999705
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.410817883726015,
49.99968940538982
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.41099341471439,
49.99994932166464
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.410911536734496,
50.00007130519248
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.409956560986224,
50.000268634725664
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.40982736766715,
50.00033981620364
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.40967758985485,
50.000362503093434
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.409622512966862,
50.00039066896181
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.4095817240812,
50.0004334629667
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.40954715104298,
50.0005787818333
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.409155068188635,
50.00073382972555
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.409256499774443,
50.000938604884965
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.409352486465117,
50.00110285670103
]
}
},
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "Point",
"coordinates": [
19.409199013091452,
50.00118129293381
]
}
},
{
"type": "Feature",
"properties": {
"level": 0,
"gscore": 275.6168744566573
},
"geometry": {
"type": "Point",
"coordinates": [
19.409023016607627,
50.00123821353949
]
}
}
],
"lines": [
{
"type": "Feature",
"properties": {
"level": 0
},
"geometry": {
"type": "LineString",
"coordinates": [
[
19.410762,
49.999705
],
[
19.410817883726015,
49.99968940538982
],
[
19.41099341471439,
49.99994932166464
],
[
19.410911536734496,
50.00007130519248
],
[
19.409956560986224,
50.000268634725664
],
[
19.40982736766715,
50.00033981620364
],
[
19.40967758985485,
50.000362503093434
],
[
19.409622512966862,
50.00039066896181
],
[
19.4095817240812,
50.0004334629667
],
[
19.40954715104298,
50.0005787818333
],
[
19.409155068188635,
50.00073382972555
],
[
19.409256499774443,
50.000938604884965
],
[
19.409352486465117,
50.00110285670103
],
[
19.409199013091452,
50.00118129293381
],
[
19.409023016607627,
50.00123821353949
]
]
}
}
]
}