TruckMate 2025.2 New Features: Web/APIs

Required upgrade (TM-173710)

TruckMate 2024.1 and later requires DB2 version 11.5.9.

You must upgrade your instance of DB2 to this version before upgrading TruckMate.

The TruckMate ART Server is a high-performance, multi-threaded HTTP server running TruckMate API services designed using Representational State Transfer (RESTful) API principles.

The ART Server currently supports these public APIs:

  • TruckMate REST API Bundle

  • Master Data APIs

  • Imaging

  • Freight Bill Import (deprecated)

  • Profile Import (deprecated)

Freight Bill Import and Profile Import were deprecated in March 2024. These APIs will be removed in TruckMate 2025.2. Customers should convert to REST and MasterData APIs.

The API release notes cover all changes made to TruckMate public APIs.

TruckMate API

The TruckMate REST APIs are a comprehensive set of RESTful services, allowing developers to integrate TruckMate with custom or third-party applications, automate tasks, and much more.

Some ways you can use these APIs include:

  • Internal systems
    Share data and streamline internal business processes.

  • External data sharing and connection
    Share TruckMate data with third party systems.

  • Application integrations
    Access TruckMate data in real time.

  • Embedded content
    Request TruckMate data to include onto your site.

Available endpoints and methods differ depending on the license keys and authorization methods used.

To use the TruckMate REST APIs, we recommend upgrading directly to the latest version of TruckMate instead of an earlier release. This gives you access to the most current, improved, and expanded set of API methods and endpoints.

The following additional information is available on the Trimble Transportation Learning Center:

These tables list issues in numerical order by case number.

Orders API

Case Issue Case Name Description

TM-177903

Get Add the ability to add/update the Sales Rep/Agent and Carrier Agent fields from CS via the API

Added the ability to retrieve the sales representative and carrier agent fields in the Orders API.

  • GET tm/orders

  • GET tm/orders/{orderId}

TM-179203

POST /orders - Add masterOrderId query parameter

Added a new masterOrderId query parameter to the order creation method in the Orders API. It allows for a master order to be specified as a query parameter so that the orders being created in the orders array in the request body will be created as extra stop bills for the related master order ID.

The currency code, site ID, and bill to code for the extra stop bills must match the same values of the master order ID.

  • POST /orders

TM-180682

Orders created via REST API with BILL_TO set to override 'R' is not populating TLORDER.BILL_TO_NAME

Fixed an issue in the Orders API where the bill to name was not getting populated correctly when using the override bill to option. Also fixed an issue where the billToName was not being populated for pickup request orders.

TM-181327

GET orders?type=Q no longer working for client web users

Fixed an issue in the orders API where web users were unable to retrieve rate quote records.

  • GET orders?type=Q

TM-181367

Update PUT orders/orderId to use centralized logic when updating orders that have been billed/interfaced to billing.

Updated PUT endpoints for orders to use centralized logic when modifying orders that have been billed or interfaced to billing.

TM-181738

Excessive CPU on VW:TMS_ORDER_BARCODE

Fixed a performance and high CPU usage issue with the view used by the TruckMate REST API used for retrieving order barcode records.

TM-181769

Add support for GET orders/ordersId/dangerousGoods?type=P

Added support for dangerousGoods for pickup requests in TM-Orders.

  • GET orders/:orderId/dangerousGoods?type=P.

TM-182170

Put/Post Add the ability to add/update the Sales Rep/Agent and Carrier Agent fields from CS via the API

Added support to add or update Sales Rep/Agent and Carrier Agent fields in the Customer Service application via the TM - Orders API.

TM-182786

Reduce use of CGTT_DLD_ONLY table in TMS_ORDERS stored procedure

Reduced the use of CGTT table in the TMS_ORDERS stored procedure which is used to retrieve order (type T and Q) records in the TruckMate REST API in order to improve performance.

  • GET orders

  • GET orders/{orderId}

TM-182791

Orders API - Remove join to QUOTE table in TMS_ORDERS_TOTALCOUNT

