Example requests
MOVE Backend APIs
This site shows example request between your project backend and Move SDK API.
Use your Move SDK Project Id and your API Key as Basic Auth to register a new User. The
userId
may be any arbitrary string, only : is forbidden. The maximum length of userId
is 100 characters.Request:
POST https://sdk.dolph.in/v20/auth/register
content-type: application/json
Authorization: Basic {PROJECT_ID}:{API_KEY}
{
"userId": "string"
}
Response:
{
"accessToken": "{ACCESS_TOKEN}", // allows communication with MOVE SDK back-end
"refreshToken": "{REFRESH_TOKEN}", // allows Move App to renew access token
"userId": "{USER_ID}",
"audience": "{AUDIENCE_OF_API_KEY}",
"projectId": {PROJECT_ID}
}
Initialize your Move SDK App with these tokens.
Fetch user timeline easily with:
Request:
GET https://sdk.dolph.in/v20/timeline?userId={USER_ID}&projectId={PROJECT_ID}
content-type: application/json
Authorization: Basic {PROJECT_ID}:{API_KEY}
Response:
[
{
"projectId": {PROJECT_ID},
"userId": "{USER_ID}",
"startTs": "2022-10-16T08:06:00Z",
"endTs": "2022-10-16T09:41:00Z",
"type": "IDLE",
"features": {
"source": {
"id": "",
"name": "timeline"
}
}
},
{
"projectId": {PROJECT_ID},
"userId": "{USER_ID}",
"startTs": "2022-10-17T05:58:00Z",
"endTs": "2022-10-17T06:03:00Z",
"type": "CYCLING",
"features": {
"startLocation": {
"lat": 48.328016,
"lon": 16.204514,
"timeZone": "Europe/Vienna"
},
"endLocation": {
"lat": 48.3338,
"lon": 16.20949,
"timeZone": "Europe/Vienna"
},
"source": {
"id": "585497",
"name": "trip"
},
"gpsStats": {
"distance": 947,
"maxSpeed": 23,
"averageSpeed": 13
},
"metas": {},
"dangerousAreas": {
"areas": []
}
}
}
]
Every timeline item has the following properties:
- projectId: Move SDK Project ID
- userId: Id of specific User
- startTs: start timestamp as an ISO 8601 date time
- endTs: end timestamp as an ISO 8601 date time
- type: Mode of transport
Convert the
startTs
of a given timeline item to a UNIX timestamp to fetch a specific timeline item. For example, - in the user timeline you find a timeline item with
startTs
in UTC time"startTs":"2022-04-12T16:25:00Z" - Conversion into unix timestamp (UTC) is "1649780700" - this is your START_TS for fetching the specific timeline item.
- Please note, if you want to display the trip in human readable form, you may want to translate the startTs to the local timezone (which you can find in "startLocation / timeZone"; e.g. "Europe/Vienna").
Request:
GET https://sdk.dolph.in/v20/timeline/{START_TS}?userId={USER_ID}&projectId={PROJECT_ID}
content-type: application/json
Authorization: Basic {PROJECT_ID}:{API_KEY}
Response:
{
"projectId": {PROJECT_ID},
"userId": "{USER_ID}",
"startTs": "2022-10-17T05:58:00Z",
"endTs": "2022-10-17T06:03:00Z",
"type": "CYCLING",
"features": {
"startLocation": {
"lat": 48.328016,
"lon": 16.204514,
"timeZone": "Europe/Vienna"
},
"endLocation": {
"lat": 48.3338,
"lon": 16.20949,
"timeZone": "Europe/Vienna"
},
"source": {
"id": "585497",
"name": "trip"
},
"gpsStats": {
"distance": 947,
"maxSpeed": 23,
"averageSpeed": 13
},
"metas": {},
"dangerousAreas": {
"areas": []
}
}
}
Some timeline item types like CAR and CYCLING return way points.
Request:
GET https://sdk.dolph.in/v20/timeline/{START_TS}/points?userId={USER_ID}&projectId={PROJECT_ID}&withWayPointInfo=true
content-type: application/json
Authorization: Basic {PROJECT_ID}:{API_KEY}
Response:
[
{
"lat": 48.31712,
"lon": 16.2256,
"timestamp": "2022-09-01T14:50:08Z",
"wayPointInfo": {
"speed": 66,
"speedLimit": 100,
"wayType": "other",
"origLat": 48.317138,
"origLon": 16.225608
}
},
{
"lat": 48.31711,
"lon": 16.22608,
"timestamp": "2022-09-01T14:50:10Z",
"wayPointInfo": {
"speed": 67,
"speedLimit": 100,
"wayType": "other",
"origLat": 48.317118,
"origLon": 16.226084
}
}
]
Important: The Move SDK always tries to match GPS points to an existing road. For the original way points withWayPointInfo is required.
Relabel existing timeline items with a PATCH request:
PATCH https://sdk.dolph.in/timeline/label/{START_TS}/{NEW_MODE_OF_TRANSPORT}?userId={USER_ID}&projectId={PROJECT_ID}
Content-Type: application/json; charset=UTF-8
Authorization: Basic {PROJECT_ID}:{API_KEY}
Possible mode of transports:
- UNKNOWN
- DRIVING
- TRAIN
- TRAM
- CAR
- METRO
- FAKETRIP
- WALKING
- IDLE
- CYCLING
The response to this request is the existing timeline item with the new type.
Delete a single timeline item.
DELETE https://sdk.dolph.in/v20/timeline/{START_TS}?userId={USER_ID}&projectId={PROJECT_ID}
Content-Type: application/json; charset=UTF-8
Authorization: Basic {PROJECT_ID}:{API_KEY}
Every user has 4 last locations, in different contexts:
- car-end: last position of his car
- timeline-end: end location of last timeline item
- trip-position: updates live during a trip
- user-pos: updates user walking position
GET https://sdk-test.dolph.in/v20/location?projectId={PROJECT_ID}&userId={USER_ID}
Content-Type: application/json; charset=UTF-8
Authorization: Basic {PROJECT_ID}:{API_KEY}
Response:
[
{
"context": "car-end",
"lat": 48.322418,
"lon": 16.203955,
"timestamp": "2022-10-15T16:29:00Z"
},
{
"context": "timeline-end",
"lat": 48.3338,
"lon": 16.20949,
"timestamp": "2022-10-17T06:03:00Z"
},
{
"context": "trip-position",
"lat": 48.214684,
"lon": 16.413719,
"timestamp": "2022-10-17T07:04:41Z"
},
{
"context": "userpos",
"lat": 48.214723,
"lon": 16.413646,
"timestamp": "2022-10-17T07:03:10Z"
}
]
Last modified 13d ago