TruckMate 2024.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 the following 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 all 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-171889 |
REST API - orders/barcodes - Setting/Updating Length, Width or Height Not Auto-Calculating Cube |
The cube value is now automatically calculated when barcode dimensions are provided in the request body (POST/PUT). |
TM-174108 |
TM Orders API - POST to /interliners with minimal info not working correctly |
|
TM-176200 |
SQL Error when re-adding Shipping Instruction via API |
Fixed an issue where a SQL error was encountered when using POST to re-add a ship instruction that had been previously removed from an order. The SQL error would be encountered if any custom triggers exist on the related shipping instructions table (TLSHIPINSTRUCT). |
Trips API
Case Issue | Case Name | Description |
---|---|---|
TM-168264 |
FB Assignment Unified Validation |
As part of the TruckMate 2024.2 release, a large number of changes were made behind the scenes to improve validation workflows when Freight Bills are assigned to Trips from numerous sources. You should experience no difference in your day-to-day workflow as part of these changes. The majority of these adjustments are behind the scenes, and were done as a priority effort to unify the workflows between Dispatch and Multi-Mode Dispatch (among others) in terms of validation/warning/error messages when assigning bills to Trips. |
TM-172738 |
REST API - GET /trips is not an accurate Trip Stops snapshot |
Fixed an issue where the resources allocated to stops returned by the Trips API was not consistent with stop data in the trip optimizer. |
TM-173881 |
IMP-05: Add "Travel Mode" Parameter to GET trips/carriers Endpoint |
|
TM-173913 |
tm/trips - Duplicate records are being returned by TMS_TRIP view |
Fixed an issue where duplicate trips were being returned by the trips API GET method. Also improved efficiency of the trips API when the $select parameter is used. |
TM-173926 |
Memory leak in ART |
Fixed memory allocation issues that affected the orders and trips functionality in the TruckMate REST API. |
TM-173946 |
Update GET/trips?expand=orders |
Added support for expanding orders, billToCustomer, caller, careOf, pickupAt, shipper, statusHistory, traceNumbers, resources from GET trips, and GET trips/tripNumber endpoints. |
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-166217 |
masterData - PUT /clients/:clientId - modify customDefs |
Added support for creating custom-defined records for a client within the masterData REST API. (POST masterData/clients/:clientId/customDefs) |
TM-166218 |
masterData - PUT /clients/:clientId/customDefs/:customDefId |
Added support for updating a custom-defined record of a client within the masterData REST API. (PUT masterData/clients/:clientId/customDefs/:customDefId |
TM-166219 |
masterData - DELETE /clients/:clientId/customDefs |
Added support for the DELETE method for the /clients/:clientId/customDefs endpoint in the masterData REST API. |
TM-166231 |
masterData - PUT /vendors/:vendorId - update new fields |
Added support for the following fields in the PUT vendors/vendorId endpoint in the masterData API:
|
TM-166235 |
masterData - PUT /vendors/:vendorId/customDefs/:customDefId |
|
TM-166236 |
masterData - DELETE /vendors/:vendorId/customDefs |
Added support for the DELETE method for the /vendors/:vendorId/customDefs endpoint in the masterData REST API. |
TM-166244 |
masterData - POST /drivers |
Added support for POST /drivers and PUT /drivers/:driverId endpoints in the masterData REST API. |
TM-166246 |
masterData - DELETE /drivers/:driverId |
Added support for the DELETE method on the drivers/:driverId endpoint in the masterData REST API, which allows for the deletion of a driver record. |
Other APIs
Case Issue | Case Name | Description |
---|---|---|
TM-163165 |
masterData - DELETE /vendors/:vendorId |
Added support for the DELETE method for the vendors/:vendorId endpoint in the masterData REST API. |
TM-163166 |
masterData - DELETE /clients/:clientId |
Added support for the Delete method on the clients/:clientId endpoint in the masterData REST API. |
TM-166090 |
Add child key when expanding grandchild resource in GET requests |
|
TM-168416 |
Deprecate Profiles APIs |
Update Profile Service description with deprecation notice in ArtAdmin and add deprecation header to Profile REST endpoints. |
TM-168699 |
Orders API - shipInstructs endpoint - add count |
Fixed the issue where imaging API paperwork update did not set checklist item to complete for the original and credit FB records when FB was credited and rebill. |
TM-169148 |
Orders API - /traceNumbers $select |
|
TM-170915 |
GET /whoami |
Added version to whoami response body and supported web client user and web vendor user. |
TM-172662 |
Web User Auth GET trips |
For the trips that are assigned to and accepted by VENDOR web-user, it can now be retrieved by GET trips endpoint with the following authorization methods:
Endpoints that are enhanced to support VENDOR type of TM4Web users:
|
TM-172664 |
Web User Auth PUT /trips/:tripNumber/status |
|
TM-172935 |
Orders API - Update handling for when Original accessorial is disallowed |
Orders API - Updated handling for client accessorials in regards to scenarios where the accessorial should not be allowed. This includes when the accessorial has been set as notActive, when set as a vendorCode, when set as customCodeOnly, and when set on the client’s accessorial substitution list as 'Disallowed'. |
TM-173075 |
ART Admin - Create a Finance API |
Add a finance API to ART to be used for exchanging Payroll, AP, AR, and GL data. |
TM-173445 |
GET /clients webUser Vendor Auth |
|
TM-173449 |
Get Quotes - web user auth |
|
TM-173691 |
ART - remove the need to restart ART services when a user is added |
|
TM-173950 |
API setup and at random times, a bunch of API calls fail due to timeouts |
Fixed a performance issue where the Imaging API could become unresponsive with API calls to the /tlorders and /query/imagingtlorders endpoints. If TruckMate is integrated with Transflo for your imaging solution, please coordinate with the Transflo team before applying the patch. This step is crucial to avoid any issues with the integration, as failure to do so may result in a broken integration. |
TM-173952 |
Fix threadvar memory leak in MultiCoData |
Fixed a memory leak when multi company visibility is checked when assigning resources to a trip or designating a bill to client on an order. |
TM-173987 |
Memory leak in ART DataModulesCache |
Fixed a memory leak in the data modules cache used in the TruckMate REST API functionality. |
TM-173998 |
Use ARTFieldMapListCache to get TARTFieldMapList |
Updated multiple orders, trips, imaging, and ConnectedDock related endpoints to use a cache to retrieve JSON field names for better consistency and efficiency. |
TM-174289 |
Add schema validation to Trips API |
|
TM-174340 |
ART GET /documents |
|
TM-174401 |
Add schema validation to Orders API |
|
TM-174474 |
ConnectedDock not recreating folders for image uploads if missing in the directory |
Fixed an issue within ConnectedDock where the application would not warn the user in any capacity if the image directories configured for ConnectedDock were not valid, thus resulting in lost images. This has been corrected in three locations:
|
TM-174545 |
POST /orderCustomsData |
Added support for the POST method on orderCustomsData in the TruckMate REST API. This endpoint allows for the creation of customs information for orders. |
TM-174546 |
PUT /orderCustomsData |
Added support for the PUT method on the /orderCustomsData endpoint in the TruckMate REST API, which allows orders customs information to be updated through the REST API. |
TM-174547 |
DEV: DELETE /orderCustomsData |
Added support for the DELETE method on the /orderCustomsData/:customsId endpoint. This allows specific order customs information records to be deleted. |
TM-174600 |
TruckMate API auth validation sequence |
|
TM-174806 |
REST API producing invalid JSON |
Fixed an issue where the stops functionality in the Trips API was producing invalid JSON when the stop contained a back slash in the related data. |
TM-174849 |
orders - POST/PUT orders/customDefs issues |
|
TM-174911 |
DELETE /orders/:orderId/shipInstructs/primId - Returns a 404 for a valid record |
Fixed an issue where a shipping instruction could be not be re-added to order using the TruckMate REST API, if that same shipping instruction record had been previously de-activated. Also fixed an issue where the DELETE orders/:orderId/shipInstructs/primId endpoint was returning a 404 instead of a 204 response. |
TM-175025 |
ARTAuthUser |
|
TM-175212 |
GET /documents/{documentType}/searchValues/{documentIdentifier}/{documentFormat} requires bearer token authentication |
|
TM-175270 |
ART - whoami - add menu enums |
|
TM-175327 |
GET /tm/whoami |
|
TM-175330 |
Cannot Modify A Driver Profile Whose Current Status Behaviour Not In O, U, V |
Fixed an issue where a driver profile could not be modified if the current status of the driver was associated with code behaviors other than other, unavailability or availability. |
TM-175351 |
Updating settings in ARTAdmin that affect the registry for a service overwrites the TrustedJwksIssuers registry key |
Fixed an issue where the Trusted JWKs Issuers registry key was being overwritten for ART services after modifications are made to the ART service properties in ARTAdmin. |
TM-175380 |
GET /clients?$filter=name eq (filter with no value) returns a SQL error |
|
TM-175428 |
REST Imaging api paperwork update not completing all the document types |
Fixed the issue where imaging API paperwork update did not set checklist item to complete for the original and credit FB records when FB was credited and rebill. |
TM-175439 |
OpenAPI - update PUT /clients and /vendors |
|
TM-175596 |
ART - Add imagingVendor field to GET /documents |
Added imagingVendor field to GET documents response body. Also added support for the $filter, $select and $orderBy parameters for the GET /documents endpoint. |
TM-175692 |
Allow GET trips by codeBehavior |
Allow filtering by codeBehavior when retrieving trips. |
TM-176029 |
GET documents/:documentType/searchValues/:documentIdentifier/:documentFormat is returning a 403 for a valid token |
Fixed an issue where a 403 error was being returned by endpoint GET documents/:documentType/searchValues/:documentIdentifier/:documentFormat when using a valid token. |
TM-176116 |
POST /orderCustomsData - Remove invalidDBValue validations for certain fields |
Removed InvalidDBValue 400 error response validation for certain ace and aci related fields in POST /orderCustomsData and PUT orderCustomsData/customsId in the TruckMate REST API to more closely match the behavior in the Customer Service application. |
TM-176117 |
POST /ordersCustomsData - Default customs broker is not being assigned |
Added logic to the TruckMate REST API POST /orderCustomsData endpoint, such that the customsBrokerId is automatically assigned if a default customsBroker is specified in the related client profile on the order and if a value for customsBrokerId is not included in the request body. |
TM-176118 |
POST /orderCustomsData - Autopopulation of cargoControlNumber and improvements needed around validation |
Added logic for the cargoControlNumber field to populate automatically if not provided in the request body for POST /orderCustomsData endpoint. |
TM-176123 |
POST /ordersCustomsData - Add isDefaultBroker to POST request body |
Added the isDefaultBroker field to the request body for the POST /orderCustomsData endpoint which allows for a customs broker to be designated as the default when creating the order customs information record. |
TM-176198 |
Error when recreating Shipping Instruction via API |
|
TM-176297 |
PUT /ordersCustomsData/customsId - Add isDefaultBroker to PUT request body |
Added isDefaultBroker field to the PUT orderCustomsData/customsId endpoint, which allows a customs broker record to be set as the default when updating an order customs information record. |
TM4Web
Case Issue | Case Name | Description |
---|---|---|
TM-166876 |
500 internal server error encountered when validating bill number in Claims Wizard |
Fixed a 500 internal server (PHP) error when attempting to validate a bill number in the claims wizard. |
TM-172320 |
Upgrade Apache to 2.4.58 VS17 |
|
TM-174511 |
TM4Web bill details from Summary error with French language site |
Fixed an issue where web administration configuration settings are not reflected when switching between English and French languages in TM4Web. |
TM-174840 |
Security processing failed with reason "24" error when trying to use a password containing special characters to run TM4Web |
Fixed an issue where TM4Web connection to the database was failing using PHP 8.2 if special characters were found in the password used in the configuration file (config.msw). |
TM-175345 |
Unable to load Rate Quote History in TM4Web |
Fixed an issue where selecting a historical rate quote was not populating the rate quote page with the related data if the details grid was configured to contain the dangerous goods field. |
TM-175492 |
TM4Web - 500 error when loading rate quote page using source guardian encoded build |
Fixed an encoding issue that was resulting in a 500 error being encountered when loading the rate quote page. The fix requires a newer version of the sourceGuardian loader, version 15.0. The new loader can be downloaded here: https://www.sourceguardian.com/loaders.html. Please download the Zip Archive for Windows 64-bit and extract the contents. For TruckMate version 24.1, the related file is ixed.8.2ts.win. This file will need to replace the existing file in the PHP ext (PHP-8.2.16\ext) directory in the TM4Web installation directory. For TruckMate 2023 versions, the related file is ixed.8.1ts.win. This file will need to replace the existing file in the PHP ext (PHP-8.1.12\ext) directory in the TM4Web installation directory. |
TM-176049 |
TM4Web page vendor_agent_assigned_deliveries does not load |
Fixed an issue on the page vendor_agent_assigned_deliveries page on TM4WEB. The grid would not load, and it would show a continuous loading icon. |
TM-176370 |
Update PHP version in ISO to PHP |
PHP version for TM4Web was upgraded to 8.2.20. The ISO installation portion related to Web Server now includes the PHP 8.2.20 version. |