Application diagnosis
This API returns information about a user's application diagnosis. It can be used to determine whether the application settings are correct:
In a nominal state, the user's trips will be detected and recorded.
If the smartphone is not correctly configured, or if the user has not granted the proper accesses for the application, the trip recording may be altered.
When a user reports an issue with trip detection or recording, this API can help identify the most probable cause, which can greatly accelerate user support.
If you have your admin API key, you can try the API via this link.
Path parameters
userId
string
Driver's unique identifier
Response
The table below summarizes the list of a driver application's diagnosis data.
lastUpdate
string
Last update of application diagnostic data
Date format: YYYY-MM-dd’T’HH:mm:ss.SSSZ
status
string
Global smartphone status, which indicates if the mobile application is configured to record user trips (see the definition).
Allowed values: VALID
, WARNING
, ERROR
UserInfo
The table below summarizes the content of the userInfo
object.
userId
string
User unique identifier
firstname
string
User firstname
lastname
string
User lastname
companyName
string
Company name
registerDate
string
User registration date
Date format: YYYY-MM-dd’T’HH:mm:ss.SSSZ
firstTrip
string
Date of the first trip
Date format: YYYY-MM-dd’T’HH:mm:ss.SSSZ
lastTrip
string
Date of the last trip
Date format: YYYY-MM-dd’T’HH:mm:ss.SSSZ
SmartphoneData
The table below summarizes the content of the smartphoneData
object.
phoneModel
string
Device model name
appBuildNumber
string
Application build number
osVersion
string
Version of the operating system
osType
string
Platform: iOS or Android
sdkVersion
string
Version of the DriveKit SDK
phoneLanguage
string
Phone language
rawPhoneLanguage
string
Raw phone language
Comments
The table below summarizes the content of the comments
object.
code
integer
Comment identifier
Sensors
The table below summarizes the content of the sensors
object.
location
string
Location sensor status
Allowed values: ENABLED
, DISABLED
, UNKNOWN
bluetooth
string
Bluetooth sensor status
Allowed values: ENABLED
, DISABLED
, UNKNOWN
Permissions
The table below summarizes the content of the permissions
object.
location
string
Location permission status
Allowed values: GRANTED
, DENIED
, UNKNOWN
bluetooth
string
Bluetooth permission status
Allowed values: GRANTED
, DENIED
, UNKNOWN
activity
string
Activity permission status
Allowed values: GRANTED
, DENIED
, UNKNOWN
notification
string
Notification permission status
Allowed values: GRANTED
, DENIED
, UNKNOWN
Settings
The table below summarizes the content of the settings
object.
permissionAutodelete
string
Status of permission revocation functionality in case of prolonged inactivity (Android only).
Allowed values: ENABLED
, DISABLED
, UNKNOWN
, NOT_APPLICABLE
batteryOptimisation
string
Battery optimization status (Android only)
Allowed values: ENABLED
, DISABLED
, UNKNOWN
, NOT_APPLICABLE
lowPowerMode
string
Low power mode status (iOS only)
Allowed values: ENABLED
, DISABLED
, UNKNOWN
, NOT_APPLICABLE
Events
The table below summarizes the content of the events
object.
device
string
Status indicating whether the phone is on
Allowed values: TURNED_ON
, TURNED_OFF
, UNKNOWN
app
string
Status indicating whether the application is installed on the phone
Allowed values: INSTALLED
, UNINSTALLED
, UNKNOWN
user
string
Status indicating whether the user is logged in
Allowed values: LOGGED_IN
, LOGGED_OUT
, UNKNOWN
Definitions
Global status
The global status value depends on the status of each individual parameter:
ERROR
At least one of the parameters is in CRITICAL state (🔴).
WARNING
At least one of the parameters is in WARNING state (🟡), but no parameter is in CRITICAL state (🔴).
VALID
No parameter is in CRITICAL (🔴) or WARNING states (🟡).
Note:
We chose not to consider parameters with an UNKNOWN
or NOT_APPLICABLE
status in the global status. More informations about the global status can be retrieved in the comments section.
Individual parameters criticality
The criticality of each parameter is determined by its status and, in some cases, is specific to the OS of the smartphone. We define 3 levels of criticality:
🔴 CRITICAL
Trip detection and/or recording is not possible
🟡 WARNING
Trip detection and/or recording is impaired, and trips are likely to be lost
🟢 MINOR
Trip detection and/or recording should work as expected
The table below describes, for each parameter, the level of impact of a given status on trip detection and/or recording:
sensors
location
🔴
DISABLED
sensors
bluetooth
🟡
DISABLED
permissions
location
🔴
DENIED
permissions
bluetooth
🟡
DENIED
permissions
activity
🟡
DENIED
permissions
notification
🟢
GRANTED
, DENIED
settings
permissionAutodelete
🟢
ENABLED
, DISABLED
settings
batteryOptimisation
🟡
ENABLED
settings
lowPowerMode
🟢
ENABLED
, DISABLED
events
device
🔴
TURNED_OFF
events
app
🔴
UNINSTALLED
events
user
🔴
LOGGED_OUT
Known Comments
The table below gives more details about the known values for the comments object. We encourage you to use the comment code to identify the messages, as the comment value might change in the future.
0
No issue detected
Trip detection and/or recording should work as expected
1
At least one event in warning state
Trip detection and/or recording is impaired, and trips are likely to be lost
2
At least one event in error state
Trip detection and/or recording is not possible
3
The lastUpdate
is more than 7 days in the past
The data has not been updated for more than 7 days. It is not possible to guarantee that the current application settings are correct.
4
The location sensor status OR the location permission status are UNDEFINED
Location sensor status or the permission to access the location sensor could not be retrieved. It is not possible to determine if the application is running normally.
5
Multiple phone models were used at the same time in the last 30 days
Shared account detected. There is no guarantee that the diagnosis data will correspond to the driver’s current smartphone.
Last updated