Removed the user of a join to the quote table in the stored procedure used by the Orders API to retrieve order count in the response.

  • GET orders

TM-182832

GET orders/{orderId}/xStops - Add more zone and location related fields

Add the following fields to the xStops child resource in the Orders API: address1, address2, city, province, postalCode, country, stopZone

  • GET orders/{orderId}/xStops

TM-183056

PUT orders/orderId/status does not have the correct response body schema in openAPI

Fix the model name conflict of the response bodies of the following two endpoints, so they now display the correct sets of fields:

ConnectedDock: GET /setup - model name is renamed to dockStatus

TruckMate: PUT /orders/orderId/status - model name remains as status

TM-183387

POST orders?copyOrderId=xxx is not able to create type T orders from quotes

Fixed an issue with POST orders?copyOrderId, where type T orders could not be created from quotes.

TM-183475

POST orders - Changes made to workflow involving calls to SAVE_TLORDER

Adjusted the workflow in the orders API when creating an order so that the stored procedure used to save the order record is called during the posting of an order if the API Key has auto posted option enabled. Otherwise, it is called earlier during the order creation process.

Trips API

Case Issue Case Name Description

TM-181427

GET tm/trips/tripNumber/stops - Returns duplicate stop IDs in response in scenarios where more than 1 freight bill is associated with the same stop

Fixed an issue where a duplicate stop record and resources were not being allocated correctly in the Trips API in scenarios where a pick and drop occur at the same zone.

TM-181901

GET trips - add support for 'not in' and 'in' for the codeBehavior parameter

Added support for in and not in operators for the codeBehavior parameter in TM - Trips.

TM-182057

TM Rest api stops response do not match the value in STOPS.STOP_STAT

Fixed an issue where if a trip (non P&D) has waypoints and is in a stopoff / terminal code behavior status, the waypoint stop record being returned by the TruckMate REST API did not contain the correct status.

TM-182787

Reduce use of CGTT_TEMP_TRIP_RSLT table in TMS_TRIPS stored procedure

Reduce the use of CGTT table in the TMS_TRIPS stored procedure used to return trip records in the Trips API for improved performance

  • GET trips

  • GET trips/{tripNumber}

Finance API

Case Issue Case Name Description

TM-181197

ART Finance - DriverPayments - POST - data in the four columns TARPED, PAY_OVERRIDDEN, MAN_OVERRIDE_USER, MAN_OVERRIDE_DATE is incorrect

Fixed a data consistency issue when creating a driver payments record using the Finance API. The tarped, pay overridden, manual override user and manual override options are set correctly when creating the driver payment record through the Finance API.

TM-181217

ART Finance - DriverPayments - POST - data in DRIVERPAY.TAXABLE is not set per the Pay Code’s DRV_PAYCODES.TAXABLE

Fixed an issue where the taxable value is not getting set based on the driver pay code’s related taxable setting when creating driver payments using the Finance REST API

  • POST /driverPayments

TM-181268

ART Finance - DriverPayments - POST -Error description/title needs to include the Driver ID; transaction control needs to be added/modified

Revised error responses to return more detailed error message when creating driver payments using the Finance REST API for scenarios where the payment code is invalid and if the related driver ID does not have an associated contract.

TM-181382

ART Finance - DriverPayments - PUT - how to update a pay record that has 'False' in DRIVERPAY.PAY_OVERRIDDEN

Fixed an issue where updating driver payment records where the pay overridden flag was set to False using the Finance API was not setting override fields correctly.

  • PUT finance/driverPayments/:driverPaymentId

TM-181401

ART Finance - DriverPayments - PUT - when 'Allow Override of Checklist Approval Restriction' is unchecked, it can still approve driver pay with uncompleted checklist items - that is incorrect; the warnings need to be logged to the ART console/log.

Fixed centralized validation used by the Finance REST API when setting a driver payment record to approved when checklist items on the related freight bill record are not completed. The validation properly considers the Allow Override of Checklist Approval Restriction option in Security Configuration. This centralized validation is also shared by the Driver Pay Audit, Customer Service, Driver Profiles and Trip Envelope applications.

