Log GPS Event
curl --request POST \
--url https://api.crosoftware.com/v0/locations/{location_id}/gps_events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"location": {
"coords": {
"heading": "<string>",
"latitude": "<string>",
"longitude": "<string>",
"speed": "<string>"
},
"timestamp": "2023-11-07T05:31:56Z"
}
}
'import requests
url = "https://api.crosoftware.com/v0/locations/{location_id}/gps_events"
payload = { "location": {
"coords": {
"heading": "<string>",
"latitude": "<string>",
"longitude": "<string>",
"speed": "<string>"
},
"timestamp": "2023-11-07T05:31:56Z"
} }
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
location: {
coords: {
heading: '<string>',
latitude: '<string>',
longitude: '<string>',
speed: '<string>'
},
timestamp: '2023-11-07T05:31:56Z'
}
})
};
fetch('https://api.crosoftware.com/v0/locations/{location_id}/gps_events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.crosoftware.com/v0/locations/{location_id}/gps_events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'location' => [
'coords' => [
'heading' => '<string>',
'latitude' => '<string>',
'longitude' => '<string>',
'speed' => '<string>'
],
'timestamp' => '2023-11-07T05:31:56Z'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.crosoftware.com/v0/locations/{location_id}/gps_events"
payload := strings.NewReader("{\n \"location\": {\n \"coords\": {\n \"heading\": \"<string>\",\n \"latitude\": \"<string>\",\n \"longitude\": \"<string>\",\n \"speed\": \"<string>\"\n },\n \"timestamp\": \"2023-11-07T05:31:56Z\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.crosoftware.com/v0/locations/{location_id}/gps_events")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"location\": {\n \"coords\": {\n \"heading\": \"<string>\",\n \"latitude\": \"<string>\",\n \"longitude\": \"<string>\",\n \"speed\": \"<string>\"\n },\n \"timestamp\": \"2023-11-07T05:31:56Z\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crosoftware.com/v0/locations/{location_id}/gps_events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": {\n \"coords\": {\n \"heading\": \"<string>\",\n \"latitude\": \"<string>\",\n \"longitude\": \"<string>\",\n \"speed\": \"<string>\"\n },\n \"timestamp\": \"2023-11-07T05:31:56Z\"\n }\n}"
response = http.request(request)
puts response.read_body{
"bearing": "<string>",
"created_on": "2023-11-07T05:31:56Z",
"driver_id": "<string>",
"id": 123,
"latitude": "<string>",
"longitude": "<string>",
"truck_id": 123,
"velocity": "<string>",
"device_name": "<string>"
}GPS
Log GPS Event
Log a GPS event.
POST
/
locations
/
{location_id}
/
gps_events
Log GPS Event
curl --request POST \
--url https://api.crosoftware.com/v0/locations/{location_id}/gps_events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"location": {
"coords": {
"heading": "<string>",
"latitude": "<string>",
"longitude": "<string>",
"speed": "<string>"
},
"timestamp": "2023-11-07T05:31:56Z"
}
}
'import requests
url = "https://api.crosoftware.com/v0/locations/{location_id}/gps_events"
payload = { "location": {
"coords": {
"heading": "<string>",
"latitude": "<string>",
"longitude": "<string>",
"speed": "<string>"
},
"timestamp": "2023-11-07T05:31:56Z"
} }
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
location: {
coords: {
heading: '<string>',
latitude: '<string>',
longitude: '<string>',
speed: '<string>'
},
timestamp: '2023-11-07T05:31:56Z'
}
})
};
fetch('https://api.crosoftware.com/v0/locations/{location_id}/gps_events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.crosoftware.com/v0/locations/{location_id}/gps_events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'location' => [
'coords' => [
'heading' => '<string>',
'latitude' => '<string>',
'longitude' => '<string>',
'speed' => '<string>'
],
'timestamp' => '2023-11-07T05:31:56Z'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.crosoftware.com/v0/locations/{location_id}/gps_events"
payload := strings.NewReader("{\n \"location\": {\n \"coords\": {\n \"heading\": \"<string>\",\n \"latitude\": \"<string>\",\n \"longitude\": \"<string>\",\n \"speed\": \"<string>\"\n },\n \"timestamp\": \"2023-11-07T05:31:56Z\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.crosoftware.com/v0/locations/{location_id}/gps_events")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"location\": {\n \"coords\": {\n \"heading\": \"<string>\",\n \"latitude\": \"<string>\",\n \"longitude\": \"<string>\",\n \"speed\": \"<string>\"\n },\n \"timestamp\": \"2023-11-07T05:31:56Z\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crosoftware.com/v0/locations/{location_id}/gps_events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": {\n \"coords\": {\n \"heading\": \"<string>\",\n \"latitude\": \"<string>\",\n \"longitude\": \"<string>\",\n \"speed\": \"<string>\"\n },\n \"timestamp\": \"2023-11-07T05:31:56Z\"\n }\n}"
response = http.request(request)
puts response.read_body{
"bearing": "<string>",
"created_on": "2023-11-07T05:31:56Z",
"driver_id": "<string>",
"id": 123,
"latitude": "<string>",
"longitude": "<string>",
"truck_id": 123,
"velocity": "<string>",
"device_name": "<string>"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
Version identifier (date format).
Tenant identifier. Contact CRO Software for more info if you don't already have this id. See list tenant ids for info on listing the tenants you have access to.
Path Parameters
Location identifier.
Body
application/json
GPS event log data.
GPS event location data.
Show child attributes
Show child attributes
Response
200 - application/json
Success
GPS event data.
Direction of travel at time of measurement.
Timestamp of creation (must be in past).
Driver identifier.
Resource identifier.
Latitude.
longitude.
Truck identifier.
Rate of travel at time of measurement.
Name (free text).
⌘I