PureTrack provides a simple API endpoint to insert JSON data. To use this you'll need to be issued an insert key for your application. Contact Us to obtain a key.
The API is used to insert new data, so your app needs to keep track of what you've already sent to PureTrack.
Multiple trackers and/or location points can be sent in one call, so you can buffer multiple points into a single HTTP request. This reduces the number of requests, and reducing device power by not transmitting data as frequently. For example, you could record locations every 5 seconds, but send to the server every minute.
Recommended intervals between data points:
POST https://puretrack.io/api/insert
Example call, one tracker only.
{
"rego": "ZK-GOP",
"label": "asdf",
"key": "{YOUR_KEY_GOES_HERE}",
"type": 9,
"deviceID": "1234",
"username": "timbo",
"points": [
{
"ts": 1713563621,
"lat": -41.2334745,
"lng": 174.348365,
"alt": 345.1,
"speed": 25,
"course": 270,
"vspeed": 5.3
},
{
"ts": 1713563624,
"lat": -41.1634343,
"lng": 174.36545,
"alt": 335.1,
"speed": 28,
"course": 240,
"vspeed": 5.1
},
{
"ts": 1713563629,
"lat": -41.194343,
"lng": 174.38545,
"alt": 325.1,
"speed": 29,
"course": 190,
"vspeed": 5.0
}
]
}
Example call, with one or more trackers. Note the array of items. The key needs to be repeated for each tracker, and is the same for each.
[{
"rego": "ZK-ABC",
"label": "Sam ABC",
"key": "{YOUR_KEY_GOES_HERE}",
"type": 9,
"deviceID": "1234",
"username": "sambo",
"points": [
{
"ts": 1713563621,
"lat": -41.2334745,
"lng": 174.348365,
"alt": 345.1,
"speed": 25,
"course": 270,
"vspeed": 5.3
},
{
"ts": 1713563624,
"lat": -41.1634343,
"lng": 174.36545,
"alt": 335.1,
"speed": 28,
"course": 240,
"vspeed": 5.1
}
]
},
{
"rego": "ZK-XYZ",
"label": "Jimbo XYZ",
"key": "{YOUR_KEY_GOES_HERE}",
"type": 9,
"deviceID": "4567",
"username": "jimbo",
"points": [
{
"ts": 1713563621,
"lat": -41.2334745,
"lng": 174.348365,
"alt": 345.1,
"speed": 25,
"course": 270,
"vspeed": 5.3
},
{
"ts": 1713563624,
"lat": -41.1634343,
"lng": 174.36545,
"alt": 335.1,
"speed": 28,
"course": 240,
"vspeed": 5.1
}
]
}]
{
"trackers_received": 2,
"total_points_recieved": 6,
"total_points_inserted": 5,
"time": 29.019832611083984,
"success": true,
"http_code": 200
}
If some points weren't valid, e.g. missing data, the points inserted will be fewer than the points recieved.