TruckMate 2025.2 New Features: Web/APIs
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. For more information, see TruckMate REST API service replaces TM4Web REST 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:
-
The TM4Web OpenAPI JSON information can be viewed as a website.
This may be especially useful if you are in the early stages of implementing REST APIs and do not have an ART Server running yet.
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
|
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
|
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
|
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.
|
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.
|
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.
|
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.
|
TM-181699 |
ART Finance - DriverPayments - POST -Implement transaction Error handling |
Implemented transaction error handling when creating driver payment records using the Finance API.
|
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.
|
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:
|
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:
|
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:
|
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.
|
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. |