TM-181559

ART Finance - DriverPayments - POST - DRIVERPAY.LEG_ID is still null after TRIP_NUMBER and LEG_SEQ pass the validation

Fixed an issue where DRIVERPAY.LEG_ID was not set after passing TRIP_NUMBER and LEG_SEQ validation during POST of DriverPayment in TM – Finance.

TM-181598

ART Finance - DriverPayments - POST - DRIVERPAY.BILL_DATE is not set to FB’s Billing Date when the BILL_NUMBER does exist in TLORDER

Fixed an issue where the bill date field in driver payment records was not being set to the Freight Bill’s billing date when a valid bill number existed in the order system, using the Finance API.

  • POST finance/driverPayments

TM-181626

ART Finance - DriverPayments -DELETE -'500 Internal Server Error' -"Invalid database name ARTDB_4" after a security config was changed

Fixed a 500 Internal Server Error that occurred when deleting driver payment records using the Finance API after a security configuration change.

  • DELETE finance/driverPayments/:driverPaymentId

TM-181640

ART Finance - DriverPayments - POST - click Send, get '201 Created' but "driverPayments" is blank

Fixed an issue where if a driver payment is created into a different company than the company that the ART service is running, the response returned by the Finance REST API will include the created driver payment record and not an empty result.

  • POST /driverPayments

TM-181699

ART Finance - DriverPayments - POST -Implement transaction Error handling

Implemented transaction error handling when creating driver payment records using the Finance API.

  • POST finance/driverPayments

TM-181806

ART Finance - DriverPayments - PUT - when PAYAUDIT.EXE-Allow Edit of Driver Pay on Credit Bill is unchecked, it can still update driver pay on Credit bill

Fixed an issue where users were allowed to update driver pay on Credit bills via ART Finance - DriverPayments - PUT when PAYAUDIT.EXE-Allow Edit of Driver Pay on Credit Bill was unchecked in Security Configuration.

TM-181840

ART Finance - DriverDeductions - POST - data in DRIVERDEDUCTIONS.TAXABLE is not set per the Deduction Code’s DRV_DEDCODES.TAXABLE

Fixed an issue in ART Finance - DriverDeductions - POST - data in DRIVERDEDUCTIONS.TAXABLE was not set per the Deduction Code’s DRV_DEDCODES.TAXABLE.

TM-181873

ART Finance - DriverDeductions - POST - it returns '201 Created' with invalid data in "freightBillNumber"; valid data in "freightBillNumber" is not put into DRIVERDEDUCTIONS.BILL_NUMBER

Fixed issues with "freightBillNumber" in ART Finance - DriverDeductions - POST.

TM-181907

ART Finance - DriverDeductions - PUT - when 'Allow Override of Driver Deduction records imported by Card import' is unchecked, it can still update Qty, Rate, Amt etc. on a deduction record that has 'True' in DRIVERDEDUCTIONS.MANUAL_CALCULATION

Fixed an issue where a user was allowed to update Qty, Rate, Amt of a deduction record that had been imported by Card import via ART Finance - DriverDeductions - PUT when security config 'Allow Override of Driver Deduction records imported by Card import' was unchecked for the user.

TM-181943

ART Finance - DriverDeductions - PUT - "driverId": null - '200 OK'

When the driverId is null or empty string in request body of PUT /driverDeductions/:driverDeductionId, it will now return a 400 invalidBusinessLogic error. If the driverId field does not exist in the request body, the PUT action will not throw an error because of this.

TM-182071

ART Finance - DriverDeductions or DriverPayments - PUT - click Send, get '400 Bad Request' after a driver deduction record or driver pay record has "driverId" updated successfully

Fixed an issue where ART Finance - DriverDeductions or DriverPayments - PUT gave an incorrect response when Driver ID was updated.

TM-182394

ART Finance - DriverDeductions - PUT -it can approve driver deductions when 'DRIVERDEDUCTION - Allow Approval of Driver Deduction' is unchecked

