Event type: “trip.status-changed”
The “trip.status-changed” webhook event is triggered whenever there is a change in the status of a Trip in the Locate2u system. This status change can occur from multiple sources within the system, such as the app portal, mobile apps, or through the API. Developers integrating with Locate2u can subscribe to this webhook event and handle these status changes on their URL/website. Here’s how you subscribe to the “trip.status-changed” webhook:
- Subscribe to the “trip.status-changed” event by making a POST call to the api/v1/webhooks endpoint with two parameters : “eventType” and “url”.
Example Request Body
The request body should be in raw format and should contain below fields:
eventType
(string, required): The type of event for the webhook. Here we are subscribing to trip.status-changed webhook.url
(string, required): The URL where the webhook payload will be sent.
{
"eventType": "trip.status-changed",
"url": "https://hookb.in/"
}
Once subscribed to the “trip.status-changed” event, the Locate2u webhook will send a payload with details of the event whenever there is a change in the status of a trip, allowing you to perform actions on your end accordingly. See the response section for an example payload sent by the webhook. Below, you will find example requests on how to subscribe to the “trip.status-changed” event.
List of Trip statuses :
Pending
Started
Complete
Cancelled
On Hold
Sample code
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "http://api.locate2u.com/api/v1/webhooks");
request.Headers.Add("Authorization", "Bearer yourBearerTokenHere");
var content = new StringContent("{\"eventType\": \"my.event\", \"url\" : \"https://hookb.in/"}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"eventType\": \"trip.status-changed\", \"url\" : \"https://hookb.in/"}");
Request request = new Request.Builder()
.url("http://api.locate2u.com/api/v1/webhooks")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer yourBearerTokenHere")
.build();
Response response = client.newCall(request).execute();
var http = require('follow-redirects').http;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'api.locate2u.com',
'path': '/api/v1/webhooks',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer Bearer yourBearerTokenHere'
},
'maxRedirects': 20
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"eventType": "trip.status-changed",
"url": "https://hookb.in/"
});
req.write(postData);
req.end();
'http://api.locate2u.com/api/v1/webhooks',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{"eventType": "trip.status-changed", "url" : "https://hookb.in/"}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer yourBearerTokenHere'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "http://api.locate2u.com/api/v1/webhooks"
payload = json.dumps({
"eventType": "trip.status-changed",
"url": "https://hookb.in/"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer yourBearerTokenHere'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Response
Example response code for Trip status change event:
{
"tripId": 46643,
"tripDate": "2024-04-27",
"actionDate": "2024-04-27T14:49:43.7847927+10:00",
"oldStatus": "Pending",
"newStatus": "Started",
"notes": null,
"location": null,
"changedByUser": {
"name": "Steve Parker",
"id": "a823361e-9d40-4438-bb28-b2b58cdb957e"
}
}