Active, Inactive, Requested, Rejected).ViewRiskManagementReportOption to the SecurityIdentifier object. This option controls whether the Run report by: Individual assets or drivers option is available when running a Risk Management report. It is enabled by default for the Administrator and Supervisor clearances.EnergyUsedSinceLastChargeKwh property from the ChargeEvent object.Channel and Type properties according to .NET object model expectations for IoxAddOn objects.Left, Right, Bottom and Top properties according to .NET object model expectations for BoundingBox objects.Crew to isCrew within TachographDriverActivityDriver to UserSearch, From to FromDate, To to ToDate in TachographDriverActivitySearchZoneTypes by name or comments.Payload and ControllerProtocol properties according to .NET object model expectations for ColdChainContent objects.ViewStatusDataViewDiagnosticViewCustomDataViewFaultDataViewExceptionEventViewRuleViewControllerEffectiveStatus property according to .NET object model expectations.FaultStates property according to .NET object model expectations for FaultStateProvider objects.IncludeHourlyData and IncludeBoundaries properties according to .NET object model expectations for FuelTaxDetailSearch objects.IsDeviceCommunicating, IsDriving, and IsHistoricLastDriver properties according to .NET object model expectations for DeviceStatusInfo objects.CannedResponseOptions property according to .NET object model expectations for CannedResponseContent objects.EnterTimeEnterOdometerEnterGpsOdometerEnterLatitudeEnterLongitudeIsEnterOdometerInterpolatedExitTimeExitOdometerExitGpsOdometerExitLatitudeExitLongitudeIsExitOdometerInterpolatedIsClusterOdometerRoute Completion service routes.Range Estimates entities.Coast Pay as a Provider to the FuelTransactionProvider object..Polygon and not .All.Volume and Source properties according to .NET object model expectations for FuelTankCapacity objects.MaxSpeed and TruckMaxSpeed properties according to .NET object model expectations for MaxRoadSpeedResult objects.AutoGroups (Asset Status Groups) to CustomDevice and CustomVehicleDevice.GO4v3 from the Fleet Management Application source code.UserHosRuleSet.GetAllFeatureFlags API from 10 per second to 100 per second.NoRepairNeeded to DtcSeverity.DeviceId is now limited to 200. If a device has more than 200 faults, they will be retrieved in batches of 200 faults per request.dateTime or not.GetRoadMaxSpeeds is now deprecated.ElectricDistanceKm from ChargeEvents.startOfDay property could be null, instead of having a fallback default value (the default value is midnight, 00:00:00).isIgnored and removed property isHidden from the DutyStatusLog object.cycleDriving property was added to DutyStatusAvailability object. cycleDriving property is also added to the DutyStatusViolationType object.Viewport in ZoneSearch, since it has been deprecated for some time. If a ZoneSearchis provided with Viewport, an error message is returned.minYear parameter to GetDaylightSavingRules so that adjustment rules are returned only for the year 2000 and onward. Previously, years going back to 1920 were stored causing a large amount of wasted localstorage.jobPriorities is added to the User object, it stores the list of selected job priorities.activeDefaultDashboards is added to the User object, it stores the list of default dashboards.PropertySelector for Device only returns the property added to the field id within PropertySelector.solutionId property.mimeTypes and channelNumbers search options have been addedNote: This new property is available for USA rulesets only.
Add-In updates via the customerPages are no longer supported.
The following improvements are added:
We've corrected the following errors:
!IMPORTANT: Updating your application to version 10.0 may not work if an ObjectModel class is inherited.
PropertySelector (Beta) support for the TextMessage type.PropertySelector (Beta) support for the IoxAddOn type.PropertySelector (Beta) support for the IoxAddOnStatus type.Custom security identifiers for MyGeotab Add-Ins are now available. Identifiers can be defined in the configuration.json file of Add-Ins, which will then add them to the list of permissions available when editing clearances. These definitions can support multiple languages.
Administrator clearance will remain non-editable and have all custom clearances enabled by default. All other default/system clearance levels only allow editing of custom security identifiers, while keeping the system defined default identifiers non-editable.
* NOTE: By default, once the enableViewSecurityId property in the configuration.json for an Add-In is set to True, a View "Add-In name” Add-In identifier is created that must be enabled for users to be able to view the Add-In. More granular control needs to be set within the Add-In code for any custom identifiers added to the configuration.json.
CreateDatabase throws a RegistrationException.RouteSearchGroups property and replaced it with the ServiceGroups property.PropertySelector parameter that is used with the Get and GetFeed methods to include or exclude specific properties for entity types requested. Detailed information can be found on the Geotab Developers site.DriverWhiteListContent object and replaced it with the DriverAuthListContent object.RequestPending as an acceptable value of DeviceShareStatus. This value indicates when an outgoing device share request has been created by a user on the source database, and is waiting for confirmation it has been created successfully.ResetPasswordEditStockRulesContinuousConnectClearanceViewShipmentsManageShipmentsManageTachographInspectionViewTachographInspectionManageTachographCompanyCardsViewTachographCompanyCardsTachographDownloadAndUploadFilesViewTachographRemoteDownloadDataViewTachographDrivingTimeDataViewTachographInfringementDataSendColdChainCommandWe have migrated all Trailers to be Devices in all customer databases. As a result, you will see the following changes:
GroupAssetTypeId, GroupTrailerId, and GroupVehicleId built-in groups are added under CompanyGroup.GroupVehicleId built-in group is added to all Devices.GroupTrailerId built-in group now performs the same action. Both create a Device in the system that is in the GroupTrailerId group.xGroupTrailerId built-in group as part of the response.{"id”:”GroupVehicleId”}.GroupTrailerId or GroupVehicleId built-in groups will throw an error.! IMPORTANT: Calling Set Device and removing the GroupVehicleId or GroupTrailerId built-in groups will prevent the vehicle or trailer from being shown on the relevant selection screens on the Drive App. Calling Set Device and switching the group from GroupTrailerId built-in group to GroupVehicleId built-in group or vice versa will not be allowed. This is a temporary restriction in the 8.0 release, and we intend to remove this check in a future release.
See this slide deck to understand more about why this change was made, and how this may impact you.
This new built-in group structure automatically classifies electric vehicles (EV) based on their unique powertrain types: Plug-in Hybrid (PHEV), Battery Electric Vehicle (BEV), or Fuel Cell Electric Vehicle (FCEV). See MyGeotab Version 8.0 SDK Announcement - New built-in groups for EV powertrain identification for additional details.
Data property.CustomDevice type could also return CustomVehicleDevice devices in some cases. It has been fixed to return only devices of CustomDevice type.IsAdverseDrivingApplied and IsRailroadExemptionAvailable.RailroadExemption.RepairStatus / RepairUser / RepairDate cannot be changed once set. A repair cannot be completed without the RepairUser, RepairDate, and RepairStatus.GroupRelations in API Reference.GroupAssetTypeIdGroupVehicleIdGroupTrailerIdPowertrainAndFuelTypeIdGroupElectricHybridPluginIdGroupBatteryElectricVehicleIdGroupPluginHybridElectricVehicleIdGroupFuelCellElectricVehicleIdGroupInternalCombustionEngineIdGroupBiodieselIdGroupCompressedNaturalGasIdGroupDieselIdGroupEthanolIdGroupGasolinePetrolIdGroupLiquifiedNaturalGasIdGroupPropaneLiquifiedPetroleumGasIdGroupManuallyClassifiedPowertrainIdAmerica7DayRailroad and America8DayRailroad.NFC, Bluetooth, and UReader add-on types.HttpClient.VersionPolicy RequestVersionOrHigher. Allowing client to use HTTP/2 and above. HttpClient default is HTTP/1.1.EVBatteryHealthReport.IsAdverseDrivingEnabled.Viewport property which was made obsolete in v5.7.2004 will be removed and no longer supported in v9.0. Please switch your application to use searchArea and BoundingBox objects as soon as possible.In an effort to increase application and API security, exception types that expose database provider or platform-specific error messages have been removed and are now represented as one of the exceptions below. Most exceptions and error messages have not changed. Exception types that were previously documented remain unchanged; however, some new exception types include non-specific, generalized messages to avoid sharing information about the underlying infrastructure. The following common exceptions are still supported.
ArgumentExceptionArgumentNullExceptionArgumentOutOfRangeExceptionCaptchaExceptionDatabaseMaintenanceExceptionDbUnavailableExceptionDuplicateExceptionExpiredPasswordExceptionGenericException newGroupRelationViolatedExceptionInvalidApiOperationException new (formerly InvalidOperationException)InvalidCastExceptionInvalidMyAdminUserExceptionInvalidPermissionsExceptionInvalidUserExceptionJsonSerializerExceptionMissingMemberExceptionMissingMethodExceptionPasswordPolicyViolationExceptionPasswordPolicyViolationException is returned.PasswordPolicyViolationException is returned. This method can no longer be disabled.ModifyGroupFilter and ViewGroupFilter to SecurityIdentifier.CaliforniaPropertyShortHaulWithRest, CanadaOil, CanadaNorthOf60Oil, CanadaOilTeam, and CanadaNorthOf60OilTeam properties.WexCanada.AddInData legacy property Data will be removed in the coming 9.0 release. Please update your integration requests to use the Details property insteadAdded CanadaNorthOf60CycleOneTeam and CanadaNorthOf60CycleTwoTeam to the rulesets.
Increased media file size limits to 50 MB for video and 10 MB for images.
API.SessionId property generates an InvalidOperationException, if accessed before it is assigned.Newtonsoft.json.Post-release update: it was recently uncovered within our development team that as of MyGeotab release 5.7.2103, the JSON Serializer responsible for parsing API calls has changed to no longer allow single quote (') usage within the call parameters. Integrators should now solely use double quotes (") for this purpose. The expected error result for single quote usage with this change is as follows:
The new Serializer logic only accepts property names and string values in double quotes because that format is required by the RFC8259 specification and is the only format considered to be valid JSON.
FuelTankCapacity will now throw an ArgumentOutOfRangeException if the value is less than 0.DevicePlans property will be removed from the object model in a future version. DevicePlans does not encapsulate billing information, so please use the DevicePlanBillingInfo property from this version forward.DevicePlanBillingInfo property to replace the DevicePlans property. DevicePlanBillingInfo contains more billing information than DevicePlans.Fixed a bug that omitted the closestAssetLimit property when applying closestAssetLimit and resultsLimit together.
Fixed bug that applied the wrong date when searching for UserHosRuleSet using both fromDate and userSearch.fromDate.
Added the ProviderProductDescription property. This property requests the non-generic product description as described by the fuel card provider.
Added EwdRest, EwdWork, and EwdWorkExemption.
Removed provider-specific details from exception messages when a relation violation exception occurs. The exception types returned have not changed.
Added IsHidden and IsRequired properties.
IsHidden is a boolean value indicating whether a defect is hidden in the UI. Used to determine if "other” should be shown or not.IsRequired is a boolean value indicating whether a defect must be signed off. Used to determine if the part must be explicitly marked as having defect(s) or not.The JSON Serializer responsible for parsing API calls has changed to no longer allow single quote (') usage within the call parameters. Integrators should now solely use double quotes (") for this purpose. The expected error result for single quote usage with this change is as follows:
The new Serializer logic only accepts property names and string values in double quotes because that format is required by the RFC8259 specification and is the only format considered to be valid JSON.
Fuel transactions must be unique when comparing all fields (excluding sourceData) against existing transactions.
Added jurisdiction property.
The CreateDatabase API now requires user-selected jurisdiction. The jurisdiction is the place of residency for Customer data, maintenance hours, and other information (e.g.U.S., EU). This was previously inferred from the selected timezone. To maintain backwards compatibility, timezone can still be used to infer jurisdiction. However, all users are encouraged to provide a jurisdiction as part of the CompanyDetails provided to the CreateDatabase API.
Added FuelTankCapacity property.
Added LevcFault.
A new API was added to Drive Add-Ins to access the device camera to take a photo or select an exiting photo from the mobile device using api.mobile.camera.takePicture().
Added CurrentDutyStatus representing the latest DutyStatusLogType affecting availability or violations.
Added EwdRest, EwdWork, and EwdWorkExemption (formerly Work and WorkExemption).
Added LogTypes property for searching by list of DVIRLogType.
Exception events can be deleted when new data arrives from a device that, when evaluated against the same rule conditions, invalidates the previous state of the exception. For example, a speeding exception is generated for a street with a 40mph speed limit beside a highway. As more GPS data arrives, it becomes clear the vehicle is on the highway, not the service road, so the exception is invalidated. This is a problem for users who continuously request ExceptionEvent data because they are unaware when an exception is invalidated, and deleted at a later date. To resolve this issue, two new properties have been added to ExceptionEvent; lastModifiedDate and state. These properties determine if the exception event is invalidated instead of deleted. This means that when a new GetFeed request is made, the user sees the updated record and can adjust their records accordingly. Invalidated exceptions will no longer be removed immediately.
Added includeInvalidated property.
New object representing the state of the exception event. Possible states are Valid and Invalid.
Generator-addin updated to mock drive add-in camera API features.
Group objects in some instances had color and children properties partially populated when nested in another object (ex device.groups). This is fixed, so they are no longer populated when groups are nested in group linked entities.
Added CaliforniaPropertyShortHaul and CaliforniaPropertyShortHaulWithRest.
New enumeration representing the Jurisdiction of a database.
Added Application media file type. This is to support PDF file types in MediaFiles.
All Radio Downloader related objects are removed as Geotab deprecates all RF functionality.
Added ViewDeviceDataPrivacyChangeData and EditDeviceDataPrivacyChangeData Added ViewSharedDevice Added AdministerPropertySet, ViewPropertySet, AdministerProperty, and ViewProperty Added ViewActiveInsights Added IgnoreHOSLogs Added ViewShareableLink, CreateShareableLink, and DeleteShareableLink
Added SearchArea property to allow searching for trips within a rectangular BoundingBox geographic area.
DIG is our new platform for integrating custom telematics data into MyGeotab. To learn more, click here.
To reduce the duration of process-intensive requests with large JSON payloads, the MyGeotab JSON-RPC API now uses System.Text.Json instead of Newtonsoft.JSON to serialize JSON data sent using the API. This change includes backward compatibility with Newtonsoft.JSON, with the following exception: Numbers with decimals will no longer be serialized using the decimal followed by a zero, if it is a whole number.
The Nuget package now targets .NET Standard 2.0,.NET Standard 2.1 and .NET 5.0. To improve serialization and deserialization performance, the Geotab.Checkmate.Objectmodel Nuget Package version 5.7.2102 replaced the JSON serialization library from Newtonsoft.JSON, with System.Text.Json.
Due to the performance improvement with System.Text.Json, the existing rate limit OverLimitException may be surpassed when calling the GetFeed API in a tight loop.
SDK site adjusted for AODA compliance.
New Geotab Drive Add-In features start/stop, hook and notifications added to generator-addin.
Keywords property expanded to include EngineVehicleIdentificationNumber, VehicleIdentificationNumber and SerialNumber properties.
Beta support for DeviceShare functionality added. This object is used for Extendable Services billing purposes.
Added Work, Rest, and WorkExemption properties.
Route Completion displays the completion status of custom routes and roads to help users maintain compliance with service level agreements. A route is completed based on the rule and conditions set by the user. Route completion exceptions represent servicing activity for a set of previously defined routes, within a service group.
A new RouteCompletion category is used to classify a rule in the Route Completion Report. Route completion rules are returned with unfiltered requests to the Get<Rule> API, or with the category filter UserExceptionRules. They can also be searched by RouteCompletion.
Added FaultStates. This allows faults to represent more precise and potentially multiple fault states. In the future, FaultState will be deprecated, though still available for backwards compatibility.
Complements the FaultStates property of FaultData. Describes the status of a fault.
To comply with the GetFeed contract and avoid performance loss, fixed a bug that applies both fromDate and fromVersion when both are supplied in the API request. When fromVersion is supplied, fromVersion will be ignored.
This fix may return more records when both fromDate and fromVersion are supplied with before the given dateTime is returned.
Also, fixed a bug where toVersion is returned as 0, when a search returns no results. Now, when no results are returned, ToVersion is returned as the latest Feed version.
Added StandardHoursSoloExemptionHours.
Added PassCount. The expected number of passes through the Zone.
Added Groups search option to allow searches for Route Completion routes (RouteType.Service) that are members of GroupSearch(s). Only returns routes that are members of a service group hierarchy.
Added Service route type.
Added RouteCompletionReport.
Added UserSearchType property to address IsDriver search limitation for Driver or Drivers, and Users. UserSearch allows searching for drivers and users, users who are not drivers, and only users who are drivers. IsDriver will be deprecated but remain backwards compatible.
Added values to the UserSearch, UserSearchType properties.
Map Add-Ins are now fully supported, and no longer in Feature Preview. Click here to learn more about Map Add-Ins
Storage APIs are now fully supported, and no longer in Feature Preview. Click here to learn more about Storage APIs
The dates of GPS, status and fault records are compared and uses the latest recorded data point as the DateTime.
The Set method will now allow modifying a value with no groups assigned.
Added a rate limit to the CreateDatabase method: 15/1m, 100/1h, 800/1d.
Added support for Untracked Assets. This allows adding devices that do not have a serial number.
IsTransitioning property indicating whether an HOS log is in transition after the first driver accepts it.IsHidden property.CanadaCycleOne, CanadaCycleTwo, OperatingZoneCanadaSouthOf60, OperatingZoneCanadaNorthOf60, OperatingZoneAmerica and INT_CoDriver.The DutyStatusViolationSearch method can now search by user company or driver groups.
Updated the documentation for Canada-specific fields on DVIRLogs (LoadHeight, LoadWidth, and Odometer) to better describe how they are populated.
Added Inactive, PendingOff, ActiveOff, InactiveOff, and Cleared.
Fixed bug getting latest log for all users
Users can now extrapolate the status date for diagnostics using the unit of measure None when Get is used with search (device, diagnostic, from and to date).
Added GetFeed for DeviceStatusInfo.
Added MimeContent to MessageContentType.
Fixed documentation of maximum size.
Fixed a bug getting zone stop rules.
Fixed a UI bug rendering JSON, causing it to fail on empty object.
Get<Device> request.Get<Device> request now accepts wildcard searches.Added a new sample illustrating tooltip which displays the odometer, fuel level, and battery charge level (if applicable) of a vehicle.
Added ViewDeviceShare, ViewDeviceShare, InstallRecord, ViewDeviceShare, ViewDeviceShare, ViewUserDeviceLink, and ViewUserDeviceLink.
Added the ServerId property, a unique identifier for a server/cluster.
Geotab is happy to announce a new set of APIs related to Media Files. This new API can be used to store images or video clips related to a device or driver.
MediaFile: MediaFile is a new type used to store images or video clips related to a device or driver. More information about media files can be found here.
MediaFile: The type of Media.
Status: The status of an uploaded file.
MediaFileSearch: The object used to specify the arguments when searching for MediaFile. This will return the data describing a file, not the actual file.
Tag: A named tag to provide context to an entity.
DownloadMediaFile: Download a file for the given MediaFile. The Content type is determined by the file extension. Range headers are supported.
UploadMediaFile: Upload a file for the corresponding MediaFile using multipart/form-data POST request.
SecurityIdentifier: Added ViewMedia and ManageMedia.
Added ThirdPartyData type to allow flexible length binary data format records to be stored.
GetCountOf method now accounts for user scope. It previously did not account for user scope, which was a bug.
Viewport is obsolete and no longer officially supported. It is replaced with SearchArea property. This will be better represented by the type BoundingBox. Providing a bounding box is simpler to use because map libraries provide viewport/map bounds in this way already. Backwards compatibility will be maintained with the Viewport property, though no longer documented.
Added BoundingBox which represents a geographic area defined by the top-left and bottom-right coordinates.
Added searching by diagnostic name.
Added searching by Diagnostic Code, Diagnostic Name, Diagnostic Source Name, Diagnostic Source Id, FaultState and Controller Id.
Added groups filter to generator-addin.
Added: America7DaySleeper, America7DayBigSleeper, America8DaySleeper, America8DayBigSleeper, OilTransport7DaySleeper, OilTransport7DayBigSleeper, OilTransport8DaySleeper, OilTransport8DayBigSleeper, America7DayNo34hSleeper, America8DayNo34hSleeper, AmericaNoRestRequirement7DaySleeper, AmericaNoRestRequirement7DayBigSleeper, AmericaNoRestRequirement8DaySleeper, AmericaNoRestRequirement8DayBigSleeper, OilWell7DaySleeper, OilWell7DayBigSleeper, OilWell8DaySleeper, OilWell8DayBigSleeper, OilTransportNoRestRequirement7DaySleeper, OilTransportNoRestRequirement7DayBigSleeper, OilTransportNoRestRequirement8DaySleeper, OilTransportNoRestRequirement8DayBigSleeper, OilWellNoRestRequirement7DaySleeper, OilWellNoRestRequirement7DayBigSleeper, OilWellNoRestRequirement8DaySleeper, OilWellNoRestRequirement8DayBigSleeper, AlaskaProperty7DaySleeper, AlaskaProperty8DaySleeper
We work hard to create fast and flexible tools that make sense for your business, and your feedback is an essential part of that process. With this in mind, we are previewing our new Java SDK, and we want you to tell us how we did! So go ahead - test the kit, join our Community Developer Discussions to help us improve our product, and get to know our users.
The Java SDK offers an easy way to integrate MyGeotab into Java software. All communication with Geotab services is accomplished using HTTPS with serialized data in JSON format. The Java library provides Java objects representing MyGeotab entities and automatically handles their JSON serialization and deserialization.
The Java SDK is available as a Maven Dependency Library from the Maven Central Repository and includes documentation with information and usage samples for your new kit.
You can find Java-based API usage samples at https://github.com/Geotab/sdk-java-samples
Samples include:
Get Logs for a given vehicle between a range of dates. Send Text Messages to and from a GO device Import Groups includes a console example that is also a Group import tool. The sample enables a one-time import of groups to a database from a CSV file. Import Devices includes console example that imports devices from a CSV file. Import Users includes a console example that imports users from a CSV file. Get Data Feed includes an example for retrieving GPS, StatusData and FaultData as a feed, and for exporting to CSV file.
Supported Methods include:
Supported Objects include:
JSON serialization improvements have been made to increase the efficiency of API calls. This is especially noticeable on API calls with large response payload. For example, calling GetFeed of StatusData with full payload (50,000 results), the average end to end time decreased from 1800 ms to 800 ms.
Recipient. This property is used to send a text message to a user.IsDelivered, IsRead, UserSearch.IsDelivered, when set to true, returns all text messages that were delivered to the recipient/device.IsRead, when set to true, returns all text messages that were read by the recipient/device.UserSearch searches TextMessages from a user, and users in the specified CompanyGroups or DriverGroups.ContentTypes and IsDirectionToVehicle.ContentTypes searches for TextMessages based on their MessageContentType.IsDirectionToVehicle, when set to true, will return all text messages that were sent to the device. If set to false, it will return all text messages that were not sent to the device.PerformanceReport has been removed.Some exception messages contained escaped Unicode characters. We have fixed these to exclude escaped characters. See the example message change below:
The method \u0022NotAMethod\u0022 could not be found. Verify the method name and ensure all method parameters are included
The method 'NotAMethod' could not be found. Verify the method name and ensure all method parameters are included
This fix applies to messages of exception types MissingMethodException, AmbiguousMatchException, MissingMemberException and JsonSerializationException.
GmcccFault and BrpFaultControllerGmcccFaultId, SourceGmcccId, SourceGmcccObsoleteId, ControllerBrpFaultId, SourceBrpId, SourceBrpObsoleteIdNoExceptionEventId, NoRuleIdAutoHos. This property is a toggle that represents automatic generation of DutyStatusLogs for a GoDevice and/or a CustomVehicleDevice.HoursLimit and DaysLimit. These properties show the maximum or minimum hours and/or days limit for duty status violations.Reason property. This will be removed in a future version. The data in the Reason property string is now provided as DaysLimit and HoursLimit for better programmatic access.LicenseNumber, EmployeeNumber, HosRuleSet and UserAuthenticationType.Device and Driver. These properties add fuel transactions for a device or user, rather than a loose match by VIN, etc. If left null, the application will attempt to match the fuel transaction to a device and driver at time of an Add or a Set. If no match is found, the fuel transaction's Device and Driver properties defaults to NoDevice and UnknownDriver.AuthorityName, AuthorityAddress, Odometer, LoadHeight, LoadWidth and IsInspectedByDriver. These properties support Canadian DVIR inspections. AuthorityName and AuthorityAddress are automatically populated based on what the user's corresponding fields are at the time. Odometer currently only applies to the entered Hubometer value for Trailer DVIRs.IsValueLessThanPercent and IsValueMoreThanPercent. These properties are used to create a percentage threshold for speeding violations, rather than an exact speed value under/over the current posted road speed.This method has been changed to use generics instead of passing type in, and returning an object, that needs to be cast. For example, var version = (string)(await invoker.InvokeAsync("GetVersion", typeof(string))); is now var version = await invoker.InvokeAsync<string>("GetVersion");
While not an officially supported component, it's possible WebServerInvoker is being used by some integrations. For this reason we thought it worth mentioning this change.
! IMPORTANT: A bug has been identified with Geotab.Checkmate.Objectmodel NuGet packages older than version 5.7.2002, which can lead to serialization errors when a previous version received a new device plan value. Please update to the latest NuGet package to establish compatibility.
Users can now create a Map Add-In without using the view panel on the right. For quick tasks such as adding icons or text to the Map, simply use the "noView":true parameter in your configuration file.
You can now hide Vehicle State and Groups information from the tooltip when hovering or selecting vehicles on the Map. See the example below.
dateTime.IsExemptHOSEnabled property to indicate whether the user is allowed to use HOS Personal Conveyance.CompanyName, CompanyAddress, and CarrierNumber properties to store company and carrier information.CountryCode, PhoneNumber, and PhoneNumberExtension properties to assign a phone number to a selected user.LicenseProvince and LicenseNumber properties.RestBreakNeeded, OffDutyNeeded, DaySummaries, WorkdaySummaries and CycleSummaries properties to DriverRegulation.DeferralStatus, and DeferralMinutes properties to define the duty status deferral and deferral minutes.PC_Exempted property to indicate the status of a driver.LogType and DefectList properties.Intrip inspection type.HosEnabled and HosDisabled to RecipientType to automate HosEnabled/HosDisabled duty status logs using rule notifications. For example, when an exception event occurs, add an HosEnabled or HosDisabled duty status log at the same time as the event for an unidentified driver.NoPreDVIRCheck and NoPostDVIRCheck to ConditionType when no Pre or Post-trip DVIR is performed between work days.SpeedLimitAsMeasurement property to the ConditionType to create rules that only apply to posted road speeds that are greater than, or less than a specified value. For example, it may be more important to alert the driver when the vehicle is travelling less than 10mph, or greater than 10mph on a highway, than it is on a city street.NoDVIRCheck ConditionType is obsolete and will be removed in a future version. Please use NoPreDVIRCheck and NoPostDVIRCheck.ZoneTypes property for enumeration of zone types for a given zone.ObdAlertEnabled property to allow users to enable/disable OBD alerts on their vehicles.ParameterVersionOnDevice property to track the current parameter version on the device. The current ParameterVersion property communicates the parameter version to the device; however, parameter updates are not always immediate.ActiveFrom from being greater than ActiveTo when adding a device.We have modernized the Add-In scaffolding, development and packaging tool to use more current techniques and features:
This major release merges the API wrappers mg-api-js (previously browser only version) and mg-api-node (previously Nodejs only version) into a single project:
DeviceSearch.Groups property using BinaryDataSearch.SystemSettings value to SecurityIdentifier.DiagnosticCategory object from the SDK reference page. This is a legacy object that is no longer in use.AddInData (Feature Preview) - Remove requirement of AddInDataId for search by Id.
AuditSearch, DeviceSearch, ShipmentLogSearch, UserSearch, ZoneSearch - Added new search by list of Keywords. This allows searching "or” across multiple wildcard searchable string fields of an object in one request. For example, searching for device with keywords will search for matches against Comment, LicensePlate, Name, SerialNumber and VehicleIdentificationNumber matching the provided keywords. Keywords strings support wildcard character (%).
BinaryData (nuget only) - Fix issue deserializing enum values known to the server but unknown to older nuget package.
Calculated Engine Hours Search - As mentioned in 5.7.1904 What's New, DiagnosticEngineHoursAdjustmentId is now interpolated using trips and DiagnosticIgnitionId values when a search includes a from/toDate value(s) to provide exact values by default.
CompanyDetails - Add documentation describing field length limits. Added more specific error messages relating to max field lengths from CreateDatabase method.
Device - HardwareId is no longer returned as part of Device object. For more information regarding this change, please refer to this community post.
DVIRDefect - Providing RepairUser and RepairDateTime are no longer supported for unrepaired DVIRDefect.
DVIRLog - DefectList must be provided with DVIRLog.
GetFeed - Fixed corner case where it was possible to miss data in feed due to concurrency issue.
GetFeed StatusData - Fix, providing a search to GetFeed StatusData containing a DiagnosticSearch which has no results within the provided limit of records will now return a feed version advanced by the results limit or remaining records when less then results limit.
Get Diagnostic - Fix issue searching by DiagnosticType.ProprietaryFault or DiagnosticType.LegacyFault causing error result.
GoCurve - Added IsIoxConnectionEnabled. (Adds to GO4v3, GO5, GO6, GO7, GO8, GO9)
Group (nuget only) - Removed left and right parameters from constructor and Group.Get method.
GroupRelations - Added AddInDatas property. When Group linked AddInData (Feature Preview) is blocking a Group remove, a list blocking AddInData Ids will be returned in the GroupRelations property of GroupRelationViolatedException.
HosRuleSet - Added WashingtonIntrastate7Day, WashingtonIntrastate8Day, NoneCanada, HosRuleSetCanadaNorthOf60CycleOne, HosRuleSetCanadaNorthOf60CycleTwo
SecurityIdentifier - Added ViewGroups, AdministerWiFiHotspotSettings, ViewWiFiHotspotSettings
TextMessage - Proper support of active from/to dates. *Messages that have not been sent by active to date will not be sent.
TextMessageSearch - ParentTextMessageId (long) is obsolete. Usage should be replaced with ParentMessageId (Id).
User - Added MaxPCDistancePerDay
UserSearch - Added "negatable” search of FistName, LastName and Name properties. If the first character of this search property is ‘!', then the API will know to negate the search logic. For example: field = "!John%", is equivalent to: WHERE NOT LIKE 'John%'.
AddInData (Feature Preview) - Groups are now optional for AddInData objects, currently in Feature preview. Previously, groups were a required property for the AddInData object. This limited the potential usage of AddInData as there are situations where data should be available to all users regardless of scope, and some users were not able to access data when they belonged to groups outside the data's scope. Removing this restriction means any user is now allowed to get an AddInData object if no group is specified for the object.
API.cs (nuget only) - Now implements IApi interface. This allows for simpler unit testing of integration code using mocks.
BinaryDataType - Added SoftwareVersionFull
Calculated Engine Hours Search - With a custom setting (ENABLEENGINEHOURSINTERPOLATION) applied to your database, DiagnosticEngineHoursAdjustmentId will now be interpolated using trips and DiagnosticIgnitionId values when a search includes a from/toDate value(s) to provide exact values. To apply this custom setting to your database, please reach out to Geotab support. This will become the default behavior in v5.7.2001.
DatabaseExists fixed to include databases existing in other federations.
FuelTransactionProductType - Added Hydrogen and DieselExhaustFluid.
FuelTransactionProvider - Added GFN.
HosRuleSet - Added HosRuleSetCanadaCycleOneTeam and HosRuleSetCanadaCycleTwoTeam.
LoginResult - Removed unsupported legacy property SecurityToken. This property duplicated the supported property Credentials. It was previously maintained for compatibility with MyGeotab Web Server 5.6.1 which is no longer supported.
Rule - Fix, don't allow adding Rules without Conditions.
SecurityIdentifier - Added ViewGroups.
DutyStatusLog: Added EditRequestedByUser.
DutyStatusLog: Locations will not be included with DutyStatusLog by default. To include locations must use dutyStatusLogSearch.IncludeLocations: true.
DutyStatusLogType: Added HosEnabled, HosDisabled.
DVIRLog: Added RepairDate.
IoxAddOn: Added DateTime representing when the channel was set to the given value.
Serialization: ISO date time at zero hour will now have full ISO time ex 1986-01-01 -> 1986-01-01T00:00:00.000Z.
HosRuleSet: Added AmericaShortHaul14hrWorkday, AmericaShortHaul8Day14hrWorkday, OilTransportShortHaul14hrWorkday, OilTransportShortHaul8Day14hrWorkday, CaliforniaFlammableLiquidWithRestRequirement, CaliforniaSchoolPupilWithRestRequirement, CaliforniaFarmProductWithRestRequirement, OilTransportCaliforniaProperty, OilWellCaliforniaProperty, AmericaSalespersonNonCdlShortHaul
User: Active from/to: The user property ActiveTo will automatically be set to max date (2050-01-01) to denote that it is active. To account for differences in Client machine time vs Server machine time, we are allowing users to set the value of ActiveTo to a max window of 24 hours in the future (i.e. Current Time + 24 hours). In this situation we are considering it to be historical.
CustomData: Incomplete custom data is no longer returned via GetFeed API.
GetFeed: Added feeds for entities that could generate more than 50,000 records in a single request. Please take note of the limits on results.
Audit - 50,000 record limit
Device - 5,000 record limit
Diagnostic - 50,000 record limit
DriverChange - 50,000 record limit
Route - 10,000 record limit
Rule - 10,000 record limit
TextMessage - 50,000 record limit
Trailer - 50,000 record limit
User - 5,000 record limit
Zone - 10,000 record limit
ApplicationVersionInformation: Added beta support
BinaryDataType: Added SoftwareVersionSection1, SoftwareVersionSection2, SoftwareVersionSection3
DefectRemark: Added beta support
DefectSeverity: Added Unregulated
Device: Adding a device will now force the ActiveTo property to max date. Setting a device's ActiveTo property to a future date, but not max date, will force the value to max date.
DeviceType: Added GO9
DiagnosticType: Added ProprietaryFault, LegacyFault
DriverRegulation: Added beta support
DtcClass: Added beta support
DtcSeverity: Added beta support
DutyStatusAvailability: Added properties CycleRest, DutySinceCycleRest, Is16HourExemptionAvailable, IsAdverseDrivingExemptionAvailable, IsOffDutyDeferralExemptionAvailable
DutyStatusAvailabilityDuration: Removed from documentation, will be obsoleted in future
DutyStatusViolationType: Added CycleRest and DutySinceCycleRest
DVIRDefect: Added beta support
ElectricEnergyUnit: Added beta support
ElectricEnergyEconomyUnit: Added beta support
FaultData: Added ClassCode, Severity and SourceAddress properties
GO9: Added support
GroupSearch: Added search by Reference
HosRuleSet: Added CaliforniaFlammableLiquid, CaliforniaSchoolPupil, CaliforniaFarmProduct, OilTransportCalifornia8day, OilWellCalifornia8day
KnownId: Added UnitOfMeasureLitersPerTonneId, DiagnosticStateOfChargeId, DiagnosticTotalLifetimeBatteryEnergyInDuringACChargingId, DiagnosticTotalLifetimeBatteryEnergyInDuringDCChargingId, DiagnosticTotalLifetimeOnBoardChargerEnergyOutDuringACChargingId, DiagnosticTotalLifetimeOnBoardChargerEnergyInDuringACChargingInId, DiagnosticOnBoardChargerAcInputVoltageId, DiagnosticElectricVehicleChargingStateId, DiagnosticElectricVehicleBatteryPowerId, DiagnosticOnBoardChargerACInputPowerId, DiagnosticOnBoardChargerDCOutputPowerId, DiagnosticElectricEnergyInId,DiagnosticElectricEnergyOutId, HosRuleSetCaliforniaFlammableLiquid, HosRuleSetCaliforniaSchoolPupil, HosRuleSetCaliforniaFarmProduct, HosRuleSetOilTransportCalifornia8day, HosRuleSetOilWellCalifornia8day, ControllerProprietaryFaultId, ControllerLegacyFaultId, SourceProprietaryId, SourceLegacyId, DiagnosticBluetoothNitricOxideConcentrationId, DiagnosticBluetoothNitrogenDioxideConcentrationId, DiagnosticBluetoothCarbonMonoxideConcentrationId, DiagnosticBluetoothAmmoniaConcentrationId, DiagnosticBluetoothMethaneConcentrationId, DiagnosticBluetoothEthanolConcentrationId, DiagnosticBluetoothHydrogenConcentrationId, DiagnosticBluetoothCarbonDioxideConcentrationId
MimeContent: Added ChannelNumber property
RepairStatusType: Added beta support
SecurityIdentifier: Added InspectDVIR, CertifyDVIR - Removed DailyUsageReport
User: Added ElectricEnergyEconomyUnit and isEmailReportEnabled properties
User: Fixed bug where isDriver property would be included with id in nested driver entities. This property is removed from nested entities. It will remain in non-nested users.
VersionInformation: Server is obsolete and replaced with more detailed Application property (see ApplicationVersionInformation)
.Net nuget package: Group constructor with only ID has been removed.
For an in-depth description of the result in rate limit changes in 5.7.1902 and future releases see this blog post
Concepts section updated to reflect new result and rate limits.
Result Limits: Maximum result limit of 50,000 has been added to generic Get (including Get using search) requests of entity types: AnnotationLog, DVIRLog, TrailerAttachment, IoxAddOn, CustomData, BinaryData. Results limits will be added to more entity types in future releases.
Rate Limits: Rate limits of 1 RPS (request-per-second) has been added to all GetFeed APIs.
Sun-setting support for SendEmail API. No longer available in API documentation.
ActiveTo will automatically be set to max date (2050-01-01) to denote that it is active.ActiveTo to a max window of 24 hours in the future (i.e. Current Time + 24 hours). In this situation we are considering it to be historical.DVIRLog: Added Location property.
SecurityIdentifier: Added ViewBusinessIntelligence, ActiveTrackingClearance.
EmailSent, SkipHosVerify, SkipHosClaimUnassigned, SkipDvirInspect.Add/Set Device: ParameterVersion will auto increment server side when device parameters property changed. Server must see that ParameterVersion has incremented to send parameters to an installed GO device (ex device beeping instructions). Previously, ParameterVersion required manual increment.
API.cs (.Net only): Fix bug, in certain senario changing Timeout property could abort the action on timeout and not cancel underlying request.
CustomVehicleDevice: Support of vehicle specific custom devices which provide vehicle specific properties and functionality. Custom device product ID must be of CustomVehicleDevice type. Contact your reseller for more information.
Improved support for calculated odometer and raw odometer with third-party diagnostic KnownId DiagnosticThirdPartyOdometerId and OdometerAdjustmentId
Improved support for calculated engine hours with third-party diagnostic KnownId DiagnosticThirdPartyEngineRunTimeId and EngineHoursAdjustmentId
VehicleIdentificationNumber property moved from CustomDevice to CustomVehicleDevice
Added LicencePlate and LicenceState properties
DutyStatusAvailability: Added BETA support for Recap and CycleAvailabilities properties
DutyStatusAvailability: Replaced Availabilities list with separate properties: Driving, Cycle, Rest, Duty, Workday
DeviceType: Added CustomVehicleDevice.
DriverChange: DriverChange object Id property is no longer backed by integer type. It is now backed by GUID type. When update 1804 is applied to the database, all previous numeric entity Id's will be invalidated and assigned a new GUID Id's. This could pose an issue if your integration stores driver change Id and you then reference the DriverChange by that Id. Note: JSON representation of Id was previously string and remains string type.
DutyStatusLogType: Added ExemptionOffDutyDeferral.
DutyStatusViolationType: Added DailyDriving, DailyRest, DailyDuty, DailyOff.
KnownId: Added DiagnosticThirdPartyEngineRunTimeId, DiagnosticThirdPartyOdometerId.
SecurityIdentifier: Added DirectSupportAdmin, UserLoginStatusRead, UserLoginStatusSet.
SecurityIdentifier: Values AlarmSoundList, Tracking, CreateNewSqlDatabase, EngineControllerList, PurgeSettings, SendImmobilizationInstruction are obsolete and will be removed in version 1806+.
SecurityRole: Added SupportTicketInsert, TrainingTicketInsert, SupportTicketSet, TrainingTicketSetUser, LoginFailure, UserLockout, UserUnlocked, ShipmentLogInsert, ShipmentLogSet, ShipmentLogRemove, TrailerAttachmentInsert, TrailerAttachmentSet, TrailerAttachmentRemove.
ZoneSearch: Added FromDate and ToDate search properties providing ability to filter zones by their active dates.
API.cs (.Net only): There is a known issue on Windows 10 using IIS Express with possible hanging synchronous requests using nuget package 5.7.1803\5.7.1804. This issue is solved in 5.7.1804.1 or greater.
SecurityRole: Added CertificateSet permission
DriverChangeSearch: Added property Type indicating the DriverChangeType to search for exclusively.
API.cs (.Net only): There is a known issue on Windows 10 using IIS Express with possible hanging synchronous requests using nuget package 5.7.1803\5.7.1804. This issue is solved in 5.7.1804.1 or greater.
DutyStatusLog: Added properties Odometer, EngineHours, EventRecordStatus, EventCode, EventType
DutyStatusLogType: Added SituationalDrivingClear
FuelTaxDetail: Added properties HourlyIsOdometerInterpolated, IsEnterOdometerInterpolated, IsExitOdometerInterpolated
FuelTaxDetail: Obsolete IsClusterOdometer - Superseded by the IsEnterOdometerInterpolated, HourlyIsOdometerInterpolated, and IsExitOdometerInterpolated properties. Will be removed in future version.
FuelTaxDetailSearch: Added properties IncludeBoundaries, IncludeHourlyData
SecurityIdentifier: Added ViewTripTypeChangeData, EditTripTypeChangeData
An issue was discovered which could cause integrations using the Geotab.Checkmate.Objectmodel nuget package v5.7.1801 and lower to encounter a serialization failure when a new DiagnosticType is introduced. The issue has been addressed in nuget package v5.7.1802. To ensure compatibility, it is strongly recommended that all integrations referencing the nuget package v5.7.1801 and lower update to version v5.7.1802 as soon as possible. (this issue is only relevant to .Net nuget package users)
KnownId - Removed: UnitOfMeasureLitersPer100KilometersId. Diagnostics associated with this unit of measure now use UnitOfMeasureKilometersPerLiterId. This will not affect any previously recorded data.
KnownId - Added: DiagnosticGpsLogReasonId, DiagnosticEngineRoadSpeedId
ConditionType - Added: DVIRDefect - Currently works with Devices not Trailers
SecurityIdentifier - Added: DriverIdentificationClearance, AccelerometerDataClearance, ServicePlansClearance, AuxiliaryClearance, EngineStatusDataClearance, ResellerControlClearance, GoTalkClearance, StatusGroupsClearance, ProductGuideClearance, FeaturePreviewClearance, NewsNotificationsClearance, ManageAddinsClearance, DeviceCurrentStatusClearance
In early 2018 the following legacy properties will be removed:
Authenticate: userLogin parameter. This was kept around for compatibility with legacy (5.6.* and lower) integrations. It has not been publicly exposed or documented since version 5.6 of MyGeotab. It is planned to be removed as a valid parameter in version 5.7.1803. The userName parameter is the standard supported property that should be used.
LoginResult: securityToken property. LoginResult is the object returned by the Authenticate method. It's property securityToken was kept around for compatibility with legacy (5.6.* and lower) integrations. It has not been publicly exposed or documented since version 5.6 of MyGeotab. It is planned to be removed as a valid parameter in version 5.7.1803. The property credentials is the standard supported property that shares the same value.
API.cs (.Net only) - Fix: When password and session id are supplied to constructor, session id will be used until no longer valid. Previously, session id would only be used if password was not supplied.
FuelTaxDetail - Added properties: ”IsEnterOdometerInterpolated”, "IsExitOdometerInterpolated”, "HourlyIsOdometerInterpolated”
User - Removed property: "MenuCollapsedNotified”
GetAddresses - Added: "hosAddresses” parameter to optionally search for ELD compliant address
UnitOfMeasure - Added: Kilowatt hours ("UnitOfMeasureKiloWattHoursId”)
SecurityIdentifier - Added "ViewBinaryData”, "ManageAddInData”, "ViewAddInData”
HosRuleSet - Added "CarrierExemption”
.Net SDK samples updated to target netcoreapp2.0
.Net nuget package now supports framework: netstandard2.0 (removed support for net46)
API.cs (.Net only) - Added cancellation token parameter to AuthenticateAsync and CallAsync methods.
DutyStatusLog - Added "Malfunction” property - The DutyStatusMalfunctionType of the DutyStatusLog record. As a flag it can be both a diagnostic and malfunction state which is used to mark status based records (e.g. "D”, "SB”) as having a diagnostic or malfunction present at time of recording.
DutyStatusLog - Added "Sequence” property - The sequence number, which is used to generate the sequence ID.
DutyStatusLogType - Added "EnginePowerup”, "EngineShutdown”, "EnginePowerupPC”, "EngineShutdownPC”, "PowerCompliance”, "EngineSyncCompliance”, "TimingCompliance”,"PositioningCompliance”, "DataRecordingCompliance”, "DataTransferCompliance”, "OtherCompliance”, "MissingElementCompliance”, "UnidentifiedDrivingCompliance”, "INT_PC”, "INT_D”.
Controller - Added short integer "CodeId” property, which will replace the "Code” property. New "AnyController” for J1708 engine diagnostics to allow replacing those engine diagnostics identical except for the controller with one diagnostic. J1708 engine diagnostics for 58 separate SIDs were updated.
CustomDevice - Added "VehicleIdentificationNumber” property.
FuelTaxDetail - Added "Driver” property.
DriverChangeSearch - Added "IncludeOverlappedChanges” property - A value indicating whether to include the last driver change before the from date or the most recent driver change (if the from date is not provided).
InvalidUserException - Message changed from to "Incorrect MyGeotab login credentials…” to "Incorrect login credentials…”.
DutyStatusMalfunctionType - Added - Malfunction or Diagnostic type of the DutyStatusLog.
DutyStatusState - Added - The record status of DutyStatusLog.
Web Request Notifications: fix {zoneId} and {zoneComment} tokens would not get populated unless {zone} or {address} were also included.
Documentation: API Reference updated to include default value and max length of object properties in their descriptions. Default values are automatically used when adding an entity and those properties have no value assigned (are null). For example, adding a Group with color = null, will add group with default color "Blue”. If a property has no default value, it is required when calling "Add”.
Set operations now retain the value of missing (null) properties. A positive effect of this change is that is remedies a long existing issue that could occur when a server is a newer version (ex 5.7.1704) than client nuget package (ex 5.7.1701) which is making requests to it. The issue could arise when a new Enum value was added and exists only in the server's code base, not client client nuget package. When the unknown Enum was received by the client, it could not be deserialized into an Enum value and would throw an exception. Starting in nuget package version 5.7.1707.x, the unknown Enum value will be deserialiezed to null. This means the object can round trip” on "Set” because the server will now (starting at version 5.7.1707) fill in the null value with the existing saved value of the property.
Added: JsonRpcError, JsonRpcErrorData - to better align JSON-RPC errors with the JSON-RPC 2.0 specification. Non-standard (now legacy) error properties have been deprecated. This should not affect nuget package users as the API.cs object serialized the JSON-RPC error results as Exceptions which are thrown. This may affect users consuming the raw JSON-RPC result of requests. It's recommended to update usages to the official, standardized, properties as outlined in the API Reference. Of note: the new objects exposes "requestIndex” property which is the index at which a "multicall” failed.
Added: User/Driver objects now have property "IsDriver” to clearly indicate when a user is a driver. This also makes it easier to save a user who is no longer a driver, set the property to false and save.
Added: FuelTaxDetail - A new entity which provides API access to calculated fuel tax data. In the past this data was only available via the IFTA Report in MyGeotab where it was calculated on the fly. Fuel tax details are now processed using live data and stored in the database and they can be access using the API via Get and GetFeed methods. Full documentation coming soon.
DatabaseId has been removed from .net package as per the December 2016 post
DutyStatusLogType: Added: "Authority” requires update of .net nuget package to ensure compatibility
FuelTransaction: Added: "ExternalReference”
FuelTransactionSearch: Added: "ExternalReference” and "Provider”
User: Added: "AuthorityName” and "AuthorityAddress”
GetFeed of Trip now includes stop point (woohoo!) *requires server running 5.7.1706.x
API Clients section added to SDK documentation
Geotab.Reflection package no longer a dependency of Geotab.Checkmate.Objectmodel nuget package
GO8: Added preliminary support for GO8 devices requires update of .net nuget package to correctly read/write GO8 devices
IoxAddOn: Added preliminary support for IoxAddOn, IoxAddOnSearch, SerialIoxContent,KnownIoxAddOnType, IoxOutputContent, MimeContent
TextMessageSearch: Added search by: "ParentTextMessageId”
DutyStatusLog - Added property: State
DutyStatusLogSearch - Added search by device groups
API.cs is now compatible with System.Net.Http v4.3.1
Fix, API.cs proxy support. New constructor that accepts HttpMessageHandler, deprecated constructor that accepts IWebProxy and Proxy property
Fix, content type of API response headers changed from "text/html” to "application/json”
DevicePlan: Added: D2GODriverChallengeStandard requires update of .net nuget package to ensure compatibility
HosRuleSet.cs Added: America7DayNo34h, America8DayNo34h, AmericaShortHaulNo34h, AmericaShortHaul8DayNo34h, BrazilShortHaul requires update of .net nuget package to ensure compatibility
SecurityRole.cs Added: ReassignData requires update of .net nuget package to ensure compatibility
TimeZoneId: it was possible to add a user or device with "Unknown” time zone ID. This was only possible using the API and "Unknown” is not returned via the GetTimeZones method or a valid Olson time zone. The ability to add users and devices with "Unknown” as been removed and all users and devices with this time zone ID have been changed to "Etc/GMT”
FuelTransactionProvider: Added - "Voyager”, "UltramarCST”
SecurityIdentifier: Added - "PurchaseMarketplacePaidItems” requires update of .net nuget package to ensure compatibility
SecurityRole: Added: "TripTypeChangeInsert”, "TripTypeChangeRemove”, "CustomReportSendError” requires update of .net nuget package to ensure compatibility
Fix: nuget package issue making API requests from Azure WebJob
Fix: TimeZoneInfoAdjustmentRule serialization (result of GetDaylightSavingRules)
Added "Hardware” section to SDK
Nuget: Replace usage of Microsoft.Net.Http with System.Net.Http (WebRequest => HttpClient)
DiagnosticSearch: Added DiagnosticType property to search by the type of diagnostic. Ex, only GoFault diagnostics.
Added "ExpiredPasswordException” object. This exception can be thrown if a user makes a request while their ChangePassword flag is true. The user must change their password before they are able to successfully make further requests
SecurityRole: Added "ReportHosAvailability” requires update of .net nuget package to ensure compatibility
If you are using the .net nuget package and plan to use the new "HOS Only” device plan you must update to nuget package version 5.7.1701 or greater to ensure compatibility.
Id refactoring - The ID object has been refactored in the .NET SDK. See this forum post for details.
Updated description of GoCurveAuxiliary (GO4v3, GO6, GO7) properties: ImmobilizeUnit: With ImmobilizeUnit being true, it is used to define the delay before the driver identification reminder is sent out if the driver key has not been not swiped. The maximum value of this property is 255. When it is less or equal to 180, it indicates the number of seconds of the delay. When it is greater than 180, the delay increases 30 seconds for every increment of one of this property. For example, 180 indicates 180 seconds, 181 indicates 210 seconds, and 182 indicates 240 seconds. ImmobilizeArming: A value mainly used for enable or disable driver identification reminder. If it is used in conjunction with vehicle relay circuits, it can force the driver to swipe the driver key before starting the vehicle.
Authentication rate limiting being phased in. See this Blog Post for more details. Added "Rate Limiting” section to SDK Concepts.
KnownId - Added: "DiagnosticDieselExhaustFluidId”, ”DiagnosticDieselParticulateFilterLampId”, "DiagnosticPowerTakeoffEngagedId”, "DiagnosticPowerTakeoffTotalFuelUsedId”
KnownId - Removed: "DiagnosticBluetoothBeaconOutOfRangeId”
Trailer - Added "Groups” property. Trailers can now be added to groups.
TrailerSearch - Added property groups. Search for Trailers that are members of these GroupSearch(s) one of it's children or one of it's parents.
*SecurityIdentifier - Added: "RepairDVIR”
KnownId - Added: "DiagnosticDieselExhaustFluidId”, "DiagnosticDieselParticulateFilterLampId”, "DiagnosticPowerTakeoffEngagedId”, "DiagnosticPowerTakeoffTotalFuelUsedId”
HosRuleSet - Added: "Florida7Day”, "Florida8Day”, "FloridaShortHaul7Day”, "FloridaShortHaul8Day”
MessageContentType - Added: "DriverWhiteList”
DutyStatusLogType - Added: "PC” (Personal conveyance driver status), "YM” (Yard move driver status), "WT” (Wait time oil well driver status).
FuelTransaction - Added "ProductType” property.
FuelTransactionProvider - Added "WexLegacy”, "Fuelman” and "Comdata”.
GoDevice - Added "GoTalkLanguage” property.
User - Added "IsYardMoveEnabled” and "IsPersonalConveyanceEnabled” properties.
HosRuleSet - Added "OilWell7Day”, "OilWell7DayBig”, "OilWell8Day”, "OilWell8DayBig”, "AmericaTexas”, "AmericaTexasShortHaul”, "OilTransportTexas”, "OilWellTexas”,"AmericaShortHaul8Day”, "AmericaShortHaulPassenger8Day”, "OilTransportShortHaul8Day”, "AmericaTexasShortHaul8Day”
KnownId - Added "DiagnosticSystemAlertId”
TimeZoneInfo - Adjusted to support recently updated Windows times zones and the latest version of IANA/Windows mapped time zones. Click here for more info
DriverWhiteListContent
GoTalkLanguage
FuelTransactionProductType
For detailed information on new features please review the API Reference.
*.Net users will require a dll update
DiagnosticTypes - Added "GoFault”
FuelTransactionProvider - Added "WexCustomer”, "Drive” and "FuelTracker”
SecurityIdentifier - Added "EventOccurrenceList”,”ViewCertificates”,”ManageCertificates”
HosRuleSet - Added "AmericaSalesperson”
.Net: MachineSettings - Fix to work with ASP.Net Web API projects
.Net: DataToComponenet - Updated "Equals” method to compare payloads for equality
.Net: DutyStatusOrigin - removed unused "Serializable” attribute
.Net - Changes in API.cs to use HttpClient instead of HttpWebRequest in order to support .Net core in the future.
dll requires .Net Framework version v4.6+
GetDirections
OptimizeWaypoints
Directions
Leg
Step
Waypoint
*.Net users will require a dll update
For security reasons, TLS 1.2 is being enforced on all servers. To fix the integration, please update to at least .NET 4.5 and use the latest nuget package. For more information, please visit the forum discussion.
Driver has a new property: viewDriversOwnDataOnly. When set to true, a driver gains the ability to view their own driving data. ** .Net users will require a dll update*
New recipient types added that will send even if there is a delay in data. (BeepTenTimesRapidlyAllowDelay, BeepThreeTimesAllowDelay, BeepThreeTimesRapidlyAllowDelay , TextToSpeechAllowDelay) ** .Net users will require a dll update*
Access to third party messages via API. ** .Net users will require a dll update*
IoxAddOn
KnownIoxAddOnType
IoxAddOnSearch
IoxOutputContent
GoTalkContent
Fixed operator overloading for Id object in .Net dll (id1 == id2 is the same as id1.Equals(id2)) - *If you are using dll version 5.7.1508-1511 this will require a dll update.
New addin: Trips Streetview added to GitHub
Added new security clearances for:
ViewMarketplacePaidItems: Allow user to see paid Marketplace items
DeviceAdminDeleteUnplugReplace: Access to removing vehicle, unpluging device, and replacing device.
*If you are using dll version 5.7.1508-1510 this will require a dll update.
New SDK. Featuring the new SDK Runner, new methods and objects
Code snippets in the reference documentation. Now you can see working examples of the methods as they are used in the runner.
.Net users will require a .DLL update to access the latest features.
CreateDatabase
DatabaseExists
GenerateCaptcha
GetVersionInformation
AnnotationLog
AnnotationLogSearch
CaptchaAnswer
CaptchaException
Color
CompanyDetails
DVIRLog
DVIRLogSearch
DiagnosticCategory
DistributionList
DuplicateException
DutyStatusAvailability
DutyStatusAvailabilityDuration
DutyStatusAvailablitySearch
DutyStatusLog
DutyStatusLogSearch
DutyStatusLogType
DutyStatusViolation
DutyStatusViolationSearch
DutyStatusViolationType
EntityWithVersion
FuelEconomyUnit
FuelEvent
FuelTransaction
FuelTransactionProvider
HosRuleSet
IncludeGroups
InvalidMyAdminUserException
MapView
NameEntity
NameEntityWithVersion
RadioDownloaderSearch
Recipient
RecipientType
RegistrationException
Search
ShipmentLog
ShipmentLogSearch
TextMessageContentType
Trailer
TrailerAttachment
TrailerAttachmentSearch
TrailerSearch
VersionInformation
VolumeUnit
BingMapStyle
EngineType
EngineTypeSearch
StatusDataRequestContent
DriverChangeSearch received new search points including: DeviceSearch, DriverSearch, FromDate and ToDate. Checkout the API Reference for more details
DistributionList is now supported by the API. Checkout the API Reference for more details. Some related objects are still pending support (Notification, NotificationTemplate, BinaryData)
Add-In examples have been added to SDK documentation
When searching for Zones you can now specify a traversal method of the group tree. You can choose to include just the specified element, just the ancestors, just the descendants, or both ancestors and descendants. See the ZoneSearch object in the API Reference for more details
Fix documentation for object properties
Added KnownIds: DiagnosticDeviceTotalIdleFuel
Added FuelTransaction API (Beta)
HOS/DVIR objects supported in API. Key objects are AnnotationLog, DVIRLog, DutyStatusAvailability, DutyStatusLog, DutyStatusViolation, and ShipmentLog. Check out the API Reference for more details
Added Groups property to StatusDataSearch. This allows searching for status data for devices in the supplied groups. This does not return interpolated results
Added from/to date search to UserSearch object. Checkout the API Reference for more details
API Reference, objects now show properties from inherited classes. For example GoDevice extends Device and will show properties of GoDevice and Device in the documentation
Geotab Announces New DEV Channel for Developers
Get all zones now populating points correctly (see forum post)
Fixed TimeZoneInfo isDaylightSavingsSupported always false using .Net API client
Units of measure have been converted to use Known Id's (see forum post)
Adding, setting and removing of some entities has been disabled via the API. Exception Event, Trip, Status Data, Fault Data, Log Record with exceptions for adding odometer and engine hours adjustments and dismissing faults
Clearer documentation of date and long values in API Reference
Data Feed section added to Guides portion of SDK (see document)