Fixed an issue in ART Finance - Driver Deductions where PUT could approve driver deductions when 'DRIVERDEDUCTION - Allow Approval of Driver Deduction' was unchecked in Security Configuration-Business Events-Allow Changes.

TM-182434

ART Finance - DriverDeductions - POST - it should disallow users to use a Deduction code that has a Type with 'True' in DRV_DED_TYPE.CONTROLLED_ENTRY

Fixed an issue where users were allowed to use restricted deduction codes in ART Finance - DriverDeductions - POST.

Master Data API

The Master Data management API allows an external system to create, retrieve, update, or delete TruckMate configuration data. Some data types include client, vendor, and driver profiles, as well as sites, zones, commodity codes, and so on.

Case Issue Case Name Description

TM-180565

Dev 14: masterData/clients - add New Field clientSpecificSI

Updated the masterData API '/clients' endpoint to display the new 'clientSpecificSI' property for GET commands and allow users to set this property for clients in the POST/PUT methods

TM-180914

MasterData - Add GET /unNumbers endpoints

Added support for retrieving UN Number records through the masterData REST API

TM-181036

GET /statusCodes - With codesByTripNumber, the result list is different from MMDisp

GET /statusCodes with codesByTripNumber and $filter parameters set now returns the same list of status codes as MMDisp - Status Code Change dialog.

TM-181168

MasterData - Update error response to Trimble API standards

Updated the MasterData REST API error format to more closely follow the Trimble API standards. https://developer.trimble.com/docs/api-standard/error-payload/

Code and description fields inside the array have also been marked as deprecated.

TM-181212

MasterData GET /drivers - Update view to return all drivers and not only records that are active in dispatch

Updated the drivers endpoint in the masterData API to not exclude driver records where the isActiveInDispatch flag is set to False.

TM-181241

Implement use of SE_DATA.SEDATE_TO in ART

Verified that TM- Master Data/trailers/trailerId/specialEvents and TM- Master Data/trailers/trailerId/specialEvents/specialEventId have incorporated the changes of SE_DATA.SEDATE_TO in ART.

TM-181310

MasterData Clients - POST /clients/clientId/customDefs returning Item not Found error

Fixed an issue where an "Item not Found" error was returned when creating client custom definitions using the Clients API of TM - MasterData.

  • POST /clients/:clientId/customDef

  • PUT /clients/:clientId/customDefs

TM-181805

DEV 4b-1, Other applications - masterData API, support changes on tb:CLIENT

Confirmed that the modifications made in the Client table for the Appointment Required and Spot Trailer options (Shipper, Consignee, Both) have also been reflected in the API endpoints.

TM-181923

PUT clients/clientId - Unable to update more than one customDefs record

Fixed an issue in the MasterData REST API where using the PUT clients/clientId endpoint to update customDefs records for a client could only update a single record at a time.

TM-182672

POST aChargeCodes/{aChargeCodeId}/aChargeDetails/{aChargeDetailId}/multiServiceLevels returns a SQL error

Fixed an issue where accessorial charge code detail multi service level records could not be created or updated using the Master Data REST API due to a SQL error.

TM-182904

DEV 4b-2, Other applications - Imaging API, support changes on tb:CLIENT

Verified that the change made in the CLIENT table regarding Appointment Required values has been supported by the Imaging API.

ConnectedDock API (ART)

Case Issue Case Name Description

TM-166559

ConnectedDock search endpoint

Removed the search endpoint from the openAPI doc for the Connected Dock REST API.

TM-166560

ConnectedDock report endpoint

Enhanced the ConnectedDock report service to return HTTP_CREATED (201) for POST and HTTP_OK (200) for PUT, ensuring proper success response recognition.

TM-166561

ConnectedDock osds endpoint

Updated the Connected Dock openAPI documentation for the osds endpoint to include a proper response body, summary and description.

TM-166562

ConnectedDock image endpoint

Updated the ConnectedDock openAPI documentation to include the following endpoints:

  • POST /image

  • The titles of the following endpoints: Pallet Groups, Scan Event Status Codes and Trip Seals

TM-166563

ConnectedDock rights endpoint

