Update trip by ID
post
/fleetMonitoring/clientapi/v2/trips/{tripId}
This operation updates information about a trip specified by its ID.
Permissions
IoTFleetMonitoringAdministrator - A user who is a part of IoTFleetMonitoringAdministratorsGroup can update tripStatus for all the trips. The user can only update trip name,vehicle and driver associated with a NOT_STARTED trip.
IoTFleetMonitoringDriver - A user who is a part of IoTFleetMonitoringDriversGroup can update the trip assigned to them. The user can update vehicle and tripStatus for NOT_STARTED trip and can update only the tripStatus for an IN_PROGRESS trip.
Permissions
IoTFleetMonitoringAdministrator - A user who is a part of IoTFleetMonitoringAdministratorsGroup can update tripStatus for all the trips. The user can only update trip name,vehicle and driver associated with a NOT_STARTED trip.
IoTFleetMonitoringDriver - A user who is a part of IoTFleetMonitoringDriversGroup can update the trip assigned to them. The user can update vehicle and tripStatus for NOT_STARTED trip and can update only the tripStatus for an IN_PROGRESS trip.
Request
Supported Media Types
- application/json
Path Parameters
-
tripId: string
Trip ID to be patched.
Header Parameters
-
X-HTTP-Method-Override: string
To perform a partial update of the trip, POST request should be orchestrated with method override set to PATCH.
Root Schema : Trip_update
Type:
Show Source
object-
driver(optional):
object DriverInfo_update
-
name(optional):
string
Trip name
-
tripStatus:
string
One of [NOT_STARTED, IN_PROGRESS, COMPLETED, CANCELLED].
-
vehicle(optional):
object VehicleInfo_update
Nested Schema : DriverInfo_update
Type:
Show Source
object-
externalId(optional):
string
External ID of the driver assigned to the trip
-
loginId(optional):
string
Driver login ID of the driver assigned to the trip
-
name(optional):
string
Name of the driver assigned to the trip
Response
Supported Media Types
- application/json
- application/vnd.oracle.resource+json;type=singular
200 Response
Successfully processed.
Root Schema : Trip_receive
Type:
Show Source
object-
destination:
object TripStops_receive
-
driverId:
string
ID of the driver associated with the trip
-
endTime:
integer
Trip end time (millisecond)
-
expectedDuration:
integer
Expected duration of the Trip (second)
-
id:
string
Trip ID
-
lastModifiedTime:
integer
Last modified time (millisecond)
-
name:
string
Trip name
-
source:
object TripStops_receive
-
startTime:
integer
Trip start time (millisecond)
-
stops:
array stops
List of stops for the trip
-
stopsClassification:
string
One of [SINGLE_STOP, DUAL_STOP, TRIPLE_STOP, MULTI_STOP, NON_STOP].
-
stopsCompleted:
integer
Number of stops completed for the trip
-
totalStops:
integer
Total stops for the trip
-
tripContext:
array tripContext
List of Trip Context for the trip
-
tripLength:
number
Total length of the Trip
-
tripLengthClassification:
string
One of [SHORT, MEDIUM, LONG].
-
tripStatus:
string
One of [NOT_STARTED, IN_PROGRESS, COMPLETED, CANCELLED].
-
tripTemplateId:
string
ID of the tripTemplate associated with the trip
-
vehicleId:
string
ID of the vehicle associated with this trip
Nested Schema : TripStops_receive
Type:
Show Source
object-
address:
string
Unified full address, e.g. 500 Oracle Parkway::Redwood City::CA::US::94065 . Must be provided if geoLocation is not specified.
-
arrivalTime:
integer
Trip arrival time (millisecond)
-
city:
string
Name of City
-
country:
string
Name of country
-
departureTime:
integer
Trip departure time (millisecond)
-
distanceToNextStop:
number
Estimated distance to next stop
-
estimatedArrivalTime:
integer
Estimated arrival time (millisecond)
-
estimatedDepartureTime:
integer
Estimated departure time (millisecond)
-
estimatedTimeToNextStop:
integer
Estimated time it will take to reach next stop (second)
-
expectedDurationFromStart:
integer
Expected duration to reach from Start to this Stop (second)
-
geoLocation:
object GeoPosition_receive
-
plannedArrivalTime:
integer
Planned Trip arrival time (in millisecond)
-
plannedDepartureTime:
integer
Planned Trip departure time (in millisecond)
-
postalCode:
string
Postal/Zip code
-
state:
string
Name of State
-
stopDurationInSeconds:
integer
Stop duration in seconds
-
stopSequence:
integer
Sequence number of the stop
-
stopType:
string
The reason for stopping
-
street:
string
Name of Street
-
timeZone:
string
Time zone of the time fields
Nested Schema : GeoPosition_receive
Type:
Show Source
object-
additionalElements:
array additionalElements
Property description was not set
-
altitude:
number
Property description was not set
-
latitude:
number
Property description was not set
-
longitude:
number
Property description was not set
-
valid:
boolean
Property description was not set
Nested Schema : TripModel$TripContext_receive
Type:
Show Source
object-
externalId:
string
The ID of the shipment in the external system, in case of connected systems
-
name:
string
Trip Context name
-
type:
string
Trip Context type either Shipment or default trip
-
value:
string
Trip Context Id, either Trip or Shipment Id
400 Response
Bad Request. The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
401 Response
Unauthorized. The request requires user authentication.
404 Response
Not Found. The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
405 Response
Method Not Allowed. The method specified in the Request-Line is not allowed for the resource identified by the Request-URI.
406 Response
Request Not Acceptable. The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
415 Response
Unsupported Media Type. The request entity has a media type which the server or resource does not support.
Examples
curl -X POST
-u <username>:<password>
-H 'Accept: application/json'
-H 'Content-Type: application/json'
--header "X-HTTP-Method-Override: PATCH"
https://iotserver/fleetMonitoring/clientapi/v2/trips/{tripId}
Example of Request Body
The following example shows the content of the request body in JSON format:
Update a NOT_STARTED trip with IoTFleetMonitoringAdministrator role
The following example shows the content of the request body in JSON format to update a trip with IoTFleetMonitoringAdministrator role:
{
"vehicle": {
"name": "Vehicle_Name"
},
"driver": {
"name": "Driver_Name",
"loginId": "Driver_Login_ID"
},
"tripStatus": "NOT_STARTED"
}
Update a NOT_STARTED trip with credentials of the driver assigned to the trip
The following example shows the content of the request body in JSON format to update a trip using credentials of IoTFleetMonitoringDriver assigned to the trip:
{
"vehicle": {
"name": "Vehicle_Name"
},
"tripStatus" : "IN_PROGRESS"
}
Update an IN_PROGRESS trip
The following example shows the content of the request body in JSON format to update an IN_PROGRESS trip:
{
"tripStatus":"COMPLETED"
}
Example of Response Body
The following example shows the content of the response body in JSON format:
{
"id": "D9B17614-5112-41B4-AA02-981C8F6C49F8",
"name": "HQ-SFO-SCA-Vehicle_Name",
"driverId": "7BE01256-8567-44BF-8DA3-8AEE26F33F35",
"vehicleId": "09DE39F0-A091-46B7-B0E9-3C21CC56EFE5",
"source": {
"address": "500 Oracle Parkway::Redwood City::CA::US::94065",
"geoLocation": [
-122.26223,
37.53084
],
"estimatedTimeToNextStop": 1945,
"distanceToNextStop": 38.619998931884766,
"expectedDurationFromStart": 0,
"city": "Redwood City",
"country": "US",
"plannedArrivalTime": 1519810576752,
"plannedDepartureTime": 1519810576752,
"postalCode": "94065",
"state": "CA",
"stopDurationInSeconds": 0,
"street": "500 Oracle Parkway",
"stopSequence": 0
},
"destination": {
"address": "4210 Network Circle::Santa Clara::CA::US::95054",
"geoLocation": [
-121.95267,
37.39124
],
"estimatedTimeToNextStop": 0,
"distanceToNextStop": 0,
"expectedDurationFromStart": 172800,
"city": "Santa Clara",
"country": "US",
"plannedArrivalTime": 1519983376752,
"plannedDepartureTime": 1519983376752,
"postalCode": "95054",
"state": "CA",
"stopDurationInSeconds": 0,
"street": "4210 Network Circle",
"stopSequence": 1
},
"stops": [
{
"address": "475 Sansome Street::San Francisco::CA::US::94111",
"geoLocation": [
-122.40143,
37.79461
],
"estimatedTimeToNextStop": 3100,
"distanceToNextStop": 72.06999969482422,
"expectedDurationFromStart": 43200,
"city": "San Francisco",
"country": "US",
"plannedArrivalTime": 1519853776752,
"plannedDepartureTime": 1519853776752,
"postalCode": "94111",
"state": "CA",
"stopDurationInSeconds": 0,
"street": "475 Sansome Street",
"stopSequence": 2
}
],
"tripStatus": "COMPLETED",
"expectedDuration": 5046,
"startTime": 1519810577014,
"endTime": 1519818158076,
"tripLength": 110,
"lastModifiedTime": 1519818158388,
"stopsCompleted": 0,
"totalStops": 1,
"stopsClassification": "SINGLE_STOP",
"tripLengthClassification": "MEDIUM",
"tripContext": [
{
"value": "D9B17614-5112-41B4-AA02-981C8F6C49F8",
"name": "HQ-SFO-SCA-Vehicle_Name",
"type": "TRIP"
}
],
"links": [
{
"href": "https://iotserver:443/fleetMonitoring/clientapi/v2/trips/D9B17614-5112-41B4-AA02-981C8F6C49F8/",
"rel": "self"
},
{
"href": "https://iotserver:443/fleetMonitoring/clientapi/v2/trips/D9B17614-5112-41B4-AA02-981C8F6C49F8/",
"rel": "canonical"
},
{
"href": "https://iotserver:443/fleetMonitoring/clientapi/v2/vehicles/09DE39F0-A091-46B7-B0E9-3C21CC56EFE5",
"rel": "vehicle"
},
{
"href": "https://iotserver:443/fleetMonitoring/clientapi/v2/drivers/7BE01256-8567-44BF-8DA3-8AEE26F33F35",
"rel": "driver"
}
]
}
Complete cURL Example
The following example shows a complete cURL command that you can use to perform the described operation:
curl -X POST
-u <username>:<password>
-H 'Accept: application/json'
-H 'Content-Type: application/json'
--header "X-HTTP-Method-Override: PATCH"
-d '{"driver":{"loginId":"f873b08524e-1f9","name":"Name of the driver assigned to the trip","externalId":"4f1b73dd4228-222e"},"name":"Trip name","vehicle":{"name":"Vehicle name"},"tripStatus":"One of [NOT_STARTED, IN_PROGRESS, COMPLETED, CANCELLED]."}'
https://iotserver/fleetMonitoring/clientapi/v2/trips/{tripId}
Note that in the request,
https://iotserver will be replaced by the name and port of your assigned IoT Cloud Service instance. The format of the Cloud Service instance is
https://myinstance-myidentitydomain.iot.us.oraclecloud.com and the default port is 443.