Pointer Fleet API Guide V1.3o
Pointer Fleet API Guide V1.3o
Pointer Fleet API Guide V1.3o
Guide
Version 1.3o
Legal Notices
IMPORTANT
1. All legal terms and safety and operating instructions should be read thoroughly before the
product accompanying this document is installed and operated.
2. This document should be retained for future reference.
3. Attachments, accessories or peripheral devices not supplied or recommended in writing by
Pointer Telocation Ltd. may be hazardous and/or may cause damage to the product and should
not, in any circumstances, be used or combined with the product.
General
The product accompanying this document is not designated for and should not be used in life
support appliances, devices, machines or other systems of any sort where any malfunction of the
product can reasonably be expected to result in injury or death. Customers of Pointer Telocation
Ltd. using, integrating, and/or selling the product for use in such applications do so at their own risk
and agree to fully indemnify Pointer Telocation Ltd. for any resulting loss or damages.
Intellectual Property
Copyright in and to this document is owned solely by Pointer Telocation Ltd. Nothing in this
document shall be construed as granting you any license to any intellectual property rights
subsisting in or related to the subject matter of this document including, without limitation, patents,
patent applications, trademarks, copyrights or other intellectual property rights, all of which remain
the sole property of Pointer Telocation Ltd. Subject to applicable copyright law, no part of this
document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any
form or by any means (electronic, mechanical, photocopying, recording or otherwise), or for any
purpose, without the express written permission of Pointer Telocation Ltd.
© Copyright 2017. All rights reserved.
Table of Contents
1 Introduction ..............................................................................................................7
1.1 Revisions .................................................................................................................... 7
1.2 Abbreviations .............................................................................................................. 8
1.3 Glossary...................................................................................................................... 8
2 Getting Started..........................................................................................................9
2.1 Authentication Method .................................................................................................. 9
2.2 Post Login ................................................................................................................... 9
3 Login .......................................................................................................................10
3.1.1 Login ........................................................................................................................ 10
3.1.2 Login/Get [new] ......................................................................................................... 10
4 Driver Management .................................................................................................11
4.1.1 CreateDriver [new] ..................................................................................................... 11
4.1.2 AddNewDriver ............................................................................................................ 12
4.1.3 UpdateDriver [new] .................................................................................................... 12
4.1.4 EditExistingDriver ....................................................................................................... 13
4.1.5 DeleteDriver [new] ..................................................................................................... 14
4.1.6 DeleteDriver .............................................................................................................. 14
4.1.7 AssignDriverToVehicle [new] ....................................................................................... 15
4.1.8 AssignDriverToVehicle ................................................................................................. 16
4.1.9 GetDrivers [new] ....................................................................................................... 16
4.1.10 GetDriverDetails [new] ............................................................................................... 17
4.1.11 GetDriver .................................................................................................................. 18
4.1.12 GetVehicle ................................................................................................................. 18
4.1.13 AssignDriverToSubAccount .......................................................................................... 19
4.1.14 GetDriverGroups [new] ............................................................................................... 19
4.1.15 CreateGroup [new] ..................................................................................................... 19
4.1.16 DeleteGroup [new] ..................................................................................................... 20
5 Account Administration ...........................................................................................21
5.1.1 GetAccounts [new] ..................................................................................................... 21
5.1.2 GetAccount................................................................................................................ 21
5.1.3 GetSubaccounts [new] ................................................................................................ 22
5.1.4 GetVehicleGroups [new].............................................................................................. 22
5.1.5 CreateSubaccount [new] ............................................................................................. 22
5.1.6 UpdateSubaccount [new] ............................................................................................ 23
5.1.7 DeleteSubaccount [new] ............................................................................................. 24
5.1.8 DeleteSubAccount ...................................................................................................... 24
5.1.9 GetAccountHierarchy .................................................................................................. 24
5.1.10 SubaccountDynamicAllocation ...................................................................................... 25
5.1.11 GetAccountSwitches [new] .......................................................................................... 25
5.1.12 GetAccountReports [new] ............................................................................................ 25
1 Introduction
This guide is intended to provide clients of Pointer Fleet with complete instructions for
creating, managing, and monitoring activities related to tasks and routes.
1.1 Revisions
Author Date Remarks Rev
Modified:
1. Added Fleet Alias and Fleet Number as
input parameters to GetVehiclesInfo
Ziv Rotner 22/11/2020 API 1.3o
2. Added the odometer and direction fields
in the GetVehiclesInfo API response,
available for all API executions.
Modified:
1. Added CAN bus data in Get Vehicle Route
Ziv Rotner 14/06/2020 History API 1.3n
2. Added CAN bus data in Get Vehicles
Information API
Modified:
Added SubType parameter to the Connect to
Ziv Rotner 14/05/2020 1.3m
Maintenance API for sending Connect to
Cellocator+ AutoCAN command
Added:
Ziv Rotner 14/01/2020 1.3l
Connect to Maintenance API
Date/Time correction for the GetDailyActivity
Ziv Rotner 19/09/2019 1.3ka
API
GetVehicleRouteHistoryInformation update:
Ziv Rotner 15/06/2019 1. New OptionalProps optional parameter. 1.3k
Values are per custom account usage.
GetVehiclesInfo updates:
1. Parameters that are used with null
Ziv Rotner 07/04/2019 value are no longer mandatory. 1.3j
2. New OptionalProps optional parameter.
Values are per custom account usage.
Ziv Rotner 11/03/2019 Minor corrections and updates. 1.3i
Updated:
Skip Email Notification for Create Override
Ziv Rotner 03/02/2019 1.3h
Event & UpdateOverride Event APIs (Safety
360)
Added:
Ziv Rotner 09/01/2019 [Proof-of-Work] Get Tasks Details 1.3g
[Vehicle Management] Odometer Update
1.2 Abbreviations
Abbreviation Description
POI Point of Interest
Ext External
1.3 Glossary
Name Definition
2 Getting Started
This section describes how to get started with the Pointer Fleet Client API, including the
initial steps you need to take when trying to integrate your system with the Pointer Fleet
using the API.
----------------------------------------------------------------------------------------------------
NOTE: For this release, there are two different API available, each of which are described
in this guide.
The existing API uses methods and calls structured in this format:
http://localhost/FleetAPI/Fleet.API.*.svc
The new API uses methods and calls structured in this format:
http://localhost/FleetAPI/api/
The new API always returns a JSON object; the existing API returns responses in XML
format.
Throughout this guide, the new API methods and calls are indicated by .
----------------------------------------------------------------------------------------------------
3 Login
This section includes the various methods for logging in via the API.
3.1.1 Login
Action Name: Login
XML Parameters: UserName (String), Password (String)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/Login?xml=
http://localhost/FleetAPI/api/Login/Get?username=ofir&password=Aa1111
4 Driver Management
This section includes various Driver functions available through the API, including: Create
Driver, Get Driver, Add New Driver, Edit Existing Driver, Delete Driver, Assign Driver to
Vehicle, Get Vehicle, Assign Driver to Subaccount.
<ROOT>
<ExternalDriverId>3070</ExternalDriverId>
<FirstName>John</FirstName>
<MiddleName>Mistery</MiddleName>
<LastName>Due</LastName>
<NationalId>7756</NationalId>
<Code_input></Code_input>
<Code></Code>
<LTList>6,137</LTList>
<DriverGroupId>4255</DriverGroupId>
<Status>1</Status>
<SAList>4521</SAList> (list of subaccount ids)
<EXList>101</EXList> (list of external subaccount ids)
<LicenseNum>665655bb</LicenseNum>
<LicenseExpire>2016/09/29 00:00</LicenseExpire>
<LicenseIssue>2016/09/23 00:00</LicenseIssue>
<Birthday>2016/02/11 00:00</Birthday>
<Address>address</Address>
<Mobile>mobile</Mobile>
<HomePhone>phone</HomePhone>
<Email>[email protected]</Email>
<Remarks>remarks</Remarks>
<Login>lgn</Login>
<Password>Apsp1234</Password>
<DefaultTaskMedium>1</DefaultTaskMedium>
<ManagerId></ManagerId>
<DriverFeatures>0</DriverFeatures>
</ROOT>
Server/Driver/CreateDriver
HTTP Method: POST
Response: Returns a successfully created message
{"Version":"1.0.23","StatusCode":200,"Result":{"Message":"Driver Created
Successfully"}}
4.1.2 AddNewDriver
XML Parameters: Token (string), DriverInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AddNewDriver?xml=
<ExternalDriverId>3070</ExternalDriverId>
<FirstName>bbbbb</FirstName>
<MiddleName>cccc</MiddleName>
<LastName>ddd</LastName>
<NationalId>7756</NationalId>
<Code_input></Code_input>
<Code></Code>
<LTList>6,137</LTList>
<DriverGroupId>4255</DriverGroupId>
<Status>1</Status>
<SAList>4521</SAList>(list of subaccount ids)
<EXList>101</EXList> (list of external subaccount ids)
<LicenseNum>665655bb</LicenseNum>
<LicenseExpire>2016/09/29 00:00</LicenseExpire>
<LicenseIssue>2016/09/23 00:00</LicenseIssue>
<Birthday>2016/02/11 00:00</Birthday>
<Address>address</Address>
<Mobile>mobile</Mobile>
<HomePhone>phone</HomePhone>
<Email>[email protected]</Email>
<Remarks>remarks</Remarks>
<Login>lgn</Login>
<Password>Apsp1234</Password>
<DefaultTaskMedium>1</DefaultTaskMedium>
<ManagerId></ManagerId>
</ROOT>
Server/Driver/UpdateDriver
4.1.4 EditExistingDriver
XML Parameters: Token (string), DriverInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/EditExistingDriver?xml=
<Id></Id>
</NameIdTypeInfo>
</LicenseTypes>
<Login></Login>
<Password></Password>
<DefaultTaskMedium></DefaultTaskMedium>
<ManagerId></ManagerId>
</DriverInfo>
</EditExistingDriver>
Server/Driver/DeleteDriver
4.1.6 DeleteDriver
XML Parameters: Token (string), DriverInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/DeleteDriver?xml=
4.1.8 AssignDriverToVehicle
XML Parameters: Token (string), DriverId (int), LisencePlate (string)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AssignDriverToVehicle?xml=
"Name": "Test_b"
}
],
"EXSubaccount": [
{
"Id": 0,
"Name": "Test_A"
},
{
"Id": 0,
"Name": "Test_b"
}
]
},
}
}
4.1.11 GetDriver
XML Parameters: Token (string), DriverInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetDriver?xml=
4.1.12 GetVehicle
XML Parameters: Token (string), VehicleInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetVehicle?xml=
4.1.13 AssignDriverToSubAccount
XML Parameters: Token (string), DriverId (int), SubAccountId (int)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AssignDriverToSubAccount?xml=
Server/Driver/CreateGroup
Server/Driver/DeleteGroup
5 Account Administration
The functions in this section can be used to dynamically organize sub accounts in different
hierarchies. This is useful, for example, when your field technicians are moving from one
geographical location to another.
You can further read about the functionality in the Fleet Management System User Guide
(in the Managing Accounts section), and it is highly advisable to contact technical
authority of Pointer to fully understand the functionality.
Account functions include: Get Account, Get Account Hierarchy, Subaccount Dynamic
Allocation, and Delete Subaccount.
http://localhost/FleetAPI/api/Account/GetAccounts?key=88750014772000004
5.1.2 GetAccount
XML Parameters: Token (string), AccountInfo (object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetAccount?xml=
Output Objects:
Id: group id (int)
Name: group name (string)
<DefaultLanguage>1</DefaultLanguage>
<Zoom>50</Zoom>
<InitX>31</InitX>
<InitY>34</InitY>
</ROOT>"}
Server/Account/CreateSubaccount
HTTP Method: POST
Response: True or False
Mandatory Fields: ExternalDriverId, Name
5.1.8 DeleteSubAccount
XML Parameters: Token (string), SubAccountId (int)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/DeleteSubAccount?xml=
5.1.9 GetAccountHierarchy
XML Parameters: Token (string)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetAccountHierarchy?xml=
5.1.10 SubaccountDynamicAllocation
XML Parameters: Token (string)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/SubaccountDynamicAllocation?xml=
"AccountReports":[{"Id":53,"Name":"Abastecimentos"},{"Id":160,"Name":
"AccountHistory"}..]}
6 Vehicles Management
This section includes vehicle functions available with the API.
{"Vehicles":[{"ExternalVehicleId":0,"LicencePlate":"293087","FleetNumber":nul
l,"FleetAlias":null,"ColorId":171,"ProducerId":271,"ModelId":0,"GroupId":2369
,"IconId":5,"ConfigurationId":null,"SAList":"4321"},{"ExternalVehicleId":0,"L
icencePlate":"C93323","FleetNumber":null,"FleetAlias":null,"ColorId":101,"Pro
ducerId":111,"ModelId":0,"GroupId":2373,"IconId":5,"ConfigurationId":null,"SA
List":"4320,5361"}…]
<ModelId>1216</ModelId>
<Year>2010</Year>
<FuelConsumptionIdling>12</FuelConsumptionIdling>
<FuelConsumptionDriving>10</FuelConsumptionDriving>
<CO2Emission>2.7</CO2Emission>
<ColorId>101</ColorId>
<LicenseTypeId>2</LicenseTypeId>
<VehicleTypeId>3</VehicleTypeId>
<IconId>2</IconId>
<RemarksAdmin>123456</RemarksAdmin>
</ROOT>"}
Server/Vehicle/CalibrateUnit
Note that one of the parameters above is required to find the vehicle in the account.
HTTP Method: POST
Response: Returns a successfully sent message
{"Version":"1.0.23","StatusCode":200,"Result":{"Calibration Command sent
Successfully"}}
Note that an error will occur when a vehicle is not found in the list of account vehicles or
the unit is not a CSA unit.
Server/Vehicle/DeleteVehicle
Note that one of the parameters above is required to find the vehicle in the account.
HTTP Method: POST
Response: Returns a successfully deleted message
{"Version":"1.0.23","StatusCode": 200, "Result”: {"Vehicle was deleted
Successfully"}}
Note that an error will occur when a vehicle is not found in the list of account vehicles.
Server/Vehicle/UpdateVehicleInstallation
Note that an error will occur when a vehicle is not found in the list of account vehicles or
one of the new properties is taken by another vehicle.
Description The function retrieves the latest dynamic information transmitted by vehicles.
Usage 1. Executing the function only with the token will retrieve all relevant vehicles
(token-based permission)
2. Executing the function with a token and account ID will retrieve all the
account’s vehicles.
3. Executing the function with group ID (single or multiple), and/or one of the
vehicle identifiers (License Plate, Vehicle ID or External IDs), will retrieve only
the group’s vehicles or specific vehicles.
4. Date and time values will be formatted according to the account time-zone
settings.
5. In case one of the account IDs, group IDs or vehicle identifier does not exist,
the response shall include only the entities which are valid (found).
6. In case there is a CAN bus uplink, and the XML file is missing
1) The XMLId field will display the XML Id as reported by the unit.
2) The CANBusDateTime will display the date/time of the CAN bus uplink
3) The Sensors information will be blank.
7. In case there is no CAN bus uplink in the last hour
1) The XMLId will display the XML Id as reported by the unit.
2) The CANBusDateTime will be null
3) The Sensors information will be null.
Response OptionalProps=null
{
"Version": "1.0.30",
"StatusCode": 200,
"Result": {
"5040_Real": [
{
"ExternalId": 0,
“Direction”: -1,
"AccountID": 5040,
"GroupId": 16580,
"AccountName": "1_Daniel",
"UnitID": 50030370,
"LicensePlate": "50030371",
"FleetAlias": "50030372",
"FleetNumber": "50030372",
"FuelType": 1,
"Manufacturer": "Acoplado ",
"Model": "Acoplado",
"Year": 2009,
"VehicleID": 55094,
"LastMessageTime": "6/25/2018 9:12:07 AM",
"LastLocationTime": "6/25/2018 9:12:07 AM",
"Lat": 32.107987,
"Long": 34.96845,
"Address": "HaMelacha 8-20, Rosh HaAyin, Israel",
"Speed": 0,
"Battery": "14.11",
"Ignition": 0,
"DriverName": "Driver 3",
“Odometer”: 49581
},
OptionalProps=2
{
"Version": "1.0.30",
"StatusCode": 200,
"Result": {
"5040_Real": [
{
"ExternalId": 0,
“Direction”: -1,
"AccountID": 5040,
"GroupId": 16580,
"AccountName": "1_Daniel",
"UnitID": 50030370,
"LicensePlate": "50030371",
"FleetAlias": "50030372",
"FleetNumber": "50030372",
"FuelType": 1,
"Manufacturer": "Acoplado ",
"Model": "Acoplado",
"Year": 2009,
"VehicleID": 55094,
"LastMessageTime": "6/25/2018 9:12:07 AM",
"LastLocationTime": "6/25/2018 9:12:07 AM",
"Lat": 32.107987,
"Long": 34.96845,
"Address": "HaMelacha 8-20, Rosh HaAyin, Israel",
"Speed": 0,
"Battery": "14.11",
"Ignition": 0,
"DriverName": "Driver 3"
“Odometer”: 49581
"SensorsData": {
"XMLId": "2633E423",
"CANBusDateTime": "6/14/2020 9:28:01 AM",
"Sensors": [
{
"Name": "Vehicle speed",
"Value": "10.00",
"Units": "km/hour"
},
{
"Name": "Total odometer",
"Value": "46481.00",
"Units": "km"
},
{
"Name": "Real Ground Speed",
"Value": "277.70",
"Units": "cm/sec"
}
]
}
},
Description This function retrieves uplink-based information for the specific vehicle, like
the information retrieved when the route history functionality is used in the
web app.
Usage 1. When the function is used with a TSP token, no validation is done to
ensure that the vehicle is associated with the token’s account.
2. In case the vehicle identifier is not associated with the token’s account,
an error message (error 1) is displayed.
Error 1 - The requested license plate is not associated with the account.
3. In case the vehicle identifier is not found in the database, an error
message (error 2) shall be presented.
Error 2 - The requested license plate does not exist on the platform.
4. The function shall return only active vehicles.
5. The function will time-out after 5 minutes of operation.
6. Time-Zone – The data shall be adapted according to the account’s time-
zone settings.
7. In case there is a CAN bus uplink, and the XML file is missing.
a. The XMLId field will display the XML Id as reported by the unit.
b. The CANBusDateTime will display the date/time of the CAN bus
uplink.
c. The Sensors information will be blank.
8. In case there is no CAN bus uplink in the last hour
a. The XMLId will display the XML Id as reported by the unit.
Response OptionalProps = 0
{
"Version": "1.0.30",
"StatusCode": 200,
"Result": [
{
"ExternalId": 0,
"DriverId": 37383,
"DateTime": "6/26/2018 9:00:28 AM",
"TxReason": "Timed event",
"Direction": 195,
"AlertName": null,
"Feedback": null,
"GroupId": 16580,
"UnitID": 50030370,
"LicensePlate": "50030371",
"FleetAlias": "50030372",
"FleetNumber": "50030372",
"VehicleID": 55094,
"Lat": 32.008942,
"Long": 34.804458,
"Address": "HaOrgim 23-27, Holon, Israel",
"Speed": 1,
"Battery": "0.00",
"Ignition": 1,
"DriverName": "Driver 3"
}
OptionalProps = 2
{
"ExternalId": 200100,
"DriverId": 37073,
"DateTime": "6/14/2020 9:28:01 AM",
"TxReason": null,
"Direction": -1,
"AlertName": "8080 CAN Trigger Alerts",
"Feedback": null,
"GroupId": 17394,
"UnitID": 50808070,
"LicensePlate": "8080[86-356-34] Vladi",
"FleetAlias": "8080[86-356-34] Vladi",
Description The function retrieves Mobileye events information of a selected vehicle. The
information is parsed according to the vehicle’s XML uploaded to the platform.
Usage 1. When the function is used with a TSP token, no validation is done to ensure
that the vehicle is associated with the token’s account.
2. In case the vehicle identifier is not associated with the token’s account, an
error message (error 1) shall be displayed.
Error 1 - The requested license plate is not associated with the account.
3. In case the vehicle identifier is not found in the database, an error message
(error 2) shall be presented.
Error 2 - The requested license plate doesn't exist on the platform.
4. Time-Zone – The data shall be adapted according to the account’s time-zone
settings.
5. Date and time values will be formatted according to the account time-zone
settings.
Response {
"Version": "1.0.30",
"StatusCode": 200,
"Result": [
{
"ExternalId": 0,
"DriverId": 38128,
"DateTime": "7/23/2017 9:30:17 AM",
"EventName": "FCW On",
"GroupId": 16915,
"UnitID": 256204470,
"LicensePlate": "2062044 (40-380-38)[SR]",
"FleetAlias": "",
"FleetNumber": "",
"VehicleID": 55265,
"Lat": 32.174777,
"Long": 34.807525,
"Address": "Arieh Ben Eliezer 29-39, Herzliya, Israel",
"DriverName": "Sagit Rahmani",
"Sensors": [
{
"SensorName": "RPM",
"SensorValue": "200"
},
{
"SensorName": "Coolent",
"SensorValue": "29.01"
}
]
},
{
"ExternalId": 0,
"DriverId": 38128,
"DateTime": "7/23/2017 11:29:36 AM",
"EventName": "LDW Left",
"GroupId": 16915,
"UnitID": 256204470,
"LicensePlate": "2062044 (40-380-38)[SR]",
"FleetAlias": "",
"FleetNumber": "",
"VehicleID": 55265,
"Lat": 32.141802,
"Long": 34.801028,
"Address": "Yunitsman, Tel Aviv, Israel",
"DriverName": "Sagit Rahmani",
"Sensors": [
{
"SensorName": "RPM",
"SensorValue": "200"
},
{
"SensorName": "Coolent",
"SensorValue": "29.01"
}
]
},
}
]
}
Description The function retrieves vehicle’s activity, such as driving time, idling time, and other
information for a specific duration.
Usage 1. In case only token ID and account ID are provided, the function shall return all
of the account’s vehicles information.
2. In case only token ID is provided, the function shall return all the account’s
vehicles information.
3. In case token ID and one or more group ID are provided, the function shall
return the relevant group’s vehicles information.
4. In case token ID, group ID and specific vehicle identifier are provided, the
function shall return information for the specific vehicles.
Response {
"Version": "1.0.30",
"StatusCode": 200,
"Result": {
"4326_2395": [
{
"ExternalVehicleId": 200100,
"AccountId": 4326,
"UnitSysId": 50808070,
"VehicleId": 55378,
"LicensePlate": "8080[86-356-34] Vladi",
"FleetAlias": "",
"FleetNumber": "",
"GroupId": 2395,
"StartDate": "6/24/2018 2:00:00 PM",
"EndDate": "6/24/2018 2:00:00 PM",
"DrivingDuration": "00:00:00",
"Distance": 0,
"MaxSpeed": 0,
"StopDuration": "00:15:04",
"IdlingDuration": null,
"Address": "HaMa'apilim 42-58, Herzliya, Israel",
"DriverId": 0,
"DriverName": "Vladi C"
},
{
"ExternalVehicleId": 200100,
"AccountId": 4326,
"UnitSysId": 50808070,
"VehicleId": 55378,
"LicensePlate": "8080[86-356-34] Vladi",
"FleetAlias": "",
"FleetNumber": "",
"GroupId": 2395,
"StartDate": "6/24/2018 2:25:04 PM",
"EndDate": "6/24/2018 2:51:14 PM",
"DrivingDuration": "00:15:70",
"Distance": 16,
"MaxSpeed": 131,
"StopDuration": "00:00:73",
"IdlingDuration": "00:05:17",
"Address": "HaMa'apilim 42-58, Herzliya, Israel",
"DriverId": 0,
"DriverName": "Vladi C"
},
}
}
Description The function retrieves activity summary per vehicle, such as driving time, idling
time, average speed, max speed, and other information for a specific time range.
Usage 1. The API call be used to retrieve either vehicles or driver’s information. In case
the API is used with both vehicle and driver fields, following error message
should be returned: ‘Only vehicles or drivers can be used in single API call.’
2. Once an entity type is selected, only a single identifier field (Vehicle ID, License
plate, Ext. vehicle ID or Group ID) shall be used. In case multiple identifier
fields are used, the following error message shall be returned: ‘Only a single
entity type field should be used.’
3. In case the account ID parameter is provided, and the token is not TSP token,
the function shall ignore the Account ID parameter and get the Account ID
from the used token.
4. In case the vehicle/driver identifier is not associated with the account (not TSP
account) or doesn’t exists on the platform the following error message shall be
displayed: ‘The requested driver/vehicle doesn't exist on the platform.
5. In case the TSP credentials are used, and License Plate or Driver name are
provided, an Account Id must be specified.
6. In case one of the provided driver/vehicles does not exist on the platform, the
rest of the valid entities are returned, and the missing vehicle/driver are
ignored.
Response {
"Version": "1.0.30",
"StatusCode": 200,
"Result": [
{
"ExternalVehicleId": 0,
"VehicleId": 55646,
"LicensePlate": "2111340",
"GroupId": 16998,
"DriverId": null,
"Distance": 16,
"DrivingDuration": "01:37:20",
"MaxSpeed": 67,
"AvgSpeed": 9,
"IdlingDuration": "01:08:46",
"ParkingDuration": "07:22:40",
"NumbreOfStops": 12
},
{
"ExternalVehicleId": 0,
"VehicleId": 55378,
"LicensePlate": "8080[86-356-34] Vladi",
"GroupId": 2395,
"DriverId": null,
"Distance": 15,
"DrivingDuration": "00:22:13",
"MaxSpeed": 130,
"AvgSpeed": 40,
"IdlingDuration": "00:07:42",
"ParkingDuration": "08:37:47",
"NumbreOfStops": 4
}
]
}
Description The function retrieves daily activity summary that includes total distance driven,
parking duration, idling duration and other information.
6. In case one of the provided driver/vehicles identifiers does not exist on the
platform, the rest of the valid entities are returned, and the missing
vehicle/driver are ignored.
Response {
"Version": "1.0.44.0",
"StatusCode": 200,
"Result": [
{
"ExternalVehicleId": 200100,
"VehicleId": 55378,
"LicensePlate": "8080[86-356-34] Vladi",
"FleetAlias": "",
"FleetNumber": "",
"GroupId": 2395,
"DriverName": null,
"DriverId": null,
"ExternalDriverId": null,
"DateTime": "12/5/2018",
"TotalDistance": 27,
"MaxSpeed": 127,
"AvgSpeed": 41,
"NumbreOfStops": 2,
"NumberOfGeoFences": 5,
"IdlingDuration": "00:06:29",
"ParkingDuration": "23:20:57",
"DrivingDuration": "00:39:03",
"HourMeter": "00:39:03"
}
]
}
Usage 1. The odometer minimum value can be 0 and maximum 16777215 (km) or
10424878 (ml).
2. The odometer value should be entered according to the account’s
measurement settings, in kilometer for account defined with metric or in miles
for account defined with imperial setting.
3. Successful response indicates that the command was successfully received by
the backend, and not that the command was successfully received by the unit.
4. The backend will start communication attempts with the vehicle to update the
odometer value.
5. The attempts are limited to 10 retries, with an interval of 10 minutes between
each retry.
Response
{
"Version": "1.0.46.0",
"StatusCode": 200,
"Result": {
"Message": "Odometer value successfully updated"
}
}
Response Type = 1
{
"Version": "1.0.52.0",
"StatusCode": 200,
"Result": {
"Message": "Command sent successfully for all vehicles which belong to the
account",
"Error": "Vehicle/s 3,4,5 is/are not associated with your account."
}
}
Type = 2
{
"Version": "1.0.52.0",
"StatusCode": 200,
"Result": {
"VehicleStatuses": [
{
"Vehicle": "1",
"StatusDate": "1/10/2020 6:00:22 PM",
"Status": 2,
"NumOfTries": 1
},
{
"Vehicle": "2",
"StatusDate": "1/10/2020 6:00:22 PM",
"Status": 2,
"NumOfTries": 1
}
],
"Error": "Vehicle/s 3,4,5 is/are not associated with your account"
}
}
Server/Vehicle/AssignVehiclesToSubAccount
Server/Vehicle/AssignVehiclesToGroup
8 Tasks Management
8.1 Task / Route
To start working with tasks or routes, you need to perform the following steps:
1. Create a task (using the Add New Task function (if this is your initial interaction with
the Pointer Fleet API), or Get Task function, as described in detail in section 8.3 below)
2. Assign the task to a driver or vehicle. Of course, if you want to assign the task to a
driver/vehicle, the specific driver/vehicle also must exist in the system or to be created
using the relevant function. In addition, you will have to refer to the Lookup Table to
extract the relevant IDs you will need for Type ID, Vehicle ID and so on.
3. Monitor task status changes.
Please note that per your account settings, task or route status can be changed
automatically (meaning the Arrived & Done states) by the system per the driver or vehicle
location.
8.3 Tasks
8.3.1 GetTasks [new]
Description: Gets a list of task data associated to the current account and user.
Input Parameters: Token (string)
http://localhost/FleetAPI/api/Route/GetTasks?key=561700592620000043
Output Objects:
List of task objects, as listed in the GetTaskData method
Return Example:
{"Version":"1.0.0.0","StatusCode":200,"Result":{"Tasks":[{"Id":21456,"Status":106,"N
ame":"Kfar Blum 01","Lat":33.1731921,"Long":35.6032562,"Address":" 9778, Kfar Blum,
Israel ","DueDate":"2016-03-
21T03:08:39","EstimatedWorkTime":10},{"Id":21457,"Status":10,"Name":"Haifa
01","Lat":32.7849655,"Long":34.9804688,"Address":" Harofe Zlochisti 22-28, Haifa,
Israel ","DueDate":"2016-03-
21T04:47:43","EstimatedWorkTime":15},{"Id":21458,"Status":10,"Name":"Natanya
01","Lat":32.3126701,"Long":34.8431396,"Address":" Israel National Trail, Netanya,
Israel ","DueDate":"2016-03-
21T06:04:09","EstimatedWorkTime":20},{"Id":21459,"Status":10,"Name":"Tel Aviv
01","Lat":32.081411,"Long":34.7799683,"Address":" Malkhei Yisra'el St, Tel Aviv-
Yafo, Israel ","DueDate":"2016-03-
21T07:24:38","EstimatedWorkTime":17},{"Id":21460,"Status":100,"Name":"Beer Sheva
01","Lat":31.2550742,"Long":34.788208,"Address":" Yehuda Halevi St 104, Be'er Sheva,
Israel ","DueDate":"2016-03-
21T15:00:00","EstimatedWorkTime":10},{"Id":21461,"Status":9,"Name":"Mizpe
Ramon","Lat":30.6142774,"Long":34.8074341,"Address":" 40, Mitzpe Ramon, Israel
","DueDate":"2016-03-
21T15:30:00","EstimatedWorkTime":15},{"Id":21462,"Status":9,"Name":"Eilat
01","Lat":29.5710683,"Long":34.9530029,"Address":" Sderot Sheshet HaYamim 41, Eilat,
Israel ","DueDate":"2016-03-
21T15:30:00","EstimatedWorkTime":15},{"Id":21463,"Status":9,"Name":"test
01","Lat":31.956823,"Long":34.7799683,"Address":" 431, Rishon LeTsiyon, Israel
","DueDate":"2016-03-
24T12:00:00","EstimatedWorkTime":10},{"Id":21464,"Status":9,"Name":"test
02","Lat":31.2421595,"Long":34.7950745,"Address":" David Hacham Blvd, Be'er Sheva,
Israel ","DueDate":"2016-03-
24T13:30:00","EstimatedWorkTime":0},{"Id":21465,"Status":100,"Name":"Tiberias","Lat"
:32.8242111,"Long":35.5682373,"Address":" 90, Tiberias, Israel ","DueDate":"2016-
03-28T16:41:31","EstimatedWorkTime":12},{"Id":21466,"Status":10,"Name":"Sde
Boker","Lat":30.8621526,"Long":34.7964478,"Address":" Unnamed Road, Israel
","DueDate":"2016-03-
28T16:41:31","EstimatedWorkTime":15},{"Id":21467,"Status":106,"Name":"test
105","Lat":31.2492041,"Long":34.7937012,"Address":" Brenner St 13, Be'er Sheva,
Israel Israel","DueDate":"2016-03-
29T06:28:42","EstimatedWorkTime":10},{"Id":21468,"Status":9,"Name":"test
106","Lat":31.7912207,"Long":35.2111816,"Address":" Harav Moshe Zev Feldman St,
Jerusalem, Israel Israel","DueDate":"2016-03-
29T22:30:00","EstimatedWorkTime":0},{"Id":21469,"Status":9,"Name":"test
107","Lat":32.0686107,"Long":34.7689819,"Address":" Carmel Market, Tel Aviv-Yafo
Israel","DueDate":"2016-03-29T23:00:00","EstimatedWorkTime":10}]}}
8.3.2 GetTask
XML Parameters: Token, TaskInfo (Object)
http://localhost/TasksAPI/Service/TasksService.svc/GetTask?xml=
8.3.3 AddNewTask
XML Parameters: Token, TaskInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AddNewTask?xml=
8.3.4 EditExistingTask
XML Parameters: Token, TaskInfo (Object)
http://localhost/TasksAPI/Service/TasksService.svchttp://localhost/FleetAPI/
Fleet.API.FleetAPIService.svc/EditExistingTask?xml=
Output Objects:
TaskStatuses: (List of Id Name objects)
Id: task status id (int)
Name: task status description (string)
Return Example:
{"Version":"1.0.0.0","StatusCode":200,"Result":{"TaskStatuses":[{"Id":0,"Nam
e":"Disabled"},{"Id":1,"Name":"Enabled"},{"Id":8,"Name":"Rejected"},{"Id":9,
"Name":"Assigned"},{"Id":10,"Name":"Sent"},{"Id":11,"Name":"Accepted"},{"Id"
:100,"Name":"Active"},{"Id":101,"Name":"Done"},{"Id":102,"Name":"Skipped"},{
"Id":103,"Name":"Arrived"},{"Id":105,"Name":"Active,delayed"},{"Id":106,"Nam
e":"Active late"},{"Id":107,"Name":"Arrived*"},{"Id":108,"Name":"Done*"}]}}
8.3.6 GetTaskStatus
XML Parameters: Token, TaskInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetTaskStatus?xml=
Output Objects:
Id: task id (int)
Name task name (string)
StatusId: task status id (int), see GetTaskStatuses method (page 86)
TaypeId: task type id (int), see GetTaskTypes method (page 86)
DueDate: task due date (datetime: yyyy:mm:dd HH:MM)
Lat: Latitude (decimal)
Long: Longitude (decimal)
Address: task address (string)
EstimatedWorkTime: task estimated work time (int: minutes)
MediumId: task medium id (int), see GetTaskMediums method (page 86)
DriverId: assigned driver id (int), see GetDrivers method (page 86)
VehicleId: assigned vehicle id (int), see GetVehicles method (page 86)
AccountId: assigned account id (int), see GetAccounts method (page 86)
Street: street (string)
City: city (string)
StateId: state id (int) (Contact your account administrator for a list of your country
states)
CountryId: country id (int) (As per StateId)
Message: task message (string)
Return Example:
{"Version":"1.0.0.0","StatusCode":200,"Result":{"Task":{"Id":21456,"Status":
1,"Name":"Kfar Blum 01","Lat":33.1731921,"Long":35.6032562,"Address":"9778,
Kfar Blum, Israel","DueDate":"2016-03-21T03:08:39","EstimatedWorkTime":10}}}
8.3.8 DeleteExistingTask
XML Parameters: Token, TaskInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/DeleteExistingTask?xml=
8.3.9 AssignTask
XML Parameters: Token, AssignInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AssignTask?xml=
Output Objects:
Id: task type id (int)
Name: task type description (string)
8.3.11 GetTaskType
XML Parameters: Token, TaskType (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetTaskType?xml=
Output Objects:
Id: task medium id (int)
Name: task medium description (string)
8.4 Routes
Working with Route functions is almost identical to working with the Task functions,
however the Route runctions need 1 or more tasks that have not been assigned or
already started in order to call correctly.
Functions available for routes include Add New Route, Edit Existing Route, Delete Existing
Route, Add Tasks To Route, Remove Task from Route, Get Route Status, Update Route
Status, Assign Route, and Get Route.
8.4.1 AddNewTask
XML Parameters: Token, TaskInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AddNewTask?xml=
8.4.2 EditExistingRoute
XML Parameters: Token (string), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/EditExistingRoute?xml=
Output Objects:
Output Objects:
Id: route id (int)
Name route name (string)
StatusId: route status id (int), see GetRouteStatuses method (page 86)
DueDate: route due date (datetime: yyyy:mm:dd HH:MM)
UserId: user id (int)
DriverId: assigned driver id (int)
VehicleId: assigned vehicle id (int)
DynamicSchedule: is dynamic (int)
Message: route message (string)
Tasks: List of Task objects associate to the current route (see the following
GetTaskData method)
Return Example:
{"Version":"1.0.0.0","StatusCode":200,"Result":{"Route":{"Id":212,"Name":"Dynamic
Route 01","Status":1102,"DueDate":"2016-03-
21T00:00:00","UserId":3939,"DriverId":0,"VehicleId":40020,"DynamicSchedule":1,"Ta
sks":[{"Id":21456,"Status":106,"Name":"Kfar Blum 01","Order":1,"DueDate":"2016-
03-21T03:08:39"},{"Id":21457,"Status":10,"Name":"Haifa
01","Order":2,"DueDate":"2016-03-
21T04:47:43"},{"Id":21458,"Status":10,"Name":"Natanya
01","Order":3,"DueDate":"2016-03-
21T06:04:09"},{"Id":21459,"Status":10,"Name":"Tel Aviv
01","Order":4,"DueDate":"2016-03-21T07:24:38"}]}}}
8.4.5 UpdateRouteStatus
XML Parameters: Token (string), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/UpdateRouteStatus?xml=
8.4.6 DeleteExistingRoute
XML Parameters: Token (string), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/DeleteExistingRoute?xml=
8.4.7 AddTasksToRoute
XML Parameters: Token (string), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AddTasksToRoute?xml=
<Tasks>
<Task>
<Id></Id>
<Order></Order>
</Task>
…
</Tasks>
</RouteInfo>
</AddTaskToRoute>
8.4.8 RemoveTaskFromRoute
XML Parameters: Token (string), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/RemoveTasksFromRoute?xml=
8.4.9 AssignRoute
XML Parameters: Token (string), AssignRouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/UpdateRouteStatus?xml=
Return Example:
{"Version":"1.0.0.0","StatusCode":200,"Result":{"Routes":[{"Id":212,"Name":"
Dynamic Route 01","Status":1102,"DueDate":"2016-03-
21T00:00:00","UserId":3939,"AccountId":4344,"VehicleId":40020,"DynamicSchedu
le":1},{"Id":213,"Name":"Dynamic Schdule 02","Status":1100,"DueDate":"2016-
03-
21T00:00:00","UserId":3939,"AccountId":4344,"VehicleId":40020,"DynamicSchedu
le":1},{"Id":214,"Name":"route test 01","Status":1009,"DueDate":"2016-03-
24T00:00:00","UserId":3939,"AccountId":4344,"VehicleId":40020},{"Id":215,"Na
me":"route test 05","Status":1102,"DueDate":"2016-03-
28T00:00:00","UserId":3939,"AccountId":4344,"VehicleId":40020,"DynamicSchedu
le":1},{"Id":216,"Name":"test 105","Status":1100,"DueDate":"2016-03-
29T00:00:00","UserId":3939,"AccountId":4344,"VehicleId":40020,"DynamicSchedu
le":1}]}}
8.4.11 AddNewRoute
XML Parameters: Token (string), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/AddNewRoute?xml=
8.4.12 GetRouteStatus
XML Parameters: Token (string), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetRouteStatus?xml=
8.4.13 GetRoute
Gets a list of route data associated to the current account and user
XML Parameters: Token (string)), RouteInfo (Object)
http://localhost/FleetAPI/Fleet.API.FleetAPIService.svc/GetRoute?xml=
8.5 Proof-of-Work
8.5.1 Get Tasks Details
Description The GetTasksDetails API receives a list of task’s ids and returns a URL per each
image associated with the tasks, with its metadata information.
The GetTasks API above can be utilized to retrieve a list of task ids.
Usage 1. The image URL returned in the API contains a Shared Access Signature (SAS)
that is valid for 60 min with a read-only permission.
2. In case the image cannot be found in the Azure Blob Storage, the following
message will be displayed in the place of the image URL:
Cannot find a corresponding Image.
3. The format for ImageTakenDatetime is according to the account’s selected
language.
4. In case some of the provided task Ids doesn’t exist on the platform/account,
the rest of the valid entities are returned, and the missing tasks are not
displayed. In case all the task ids provided don’t exist, an empty list will be
returned.
Response {
"Error": null,
"TokenId": 0,
"ReturnValue": 0,
"ResultValue": false,
"IsSucceded": true,
"ResultObject": [
{
"TaskId": 10,
"TaskDetails": [
{
"DriverId": 36964,
"ImageUrl":
"https://pointerdevstorageaccount.blob.core.windows.net/devdrivermobile/2019/4317/1
0_33ffd82c-e10c-45c5-8cd2-52b94e066f51.PNG?sv=2018-03-
28&sr=b&sig=K2Lw1p7lADQ6D%2BxKD8d4PM8%2FRM2EnAAJDxfdOpuUFCY%3D&st=2019
-01-08T15%3A29%3A55Z&se=2019-01-08T15%3A39%3A55Z&sp=r",
"LicensePlate": "sk123ab",
"ImageTakenDatetime": "11/22/2018 3:54:22 PM",
"ImageLatitude": 41.992684,
"ImageLongitude": 21.421112,
"UploadLatitude": 41.992685,
"UploadLongitude": 21.421112,
"ImageDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
},
{
"DriverId": 36964,
"ImageUrl":
"https://pointerdevstorageaccount.blob.core.windows.net/devdrivermobile/2019/4317/1
0_74098646-e3e0-43ab-bd19-763f6f9094af.png?sv=2018-03-
28&sr=b&sig=5RW9Q4KtEWD5OWNVzn2hLh%2FHUy1%2FFL7dImyAgzIgkbM%3D&st=2019
-01-08T15%3A29%3A55Z&se=2019-01-08T15%3A39%3A55Z&sp=r",
"LicensePlate": "sk123ab",
"ImageTakenDatetime": "11/22/2018 3:54:22 PM",
"ImageLatitude": 41.992684,
"ImageLongitude": 21.421112,
"UploadLatitude": 41.992685,
"UploadLongitude": 21.421112,
"ImageDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
}
]
}
],
"Params": null
}
Usage
Response {
"data":[
{"Id": 54924, "LicensePlate": "422"},
{"Id": 55920, "LicensePlate": "582-ABC"},
{"Id": 55921,"LicensePlate": "GF-583"},
{"Id": 55922,"LicensePlate": "ER-584"},
{"Id": 55923,"LicensePlate": "EW-585"},
{"Id": 55924,"LicensePlate": "586"},
{"Id": 55925,"LicensePlate": "587"},
{"Id": 55926,"LicensePlate": "588"},
{"Id": 55927,"LicensePlate": "589"}
],
"isSucceded": true
}
Response {
"data": [
{
"Id": 37251,
"Name": "Art Garfunkel"
},
{
"Id": 38281,
"Name": "ASDFFGH ASDGFGH"
},
],
"isSucceded": true
}
Usage 1. The results can be filtered by event type, event severity, license plate or
driver id.
Response {
"data":[
{"licensePlate":"8080[86-356-34]
Vladi","driverId":37073,"driverName":"Vladi
C","unitId":50808070,"startTime":"2018-11-
18T19:58:15+02:00","address":"Shaldag 222, Hagor,
Israel","routLimitType":"RSS","speedLimit":76,"actualSpeed":94,"severity":1,"
lat":32.131258,"lng":34.938835},
{"licensePlate":"8080[86-356-34]
Vladi","driverId":37073,"driverName":"Vladi
C","unitId":50808070,"startTime":"2018-11-
Response {"data":{"low":404,"medium":297,"high":504,"total":1205},"isSucceded":tru
e}
Usage 1. The function can be used with credentials of parent account, and sub-
account.
2. The list of drivers will be according to the credentials supplied.
3. For incorrect requests, the result object will contain `isSucceded` field
with value of `false`, and `error` object field with according `code` and
`message` fields inside.
Example call for `/api/360/account/users?Props=foo`, will result in:
{
"isSucceded": false,
"error": {
"code": 0,
"message": "property foo is not valid "
}
}
4. If the Props parameter is used, it must contain a comma-separated list of
field names to be included in resulting objects.
Example call for
`/api/360/account/users?Props=UserId,Name,CustomPermissions,Email`,
will result in:
{
"data": [
{
"UserId": 3919,
"Name": "Joe Doe",
"CustomPermissions": "isSafetyOfficer",
"Email": "[email protected]"
},
{
"UserId": 4167,
"Name": "Jane Jackson",
"CustomPermissions": "isSafetyOfficer",
"Email": "[email protected]"
}
],
"isSucceded": true
}
5. Request `/api/360/account/users `, will result in:
{
"data": [
{
"AccountId": 4326,
"AccountName": "joedoe",
"UserId": 3919,
"ExternalUserId": 0,
"Name": "Joe Doe",
"CustomPermissions": "isSafetyOfficer",
"Email": "[email protected]"
},
{
"AccountId": 4326,
"AccountName": "joedoe",
"UserId": 4167,
"ExternalUserId": 0,
"Name": "Jane Jackson",
"CustomPermissions": "isFleetManager",
"Email": "[email protected]"
}
],
"isSucceded": true
}
URL /api/360/account/users
Response
Usage 1. For incorrect requests, the result object will contain according error codes and
messages.
2. Update operation can only be performed by user that has
`CustomPermissions` field value = 2 (`isSafetyOfficer`). All requests from users
without proper `CustomPermissions` will be rejected.
3. Update operation can only be performed on users under same account or sub-
account.
4. If a user with `CustomPermissions` = 2 (`isSafetyOfficer`) will perform an
update operation for himself and changes the value of his
`CustomPermissions` field to any other value that 2 (`isSafetyOfficer`), he
immediately will lose the privilege to perform update operations.
URL api/360/account/users
Response
Usage 1. For incorrect requests the result object will contain the according error codes
and messages.
2. In case of success the result object will contain the Id of the created override.
3. Overrides can be created by all types of users.
4. Overrides for single event can be created only for the events transmitted by
units of the same account or sub-account.
5. Permanent rule will only affect assessment of the events transmitted by units
of the same account or sub-account.
6. Only overrides with Approved (RuleState = 2) status could be applied to affect
the assessment of the according events.
7. When a request to create an override was made by the user with
CustomPermissions field value other than 2 (NOT isSafetyOfficer), it will be
created with the status `pending` (RuleState = 1).
8. Overrides can be `approved` (RuleState = 2) only by the users with
CustomPermissions value = 2 (isSafetyOfficer).
When override is being created by user with CustomPermissions value = 2
(isSafetyOfficer), it automatically will receive the approved (RuleState = 2) status.
URL /api/360/safety/eventsOverride/create
Response {
"data": {
"id": 42,
"address": "David Flusser St 14, Jerusalem",
"oldSpeed": 60,
"newSpeed": 90,
"justification": "Some good reason to create permanent rule.",
"eventType": "PermanentRule"
},
"isSucceded": true
}
Usage 1. For incorrect requests, the result object will contain the according error codes
and messages.
2. Overrides can be updated by all types of users.
3. Only the rules and single event overrides of the same account or sub-account
can be updated.
4. When a request to update a rule or a single event override was made by the
user with the CustomPermissions field value other than 2 (NOT isSafetyOfficer),
it will be updated but will receive the pending (RuleState = 1) status.
5. Overrides can be `approved` (RuleState = 2) or `unapproved` (RuleState = 3)
only by the users with the CustomPermissions value = 2 (isSafetyOfficer).
6. When override status changes to `approved`, all of the account's users will be
notified via email, unless request was performed with parameter
skipEmailNotification = true.
7. When a new rule is created it’s automatically set at pending state, and there is
no effect on the Safety score.
• When the rule state is changed from Pending to Approved, the rule
configuration becomes active and the Safety score is calculated
accordingly.
• When a rule with a state of Approved is modified, the rule configuration
stays active and a new rule is created in a state of Pending.
• When the pending rule is approved, it replaces the original rule.
URL api/360/safety/eventsOverride/update
Response {
"data": {
"id": 42,
"newSpeed": 75,
"justification": "Some good reason to create override",
"eventType": "PermanentRule"
},
"isSucceded": true
}
Usage 1. For incorrect requests, the result object will contain the according error codes
and messages.
2. Overrides can be deleted only by the users with the `CustomPermissions` value
= 2 (`isSafetyOfficer`).
Only the rules and single event overrides of the same account or sub-account can
be deleted.
URL /api/360/safety/eventsOverride/delete
Response
Usage Enables to retrieve all override events of type <Event type> and in state <Rule
state>, under the calling user's account.
Response {
"data": [
{
"requestUserId": 5170,
"originalSpeed": 45,
"newSpeed": 25,
"requestJustification": "permanent rule created by safety officer",
"approvalDate": "2018/12/05",
"approvedUserId": 5170,
"approveJustification": "Update from Vita new"
},
{
"ruleId": 21,
"eventType": 1,
"ruleState": 2,
"address": "Amal 9-17, Rosh HaAyin, Israel City",
"requestDate": "2018/12/06",
"requestUserId": 5170,
"originalSpeed": 34,
"newSpeed": 50,
"requestJustification": "Custom rule made by safety officer",
"approvalDate": "2018/12/06",
"approvedUserId": 5170,
"approveJustification": "Custom rule made by safety officer"
},
"approvalDate": "2018/12/06",
"approvedUserId": 5170,
"approveJustification": "Custom rule made by safety officer"
}
],
"isSucceded": true
}
<GetTask>
<Token>xxxxxxxxxxxxxxxxxx</Token>
<TaskInfo>
<Id>yyyy</Id>
<ExternalId></ExternalId>
</TaskInfo>
</GetTask>
Response (success):
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
<Result>
<IsSucceded>True</IsSucceded>
<ResultObject>
<TASK>
<AccountId>4317</AccountId>
<Id>20751</Id>
<Name>test02</Name>
<Enabled>True</Enabled>
<AddressDetails>224, Israel</AddressDetails>
<Lat>31.0460510</Lat>
<Long>34.8516120</Long>
<CreatedByUserId>3900</CreatedByUserId>
<CreationDate>02/07/2014 10:01:47</CreationDate>
<ExecutionDate>2014-07-16T00:00:00</ExecutionDate>
<ArrivalTime>2014-07-21T10:00:00</ArrivalTime>
<CheckAlerts>1</CheckAlerts>
</TASK>
</ResultObject>
</Result>
</string>
Response (failure):
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
<Result>
<IsSucceded>False</IsSucceded>
<ResultObject>
<Error>
<Msg><![CDATA[Message: Task not exists Source: Fleet.Data StackTrace:
at Fleet.Data.TaskRepository.GetTask(TaskInfo task) in
D:\Pointer\FLEET\31A\Source\Fleet.Data\Repository\Task\TaskRepository.cs:lin
e 367; Description : ErrorCode: 0 Source: Custom StackTrace: None;]]>
</Msg>
</Error>
</ResultObject>
</Result>
</string>
10 API Objects
10.1 LayerInfo
Object Name Object Format Object Description
Id int (nullable)
Name string
10.2 PointInfo
Object Name Object Format Object Description
Id int (nullable)
Name string
LayerId int
10.3 TransferAccountModel
Object Name Object Format Object Description
AccountId int
DestinationId int
10.4 TransferedItems
Object Name Object Format Object Description
VehiclesCount int
DriversCount int
10.5 AccountInfo
Object Name Object Format Object Description
AccountName string
ParentAccount int
Level int
10.6 TaskInfo
Id int (nullable)
Name string
Message string
TypeId int
Enabled bool
Country int
State int
City string
Street string
AddressDetails string
Lat decimal
Long decimal
Comment string
EstimateWorkTime int
ContactPerson string
ContactPosition string
OfficePhone string
CellPhone string
ExecutionDate DateTime
(nullable)
ArrivalTime DateTime
(nullable)
CheckAlerts int
DriverName string
LicencePlate string
10.7 TaskStatus
StatusId int
StatusName string
10.8 AssignInfo
TaskId string
ExternalId string
DriverId int
VehicleId int
ErrorList string
10.9 RouteInfo
Id int (nullable)
Name Staring
Tasks List<TaskInRoute>
10.10 Task
Id int
Order int
10.11 AssignRouteInfo
RouteIds string
ExtenalIds string
UnAssign int
ErrorList string
10.12 Status
Id int
Name string
10.13 DriverInfo
Id int
Status bool
Code decimal
NationalId string
LicenseNum string
Address string
Mobile string
HomePhone string
FirstName string
LastName string
MiddleName string
Login string
Password string
LicenseTypes List<IdNameInfo>
10.14 LicenseTypes
Object Name Object Format Object Description
Id int
Name string