Added OpenApi end points for uses to test for Users and Dock Group Rights some of these fields were missing and have been added in the latest build.

TM-166564

ConnectedDock supervisor_rights endpoint

Updated the ConnectedDock openAPI documentation to include the following endpoints:

  • GET /supervisor_rights

TM-166565

ConnectedDock yards endpoint

Updated the yards endpoint in the OpenAPI and added support for expand=yards in terminal endpoints.

TM-166567

ConnectedDock setup endpoint

Updated the ConnectedDock openAPI documentation to include the following endpoints:

  • GET /setup

TM-166573

ConnectedDock palletgroup endpoint

Updated OpenAPI documentation for the pallet group endpoints in ConnectedDock.

TM-166575

ConnectedDock scan_events endpoint

Updated the ConnectedDock scan_events endpoint definition in the OpenAPI specification.

TM-181290

ConnectedDock - add expand of trip_seals

Enhanced the Doors API response in ConnectedDock to support the expand=trips/trip_seals query parameter.

TM-181293

ConnectedDock - DB2 Error on getting trip_seal by id

Fixed a DB2 error encountered when retrieving the trip seal by ID in ConnectedDock.

Other APIs

Case Issue Case Name Description

TM-178254

ART - GET /documents return multiple records

The searchValue query parameter has been added to GET /documents which will return matching imaging documents from the Synergize repository for the record that matches the searchValue. This can be used to determine which documents can exist for a given TruckMate order record. It will return the related Synergize document ID value.

The documentId query parameter has been added to GET /documents/:documentType/searchValues/:documentIdentifier/:documentFormat endpoint. The documentId can be populated with the Synergize document ID value which can be retrieved using the GET /documents endpoint. This allows the Documents API to be able to retrieve specific documents in the scenario where more than one document exists for matching document type and document identifier in the Synergize Imaging repository.

TM-181003

ART - Create a new service for TruckMate visibility in ARTAdmin

Added a new Visibility REST API service to the ART Server Administrator to be used for outbound data feed to Trimble Visibility. It can be used to provide real time visibility to TruckMate operational data for shippers and carriers. Requires license 69500.

TM-181181

Imaging API - memory issues

Fixed an issue within the Imaging service where a memory leak was occurring when the service was in use.

This has been corrected - the memory leak that was causing issues against the Imaging service will no longer occur.

TM-181275

ConfigExplorer - Add WorkOptima config values

Added new application configuration options for ART.exe related to WorkOptima Imaging.

  • WorkOptima URL - Used to specify the web service URL used for WorkOptima Imaging

  • WorkOptima File Field - File Field parameter used for WorkOptima imaging search (e.g. Image or File)

  • WorkOptima API GUID - Global Unique Identifier value for WorkOptima.

  • WorkOptima Search Field - The search field used by WorkOptima for locating imaging documents e.g. FB Number.

  • WorkOptima API Key - API Key value provided by WorkOptima for web services.

TM-181276

DB Schema - add IMAGING_VENDOR to table ART_DOCUMENT_API_TOKENS

The Imaging vendor was added to the ART documents API tokens table where the TruckMate REST API stores generated tokens values which are used for generating imaging documents.

TM-181286

ART - update GET /documents response schema

Fixed GET /documents response schema in the TruckMate REST API to be consistent with the imaging vendor query parameter is used.

TM-183541

ART - Create new building option for FastMM4

Added an option when building a debug version of ART.exe application that allows for detection of memory leaks.

TM4Web

Case Issue Case Name Description

TM-177984

Add TruckMate to the beginning of the TM4WEB Apache service when installed

Updated the TruckMate ISO installer to use the TruckMate prefix when installing the Apache Service for TM4Web.

TM-183479

Update Apache and PHP in TruckMate ISO

Updated the Apache version from 2.4.62 to 2.4.63 in the TruckMate Web Server and API installation. The Microsoft Visual C++ redistributable installation has been removed from the Apache installation step as it is already performed during the installation of the TruckMate application files.

Updated the PHP version from 8.3.11 to 8.3.23 in the TruckMate Web Server installation.