What is REST?
"Representational state transfer (REST) is a way to create, read, update or delete information on a server using simple HTTP calls...A REST call is simply an HTTP request to the server. REST ignores the details of component implementation and protocol syntax in order to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements." —wikipedia
This guide is intended to assist software developers who want to build applications using Fleet Manager 3.5 as a platform and documents a RESTful application programming interface (API). The API allows developers to interact with Fleet Manager 3.5 components. Using the information contained herein requires knowledge in the following areas:
While our Technical Support Staff strives to be as helpful as possible, we do not offer implementation support for our API. That is, we cannot offer code examples or answers to programming questions. Our API uses industry standard technology that any experienced software developer should be familiar with. If you have no prior experience writing software it would be in your best interest to have a developer or a software company implement the API on your behalf.
There are several interpretations of how REST should be implemented. The Fleet Manager RESTful API follows the RFC-2616 (Hypertext Transfer Protocol -- HTTP/1.1) standard with a few exceptions. Refer to section 9, Method Definitions for HTTP Request Methods.
GET | Retrieve information identified by the Request-URI. The API will ignore 'conditional' and 'partial' GET fields such as If-Modified, If-Match, or Range. |
---|---|
HEAD | Not used |
POST | Create a new subordinate of the resource identified by the Request-URI |
PUT | Typically PUT may act like a POST in that if a subordinate already exists it will be updated. Otherwise it will be created. For the sake of ease and to eliminate ambiguity this API reserves PUT to update a subordinate only. |
DELETE | Remove a subordinate identified by the Request-URI. |
Throughout the documentation the terms resource and subordinate are used. A resource is simply the type of entity one may interact with; for example, driver, vehicle, or alert. A subordinate is a record or an instance of a resource and is typically identified with a unique integer id.
The use of the terms request and call are interchageable when referring to the invocation of the API through its URIs.
All requests made to the API are done so via Uniform Resource Identifiers (URIs).
URI structure
http://fleet.gpstrackit.net/api/resource/name/value/name/value...
Looking at this structure, resource names the type of resource or entity you want to manipulate. Examples of resources are: driver, vehicle, and alert.
Name/value pairs serve as arguments or information that goes along with a call. Example: name/value pair id/1234. This example says, "resource with an id of 1234".
If you make a request to http://fleet.gpstrackit.net/api/driver/id/1234 via HTTP/GET you are telling the API, "give me details on a driver whose id is 1234. If you make a request to http://fleet.gpstrackit.net/api/driver/id/1234/name/Joe%20User via HTTP/PUT you are telling the API, "the driver's name whose id is 1234 is to be updated to Joe User".
For requests in which multiple name/value pairs may be sent, the order of the name/values pairs does not matter. Therefore, name1/value1/name2/value2 is treated the same as name2/value2/name1/value1. Note: the resource must always appear before name/value pairs.
All requests made to the API must employ the appropriate HTTP-Request Method verb (GET, POST, PUT, DELETE). It is this verb that describes the action you want to take with a given resource. GET retrieves information about an identified subordinate of a resource. POST makes a new record or subordinate of the resource type. PUT updates information about an identified subordinate of a resource. DELETE removes a identified subordinate of a resource.
When making a call to the API with values in the HTTP Request body ensure that you send Content-Type in the HTTP Request Header.
HTTP Content-Type Request Header Example
Content-Type: application/x-www-form-urlencoded
When successfully making a POST request to create a new resource subordinate, the HTTP Response Header will contain a Location field providing a URI for the newly created subordinate.
HTTP Location Response Header Example
Location: http://fleet.gpstrackit.net/api/resource/id/{subordinate id}
The API does not support cross-domain calls made via AJAX/HttpXMLRequest. Requests must be made via cURL or other server-side HTTP library to avoid Same Origin Policy (SOP) violations.
Following the "hello world" tradition, there are few a requests that can be made to get a response from the server that will allow you to get-your-feet-wet or test your code.
Sending a request to http://fleet.gpstrackit.net/api/test with any of the supported Request Methods will respond with the message, "Successful call via insert-request-method-here".
Each request must include an API key. An API key may be obtained from within Fleet Manager 3.5 in the Account -> API section. Each subuser in your Fleet Manager 3.5 account may be given his or her own API key. This allows any user-level permissions that you may have defined to also be propagated through the API.To include an API Key in your request add an X-API-KEY field to your HTTP Request Header with the value being the key.
Each API key is allowed 50 queries per minute. If the number of requests exceeds this threshold, the API will issue an HTTP 408 Request Timeout response.
All API calls marked with are SCT restricted. There can only be one active SCT API call at any given instance. If another SCT call is requested before the active SCT call finishes, the API will issue an HTTP 408 Request Timeout response for the new request.
Each API Key is paired with an IP address. Only calls from the specified IP address may be made or the API will issue an HTTP 403 Forbidden response. If you require to make calls from multiple IP addresses you will need to generate an additional key. Do not attempt to circumvent RPM or SCT restrictions by adding additional IP addresses. Each request is logged and any abuse of the API may result in a temporary or permanent ban from the API.
Two response formats are supported: XML and JSON. If a format is not specified or not supported JSON is used by default.
There are two ways of telling the API which format you want to use. Employing both methods in the same request may have unpredictable results.
You may append URIs with /format/xml or /format/json. When choosing a format in this way, the format name/value pair must be at the end of the URI.
You may include an Accept field in your HTTP Request Header. The value must be either application/xml for XML or application/json for JSON.
HTTP Accept Header Example
Accept: application/json
Several HTTP Response Codes may be issued based on the type, status or condition of request that is made.
#!/bin/sh
echo "Hello Developer. Here is the reference describing all of the API's endpoints, parameters, and some example ouput...Happy Coding."
This method returns information about the last 40 logins that have been recorded in the Fleet application.
Data: logins_id, username, ip, logindate
Success Code: 200 - OK
Success Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <logins> <item> <loginid>1234567</loginid> <username>example user</username> <loginip>127.0.0.1</loginip> <logindate>0000-00-00 00:00:00</logindate> </item> <item> <loginid>1234568</loginid> <username>example user</username> <loginip>127.0.0.1</loginip> <logindate>0000-00-00 00:00:00</logindate> </item> </logins> </xml>
This method returns a list information about each vehicle in the account.
Data: vehicleid, vehiclelabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <vehicles> <item> <vehicleid>112233</vehicleid> <vehiclelabel>Vehicle 1</vehiclelabel> </item> <item> <vehicleid>445566</vehicleid> <vehiclelabel>Vehicle 2</vehiclelabel> </item> </vehicles> </xml>
URI: id
This method returns information about a vehicle.
Data: vehiclegroupid, vehiclegrouplabel, vin, vehicleid, vehiclelabel, vehicletimezone, driverid, locationid, odometer, enginehour, vehiclegroups, vehiclenotes, vehiclestatusiconid, vehiclestatusiconlabel, vehiclestatusid, vehiclestatuslabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <vehicle> <vehicletimezone>US/Pacific</vehicletimezone> <vehiclegroupid>1</vehiclegroupid> <vehiclegrouplabel>Vehicle Group 1</vehiclegrouplabel> <vehicleid>12345</vehicleid> <vehiclelabel>Vehicle 1</vehiclelabel> <driverid>1</driverid> <locationid>1</locationid> <odometer>1</odometer> <vin>1234ABC</vin> <enginehour>1</enginehour> <vehiclegroups> <item> <vehiclegroupid>1</vehiclegroupid> <vehiclegrouplabel>Vehicle Group 1</vehiclegrouplabel> </item> <item> <vehiclegroupid>2</vehiclegroupid> <vehiclegrouplabel>Vehicle Group 2</vehiclegrouplabel> </item> </vehiclegroups> <vehiclenotes>Test Notes</vehiclenotes> <vehiclestatusiconid>2</vehiclestatusiconid> <vehiclestatusiconlabel>Blue</vehiclestatusiconlabel> <vehiclestatusid>3544</vehiclestatusid> <vehiclestatuslabel>Water Truck</vehiclestatuslabel> </vehicle> </xml>
URI: id
Vehicle ID
URI: range (optional)
Specify a range 1-20 from the last events
This method returns the last event(s) reported by the specified vehicle.
Data: eventlatitude, eventlongitude, driverid, eventspeed, eventsignalstrength, eventpostedspeed, eventtime, eventaddress, eventmileage, eventheading, landmark, event, eventtemperature, eventbattery, eventbatt
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Note: Please see the note regarding landmark data in the Get a landmark endpoint section.
<xml> <lastevent> <eventlatitude>0.00000</eventlatitude> <eventlongitude>0.00000</eventlongitude> <eventsignalstrength>5</eventsignalstrength> <eventtime>2014-05-10 07:51:10</eventtime> <eventaddress>12345 Example St, Temecula, California, 92590</eventaddress> <eventmileage>123.123456789</eventmileage> <eventheading>N</eventheading> <landmark> <landmarkid>123456</landmarkid> <landmarklabel>Example Label</landmarklabel> <landmarkaddress>12345 Example St, Temecula, CA 92590, USA</landmarkaddress> <landmarklatitude>0.00000</landmarklatitude> <landmarklongitude>0.00000</landmarklongitude> <landmarkradius>400</landmarkradius> <landmarkgroup>12345</landmarkgroup> <landmarknotes/> <landmarkshape>circle</landmarkshape> <landmarkcoordinates> <item> <latitude>41.227526299</latitude> <longitude>-113.806411531</longitude> </item> <item> <latitude>41.227526299</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.806411531</longitude> </item> </landmarkcoordinates> </landmark> <driverid>0</driverid> <eventspeed/> <eventpostedspeed>0</eventpostedspeed> <event>Update</event> <eventtemperature/> <eventbattery/> <eventbatt/> </lastevent> </xml>
URI: id
Vehicle Group ID
URI: range (optional)
Specify a range 1-20 from the last events
This method returns the last event(s) reported by all the vehicles in the specifed vehicle group.
Data: vehicleid, vehiclelabel, lastevent
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Note: Please see the note regarding landmark data in the Get a landmark endpoint section.
<xml> <vehicles> <item> <vehicleid>112233</vehicleid> <vehiclelabel>Vehicle 1</vehiclelabel> <lastevent> <item> <eventlatitude>0.00000</eventlatitude> <eventlongitude>0.00000</eventlongitude> <eventsignalstrength>5</eventsignalstrength> <eventtime>2014-05-10 07:51:10</eventtime> <eventaddress>12345 Example St, Temecula, California, 92590</eventaddress> <eventmileage>123.123456789</eventmileage> <eventheading>N</eventheading> <landmark> <landmarkid>123456</landmarkid> <landmarklabel>Example Label</landmarklabel> <landmarkaddress>12345 Example St, Temecula, CA 92590, USA</landmarkaddress> <landmarklatitude>0.00000</landmarklatitude> <landmarklongitude>0.00000</landmarklongitude> <landmarkradius>400</landmarkradius> <landmarkgroup>12345</landmarkgroup> <landmarknotes/> <landmarkshape>circle</landmarkshape> <landmarkcoordinates> <item> <latitude>41.227526299</latitude> <longitude>-113.806411531</longitude> </item> <item> <latitude>41.227526299</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.806411531</longitude> </item> </landmarkcoordinates> </landmark> <driverid>0</driverid> <eventspeed/> <eventpostedspeed>0</eventpostedspeed> <event>Update</event> <eventtemperature/> <eventbattery/> <eventbatt/> <item> </lastevent> </item> <item> <vehicleid>445566</vehicleid> <vehiclelabel>Vehicle 2</vehiclelabel> <lastevent/> </item> </vehicles> </xml>
This method returns the last event reported by all the vehicles.
Data: vehicleid, vehiclelabel, lastevent
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Note: Please see the note regarding landmark data in the Get a landmark endpoint section.
<xml> <vehicles> <item> <vehicleid>112233</vehicleid> <vehiclelabel>Vehicle 1</vehiclelabel> <lastevent> <eventlatitude>0.00000</eventlatitude> <eventlongitude>0.00000</eventlongitude> <eventsignalstrength>5</eventsignalstrength> <eventtime>2014-05-10 07:51:10</eventtime> <eventaddress>12345 Example St, Temecula, California, 92590</eventaddress> <eventmileage>123.123456789</eventmileage> <eventheading>N</eventheading> <landmark> <landmarkid>123456</landmarkid> <landmarklabel>Example Label</landmarklabel> <landmarkaddress>12345 Example St, Temecula, CA 92590, USA</landmarkaddress> <landmarklatitude>0.00000</landmarklatitude> <landmarklongitude>0.00000</landmarklongitude> <landmarkradius>400</landmarkradius> <landmarkgroup>12345</landmarkgroup> <landmarknotes/> <landmarkshape>circle</landmarkshape> <landmarkcoordinates> <item> <latitude>41.227526299</latitude> <longitude>-113.806411531</longitude> </item> <item> <latitude>41.227526299</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.806411531</longitude> </item> </landmarkcoordinates> </landmark> <driverid>0</driverid> <eventspeed/> <eventpostedspeed>0</eventpostedspeed> <event>Update</event> <eventtemperature/> <eventbattery/> <eventbatt/> </lastevent> </item> <item> <vehicleid>445566</vehicleid> <vehiclelabel>Vehicle 2</vehiclelabel> <lastevent/> </item> </vehicles> </xml>
URI: id
Vehicle ID
This method returns the last DTC event reported by the specified vehicle.
Data: eventtime,eventdtc
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent or feature not supported on vehicle)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <lastdtcevent> <eventtime>2014-05-10 07:51:10</eventtime> <eventdtc> <item>P0101</item> </eventdtc> </lastdtcevent> </xml>
This method returns the last event reported by all the vehicles in the specified vehicle group.
Data: vehicleid, vehiclelabel, lastdtcevent
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Note: Vehicles that are incapable of using this feature will be returned with a message indicating their incapability
<xml> <vehicles> <item> <vehicleid>112233</vehicleid> <vehiclelabel>Vehicle 1</vehiclelabel> <lastdtcevent> <eventtime>2014-05-10 07:51:10</eventtime> <eventdtc> <item>P0101</item> </eventdtc> </lastdtcevent> </item> <item> <vehicleid>445566</vehicleid> <vehiclelabel>Vehicle 2</vehiclelabel> <lastdtcevent> <eventtime>2014-05-10 07:51:10</eventtime> <eventdtc> <item>P0101</item> <item>P0102</item> </eventdtc> </lastdtcevent> </item> <item> <vehicleid>778899</vehicleid> <vehiclelabel>Vehicle 3</vehiclelabel> <message>The feature is not supported on this vehicle</message> </item> </vehicles> </xml>
This method returns the last DTC event reported by all the vehicles.
Data: vehicleid, vehiclelabel, lastdtcevent
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Note: Vehicles that are incapable of using this feature will be returned with a message indicating their incapability
<xml> <vehicles> <item> <vehicleid>112233</vehicleid> <vehiclelabel>Vehicle 1</vehiclelabel> <lastdtcevent> <eventtime>2014-05-10 07:51:10</eventtime> <eventdtc> <item>P0101</item> </eventdtc> </lastdtcevent> </item> <item> <vehicleid>445566</vehicleid> <vehiclelabel>Vehicle 2</vehiclelabel> <lastdtcevent> <eventtime>2014-05-10 07:51:10</eventtime> <eventdtc> <item>P0101</item> <item>P0102</item> </eventdtc> </lastdtcevent> </item> <item> <vehicleid>778899</vehicleid> <vehiclelabel>Vehicle 3</vehiclelabel> <message>The feature is not supported on this vehicle</message> </item> </vehicles> </xml>
This method returns a list of information about each vehicle group in the account.
Data: vehiclegroupid, vehiclegrouplabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <vehiclegroups> <item> <vehiclegroupid>112233</vehiclegroupid> <vehiclegrouplabel>Vehicle Group 1</vehiclegrouplabel> </item> <item> <vehiclegroupid>445566</vehiclegroupid> <vehiclegrouplabel>Vehicle Group 2</vehiclegrouplabel> </item> </vehiclegroups> </xml>
URI: id
This method returns information about a vehicle group.
Data: vehiclegroupid, vehiclegrouplabel, vehiclegroupcolor
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <vehiclegroup> <vehiclegroupid>1234</vehiclegroupid> <vehiclegrouplabel>Vehicle Group 1</vehiclegrouplabel> <vehiclegroupcolor>ffffff</vehiclegroupcolor> </vehiclegroup> </xml>
This method returns a list information about each landmark in the account.
Data: landmarkid, landmarklabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <landmarks> <item> <landmarkid>123</landmarkid> <landmarklabel>Landmark 1</landmarklabel> </item> <item> <landmarkid>456</landmarkid> <landmarklabel>Landmark 2</landmarklabel> </item> </landmarks> </xml>
URI: id
This method returns information about a landmark.
Data: landmarkid, landmarklabel, landmarkaddress, landmarklatitude, landmarklongitude, landmarkradius, landmarkgroupid, landmarknotes, landmarkshape, landmarkcoordinates
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Note:
<xml> <landmark> <landmarkid>123</landmarkid> <landmarklabel>Landmark 1</landmarklabel> <landmarkaddress>123 Street, Hemet, CA, 92582</landmarkaddress> <landmarklatitude>33.597441</landmarklatitude> <landmarklongitude>-117.21115</landmarklongitude> <landmarkradius>50</landmarkradius> <landmarkgroupid>123</landmarkgroupid> <landmarknotes>Testing<landmarknotes/> <landmarkshape>circle</landmarkshape> <landmarkcoordinates> <item> <latitude>41.227526299</latitude> <longitude>-113.806411531</longitude> </item> <item> <latitude>41.227526299</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.786361907</longitude> </item> <item> <latitude>41.2124452709</latitude> <longitude>-113.806411531</longitude> </item> </landmarkcoordinates> </landmark> </xml>
This method returns a list information about each landmark group in the account.
Data: landmarkgroupid, landmarkgrouplabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <landmarkgroups> <item> <landmarkgroupid>123</landmarkgroupid> <landmarkgrouplabel>Landmark Group 1</landmarkgrouplabel> </item> <item> <landmarkgroupid>456</landmarkgroupid> <landmarkgrouplabel>Landmark Group 2</landmarkgrouplabel> </item> </landmarkgroups> </xml>
URI: id
This method returns information about a landmark group.
Data: landmarkgroupid, landmarkgrouplabel, landmarkgroupcolor
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <landmarkgroup> <landmarkgroupid>123</landmarkgroupid> <landmarkgrouplabel>Landmark Group 1</landmarkgrouplabel> <landmarkgroupcolor>ffffff</landmarkgroupcolor> </landmarkgroup> </xml>
This method returns a list of information about each driver in the account.
Data: driverid, driverlabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <drivers> <item> <driverid>123</driverid> <driverlabel>John Doe</driverlabel> </item> <item> <driverid>456</driverid> <driverlabel>Jane Doe</driverlabel> </item> </drivers> </xml>
URI: id
This method returns information about a driver.
Data: driverid, driverlabel, drivergroupid, drivergrouplabel, drivercontact, drivertimezone
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <driver> <driverid>123</driverid> <driverlabel>John Doe</driverlabel> <drivergroupid>456</drivergroupid> <drivercontact>1234567891@carrier.com</drivercontact> <drivertimezone>US/Pacific</drivertimezone> <drivergrouplabel>Driver Group 1</drivergrouplabel> </driver> </xml>
This method returns a list of information about each driver group in the account.
Data: drivergroupid, drivergrouplabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <drivergroups> <item> <drivergroupid>123</drivergroupid> <drivergrouplabel>Group 1</drivergrouplabel> </item> <item> <drivergroupid>456</drivergroupid> <drivergrouplabel>Group 2</drivergrouplabel> </item> </drivergroups> </xml>
URI: id
This method returns information about a driver group.
Data: drivergroupid, drivergrouplabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <drivergroup> <drivergroupid>123</drivergroupid> <drivergrouplabel>Group 1</drivergrouplabel> </drivergroup> </xml>
This method returns a list of information about each FSM driver in the account.
Data: driverid, driverlabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <fsmdrivers> <item> <driverid>123</driverid> <driverlabel>John Doe</driverlabel> </item> <item> <driverid>456</driverid> <driverlabel>Jane Doe</driverlabel> </item> </fsmdrivers> </xml>
URI: id
This method returns information about an FSM driver.
The fsmconnectionstatus number indicates one of the following statuses:
Data: driverid, driverlabel, drivergroupid, contact, drivertimezone, drivergrouplabel, fsmconnectionstatus, fsmlastactivitydate, fsmlastactivitytime
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <fsmdriver> <driverid>123</driverid> <driverlabel>John Doe</driverlabel> <drivergroupid>456</drivergroupid> <contact>1234567891@carrier.com</contact> <drivertimezone>US/Pacific</drivertimezone> <drivergrouplabel>Driver Group 1</drivergrouplabel> <fsmconnectionstatus>4</fsmconnectionstatus> <fsmlastactivitydate>2013-05-02</fsmlastactivitydate> <fsmlastactivitytime>20:54:10</fsmlastactivitytime> </fsmdriver> </xml>
This method returns a list of information about each maintenance item in the account.
Data: maintenanceid, maintenancelabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <maintenances> <item> <maintenanceid>123</maintenanceid> <maintenancelabel>Oil Change</maintenancelabel> </item> <item> <maintenanceid>456</maintenanceid> <maintenancelabel>Tire Rotation</maintenancelabel> </item> </maintenances> </xml>
URI: id
This method returns information about a maintenance item.
Data: maintenanceid, maintenancelabel, maintenancenotes, maintenancemiles, maintenancemilesreminder, maintenancedays, maintenancedaysreminder, maintenancehours, maintenancehoursreminder
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <maintenance> <maintenanceid>123</maintenanceid> <maintenancelabel>Oil Change</maintenancelabel> <maintenancenotes/> <maintenancemiles>200.00</maintenancemiles> <maintenancemilesreminder>140.00</maintenancemilesreminder> <maintenancedays>30</maintenancedays> <maintenancedaysreminder>25</maintenancedaysreminder> <maintenancehours>1000</maintenancehours> <maintenancehoursreminder>800</maintenancehoursreminder> </maintenance> </xml>
This method returns a list of information about each service item in the account.
Data: serviceid, servicelabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <services> <item> <serviceid>123</serviceid> <servicelabel>Oil Change</servicelabel> </item> <item> <serviceid>456</serviceid> <servicelabel>Tire Rotation</servicelabel> </item> </services> </xml>
URI: id
This method returns information about a service item.
Data: serviceid, servicelabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <service> <serviceid>123</serviceid> <servicelabel>Oil Change</servicelabel> </service> </xml>
This method returns a list of information about each alert in the account.
Data: alertid, alertlabel, alertonaction, alertonevent, alertinputevent, alertinputnumber, alertinputmph, alertignition, alertmotion, alertwhenreport, alertattime, alertdrivestarthour, alertdriveendhour, alertdelay, alertinterval, alertcontacts, alertvehicles
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <alerts> <item> <alertid>1234</alertid> <alertlabel>Example 1 label</alertlabel> </item> <item> <alertid>1235</alertid> <alertlabel>Example 2 label</alertlabel> </item> </alerts> </xml>
URI: id
This method returns information about an alert.
Data: alertid, alertlabel, alertonaction, alertonevent, alertinputevent, alertinputnumber, alertinputmph, alertignition, alertmotion, alertwhenreport, alertattime, alertdrivestarthour, alertdriveendhour, alertdelay, alertinterval, alertcontacts, alertvehicles
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <alert> <alertid>1234</alertid> <alertlabel>Power loss</alertlabel> <alertonaction>onevent</alertonaction> <alertonevent>poweroff</alertonevent> <alertinputevent/> <alertinputnumber/> <alertinputmph>0</alertinputmph> <alertignition/> <alertmotion/> <alertwhenreport/> <alertattime>0</alertattime> <alertdrivestarthour>0</alertdrivestarthour> <alertdriveendhour>0</alertdriveendhour> <alertdelay>0</alertdelay> <alertinterval>0</alertinterval> <alertcontacts> <item> <contactid>1234</contactid> <contactlabel>John Doe</contactlabel> <contactaddress>jdoe@fleet.gpstrackit.net</contactaddress> <contacttype>email</contacttype> <contactapualerts>0</contactapualerts> </item> </alertcontacts> <alertvehicles> <item> <vehicleid>1234567</vehicleid> <vehiclelabel>Example Vehicle</vehiclelabel> </item> </alertvehicles> </alert> </xml>
This method returns a list of information about each contact in the account.
Data: contactid, contactlabel, contactaddress, contacttype.
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <contacts> <item> <contactid>12345</contactid> <contactlabel>example 1's cell</contactlabel> </item> <item> <contactid>12346</contactid> <contactlabel>examples 2's cell</contactlabel> </item> </contacts> </xml>
URI: id
This method returns information about a contact.
Data:
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <contact> <contactid>12345</contactid> <contactlabel>examples cell</contactlabel> <contactaddress>5551234567@txt.att.net</contactaddress> <contacttype>cellphone</contacttype> </contact> </xml>
This method returns a list of information about each route in the account.
Data: routeid, routelabel, routeoptimized, routepoints
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <routes> <item> <routeid>1234</routeid> <routelabel>Example 1 Label</routelabel> </item> <item> <routeid>1235</routeid> <routelabel>Example 2 Label</routelabel> </item> </routes> </xml>
URI: id
This method returns information about a route.
Data: routeid, routelabel, routeoptimized, routeavoidtoll, routepoints
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
<xml> <route> <routeid>1234</routeid> <routelabel>Example Label</routelabel> <routeoptimized>0</routeoptimized> <routeavoidtoll>0</routeavoidtoll> <routepoints> <item> <pointid>1234</pointid> <routedefaultid>0</routedefaultid> <pointaddress/> <pointcity>Temecula</pointcity> <pointstate>Ca</pointstate> <pointlandmarkid>123456</pointlandmarkid> <pointlatitude>0.00000</pointlatitude> <pointlongitude>0.00000</pointlongitude> <pointorder>0</pointorder> <startpoint>0</startpoint> <endpoint>0</endpoint> <pointnote/> <landmarktitle>Example Title</landmarktitle> <landmarkaddress>1234 Example St</landmarkaddress> <landmarklatitude>0.00000</landmarklatitude> <landmarklongitude>0.00000</landmarklongitude> </item> <item> <pointid>1235</pointid> <routedefaultid>0</routedefaultid> <pointaddress>111 Example St</pointaddress> <pointcity>Temecula</pointcity> <pointstate>Ca</pointstate> <pointlandmarkid>0</pointlandmarkid> <pointlat>0.00000</pointlat> <pointlon>0.00000</pointlon> <pointorder>1</pointorder> <startpoint>0</startpoint> <endpoint>0</endpoint> <pointnote/> </item> </routepoints> </route> </xml>
This method returns a list of acceptable landmark group colors for creating and updating landmark groups.
Data: landmarkgroupcolors
Success Code: 200 - OK
Failure Code: 500 - Internal Server Error
<xml> <landmarkgroupcolors> <item>ef0000</item> <item>f56b00</item> <item>fca000</item> </landmarkgroupcolors> </xml>
This method returns a list of acceptable landmark radii for creating and updating landmarks.
Data: description, radius
Success Code: 200 - OK
Failure Code: 500 - Internal Server Error
Note: The 'radius' field represents the radius in feet.
<xml> <landmarkradii> <item> <description>50 FT</description> <radius>50</radius> </item> <item> <description>100 FT</description> <radius>100</radius> </item> <item> <description>1 Mile</description> <radius>5280</radius> </item> <item> <description>2 Miles</description> <radius>10560</radius> </item> </landmarkradii> </xml>
This method returns a list of acceptable vehicle status icons.
Data: vehicleiconid, vehicleicongrouplabel, vehicleiconlabel
Success Code: 200 - OK
Failure Code: 500 - Internal Server Error
<xml> <vehiclestatusicons> <item> <vehicleiconid>1</vehicleiconid> <vehicleicongrouplabel>Dots</vehicleicongrouplabel> <vehicleiconlabel>Red</vehicleiconlabel> </item> <item> <vehicleiconid>2</vehicleiconid> <vehicleicongrouplabel>Dots</vehicleicongrouplabel> <vehicleiconlabel>Blue</vehicleiconlabel> </item> </vehiclestatusicons> </xml>
This method returns a list of vehicle statuses in the account.
Data: vehiclestatusid, vehiclestatusiconid, vehiclestatuslabel, vehiclestatusicongrouplabel, vehiclestatusiconlabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <vehiclestatuses> <item> <vehiclestatusid>2410</vehiclestatusid> <vehiclestatusiconid>11</vehiclestatusiconid> <vehiclestatuslabel>trucks</vehiclestatuslabel> <vehiclestatusicongrouplabel>Vehicles</vehiclestatusicongrouplabel> <vehiclestatusiconlabel>Big Rig</vehiclestatusiconlabel> </item> <item> <vehiclestatusid>2795</vehiclestatusid> <vehiclestatusiconid>1</vehiclestatusiconid> <vehiclestatuslabel>Red Dot</vehiclestatuslabel> <vehiclestatusicongrouplabel>Dots</vehiclestatusicongrouplabel> <vehiclestatusiconlabel>Red</vehiclestatusiconlabel> </item> </vehiclestatuses> </xml>
This method returns a vehicle status in the account.
Data: vehiclestatusid, vehiclestatusiconid, vehiclestatuslabel, vehiclestatusicongrouplabel, vehiclestatusiconlabel
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <vehiclestatus> <vehiclestatusid>2410</vehiclestatusid> <vehiclestatusiconid>11</vehiclestatusiconid> <vehiclestatuslabel>trucks</vehiclestatuslabel> <vehiclestatusicongrouplabel>Vehicles</vehiclestatusicongrouplabel> <vehiclestatusiconlabel>Big Rig</vehiclestatusiconlabel> </vehiclestatus> </xml>
This method returns an FSM driver's route.
Data: fsmdriverroute
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
Note: Stops where the 'appointmentid' field is greater than 0 is an Appointment stop. The 'starttime' & 'endtime' fields represent the Appointment's start & end times in UTC.
<xml> <fsmdriverroute> <item> <stopid>123</stopid> <stopname>Test Stop</stopname> <stopaddress>123 Fake St, Fake City, CA, 92222</stopaddress> <stoplatitude>11.22222</stoplatitude> <stoplongitude>22.33333</stoplongitude> <stopsequence>1</stopsequence> <stopnote>testing</stopnote> <stopstatusid>1</stopstatusid> <stopstatus>Pending</stopstatus> <optimized>0</optimized> <endpoint>0</endpoint> <active>1</active> <received>0</received> <created_at>2016-07-30 23:50:50</created_at> <appointmentid>123</appointmentid> <starttime>2016-07-30 07:50:50</starttime> <endtime>2016-07-30 08:50:50</endtime> </item> <item> <stopid>456</stopid> <stopname>Another Stop</stopname> <stopaddress>123 Fake St, Fake City, CA, 92222</stopaddress> <stoplatitude>11.22222</stoplatitude> <stoplongitude>22.33333</stoplongitude> <stopsequence>2</stopsequence> <stopnote>testing</stopnote> <stopstatusid>1</stopstatusid> <stopstatus>Pending</stopstatus> <optimized>0</optimized> <endpoint>0</endpoint> <active>1</active> <received>0</received> <created_at>2016-07-30 23:50:50</created_at> <appointmentid>456</appointmentid> <starttime>2016-07-31 07:50:50</starttime> <endtime>2016-07-31 08:50:50</endtime> </item> </fsmdriverroute> </xml>
This method returns a list of acceptable FSM driver route stop statuses.
Data: fsmdriverroutestopstatuses
Success Code: 200 - OK
Failure Code: 500 - Internal Server Error
<xml> <fsmdriverroutestopstatuses> <item> <stopstatusid>1</stopstatusid> <stopstatus>Pending</stopstatus> </item> <item> <stopstatusid>2</stopstatusid> <stopstatus>En Route</stopstatus> </item> </fsmdriverroutestopstatuses> </xml>
This method returns a historical stops from the unit.
Data: fsmstophistory
Success Code: 200 - OK
Failure Code: 404 - Not Found (Subordinate nonexistent)
Failure Code: 500 - Internal Server Error
<xml> <fsmstophistory> <item> <stop_history_id>1</stop_history_id> <stop_id>1</stop_id> <driver_id>1</driver_id> <stop_status_id>1</stop_status_id> <latitude>1</latitude> <longitude>1</longitude> <address>adress..</address> <city>city</city> <state>AZ</state> <zip>1</zip> <history_date>2019-01-01 00:00:00</history_date> <created_at>2019-01-01 00:00:00</created_at> <updated_at>2019-01-01 00:00:00</updated_at> <company_id>1</company_id> <appointment_id>1</appointment_id> <stop_name>stop name</stop_name> <sequence>1</sequence> <optimized>1</optimized> <end_point>1</end_point> <active>1</active> <recieved>1</recieved> <note>note value</note> <deleted_at>null</deleted_at> <last_modified>null</last_modified> <stop_status>Done</stop_status> <priority>1</priority> </item> <item> <stop_history_id>2</stop_history_id> <stop_id>2</stop_id> ..... </item> </fsmstophistory> </xml>
Request Body: alertlabel, alertonaction, alertonevent, alertinput, alertstate, alertmph, alertignition, alertdriving, vehicleid, vehiclegroupid, alertcontacts[ ], alertstarttime, alertendtime, alertdelay, alertinterval.
Note: The following parameters are always required: alertlabel, alertonaction, alertonevent.
Note: Vehicle is required, but can be passed by: vehicleid (id or "all"), or vehiclegroupid.
Note: alertcontacts[ ] is required, but can be passed as id's or "all".
This method creates an alert.
Response Header: Location - http://fleet.gpstrackit.net/api/alert/id/{alert id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: contactlabel, contactaddress, contacttype, contactcarrier, apualerts
This method creates a contact.
Response Header: Location - http://fleet.gpstrackit.net/api/contact/id/{contact id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: landmarklabel, landmarkaddress, landmarklatitude, landmarklongitude, landmarkradius, landmarkgroup, landmarknotes
Note: All parameters are required.
A list of acceptable landmark radii can be retrieved by calling this GET endpoint: /landmarkradii.
This method creates a landmark.
Response Header: Location - http://fleet.gpstrackit.net/api/landmark/id/{landmark id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: landmarkgrouplabel, landmarkgroupcolor
Note: All parameters are required.
A list of acceptable landmark group colors can be retrieved by calling this GET endpoint: /landmarkgroupcolors.
Creating a group with the same label as an existing group is not allowed and will result in a 400 error being returned.
This method creates a landmark group.
Response Header: Location - http://fleet.gpstrackit.net/api/landmarkgroup/id/{group id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: driverlabel, drivercontact, drivertimezone, drivergroupid, vehicleid
This method creates a driver.
Response Header: Location - http://fleet.gpstrackit.net/api/driver/id/{driver id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: drivergrouplabel
This method creates a driver group.
Response Header: Location - http://fleet.gpstrackit.net/api/drivergroup/id/{group id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: routelabel, routeoptimized (1 or 0), routeavoidtoll (1 or 0), routepoints[ ]
Note: routepoints can include any of the following fields: routedefaultid, pointaddress, pointcity, pointstate, pointlandmarkid, pointlatitude, pointlongitude, pointorder, startpoint, endpoint, pointnote, landmarktitle, landmarkaddress, landmarklatitude, landmarklongitude.
Example: routelabel=Example+Label&routeoptimized=1&routeavoidtoll=0&routepoints[0][pointaddress]=111+Example+St&routepoints[0][pointcity]=Temecula&routepoints[0][pointstate]=Ca&routepoints[0][pointlatitude]=0.00000&routepoints[0][pointlongitude]=0.00000&routepoints[1][pointaddress]=112+Example+St&routepoints[1][pointcity]=Temecula&routepoints[1][pointstate]=Ca&routepoints[1][pointlatitude]=0.00000&routepoints[1][pointlongitude]=0.00000
This method creates a route.
Response Header: Location - http://fleet.gpstrackit.net/api/route/id/{route id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: maintenancelabel, maintenancenotes, maintenancemiles, maintenancemilesalert, maintenancedays, maintenancedaysalert, maintenancehours, maintenancehoursalert, maintenancecontacts[ ]
This method creates a maintenance item.
Response Header: Location - http://fleet.gpstrackit.net/api/maintenance/id/{maintenance id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: servicelabel
This method creates a service item.
Response Header: Location - http://fleet.gpstrackit.net/api/service/id/{service id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: vehiclegrouplabel
This method creates a vehicle group.
Response Header: Location - http://fleet.gpstrackit.net/api/vehiclegroup/id/{group id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: vehiclestatusiconid, vehiclestatuslabel
Note: A list of acceptable vehicle icons can be retrieved by calling the following GET endpoint: /vehiclestatusicons.
This method creates a vehicle status.
Response Header: Location - http://fleet.gpstrackit.net/api/vehiclestatus/id/{vehiclestatus id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: driverid, routeid, replaceendpoint (0, 1, or 2)
Note: Setting 'replaceendpoint' to '1' will replace the driver's current end point with the new route's end point.
Setting it to '2' will replace the driver's current end point with the new route's end point and make the end point visible to the driver.
By default, it is set to '0', which will not replace the driver's current end point.
This method sends a route to an FSM driver.
Response Header: Location - http://fleet.gpstrackit.net/api/fsmdriverroute/id/{driver id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Request Body: driverid, routestops[]
Note: routestops can include any of the following fields: stopname, stopaddress (full address), stoplatitude, stoplongitude, stopsequence, stopnote
Example: driverid=123&routestops[0][stopname]=Stop+1&routestops[0][stopaddress]=111+Example+St+Temecula+Ca&routestops[0][stoplatitude]=0.00000&routestops[0][stoplongitude]=0.00000&routestops[0][stopsequence]=1&routestops[0][stopnote]=testing&routestops[1][stopname]=Stop+2&routestops[1][stopaddress]=112+Example+St+Temecula+Ca&routestops[1][stoplatitude]=0.00000&routestops[1][stoplongitude]=0.00000&routestops[1][stopsequence]=2&routestops[1][stopnote]=testing
This method sends a list of route stops to an FSM driver.
Response Header: Location - http://fleet.gpstrackit.net/api/fsmdriverroute/id/{driver id}
Success Code: 201 - Created
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
URI: id
Request Body: alertlabel, alertonaction, alertonevent, alertinput, alertstate, alertmph, alertignition, alertdriving, vehicleid, vehiclegroupid, alertcontacts[ ], alertstarttime, alertendtime, alertdelay, alertinterval
Note: All parameters are required
This method updates an alert.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: params[ ]
Note: params can include any of the following: landmarklabel, landmarkgroup, landmarknotes
This method updates a landmark.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: params[ ]
Note: params can include any of the following: landmarkgrouplabel, landmarkgroupcolor.
A list of acceptable landmark group colors can be retrieved by calling this GET endpoint: /landmarkgroupcolors.
Duplicating group labels is not allowed and will result in a 400 error being returned.
Please note that the label for the default landmark group ('Default Group') cannot be modified. Doing so will result in a 400 error being returned.
This method updates a landmark group.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: params[ ]
Note: params can include any of the following: driverlabel, drivercontact, drivertimezone, drivergroupid, vehicleid
This method updates a driver.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: drivergrouplabel
This method updates a driver group.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: routelabel, routeoptimized, routeavoidtoll, routepoints[ ]
Note: All parameters are required
This method updates a route.
Response Header: Location - http://fleet.gpstrackit.net/api/resource/id/{route id}
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Resource not supported or incorrect HTTP Method)
Note: The existing record is deleted and a new route is created. The new routeid is returned in the response header.
URI: id
Request Body: maintenancelabel, maintenancenotes, maintenancemiles, maintenancemilesalert, maintenancedays, maintenancedaysalert, maintenancehours, maintenancehoursalert, maintenancecontacts[ ]
Note: All parameters are required
This method updates a maintenance item.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: servicelabel
This method updates a service item.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: params[]
Note: params can include any of the following: vehiclelabel, vin, vehicletimezone, vehiclegroupid (one group) or vehiclegroupid[] (multiple groups), driverid, vehiclelocationid, odometer, vehiclestatusid, vehiclenotes (to clear notes, explicitly set this value as the string 'null')
Example: params[vin]=1234ABC
This method updates a vehicle.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: params[ ]
Note: params can include any of the following: vehiclegrouplabel
This method updates a vehicle group.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: params[ ]
Note: params can include any of the following: vehiclestatuslabel, vehiclestatusiconid
A list of acceptable vehicle icons can be retrieved by calling the following GET endpoint: /vehiclestatusicons.
This method updates a vehicle status.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
Request Body: params[ ]
Note: params can include any of the following: stopstatusid, stopsequence
Note: A list of acceptable stop statuses can be retrieved by calling the following GET endpoint: /fsmdriverroutestopstatuses.
This method updates an FSM driver's route stop status and or sequence.
Success Code: 200 - OK (Subordinate updated)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes an alert.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a contact.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a landmark.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a landmark group.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a driver.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a driver group.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a route.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a maintenance item.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a service item.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a vehicle group.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
URI: id
This method deletes a vehicle status.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
URI: id
This method deletes an FSM driver's route.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
Note: This endpoint will only delete Standard stops. Appointment stops can only be deleted by deleting the Appointments.
URI: id
This method deletes an FSM driver's route stop.
Success Code: 200 - OK (Subordinate removed)
Failure Code: 400 - Bad Request (Malformed syntax or invalid input)
Failure Code: 404 - Not Found (Subordinate nonexistent)
Note: This endpoint will only delete Standard stops. Appointment stops can only be deleted by deleting the Appointments.