TruckMate 2024.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 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.

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:

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:

  • faxNotify

  • email

  • terminalZone

  • applyTax1

  • applyTax2

  • allowPopupNotes

  • theNote

  • user1 through user10.

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:

  • Using the TRUCKMATE API KEY

  • Logon as VENDOR type of TM4Web users

Endpoints that are enhanced to support VENDOR type of TM4Web users:

  • GET trips

  • GET trips/tripNumber

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:

  • In ConnectedDock Admin, the application will immediately warn a user if the "directory" they have entered is not in an appropriate format. It will not actually check to see if it exists, but will have the ability to identify invalid formats.

  • In ConnectedDock, if the image directory does not exist, but the App Config is linked to a location that the service has access to write to, it will automatically create the folder and upload the image when a photo upload occurs via the actions of a Dock Worker.

  • In ConnectedDock, the application will now provide an error to the user if the image directory entered is not valid (and the service does not have the ability to write to the specified location). It will state "Cannot post image to the server", allowing the Dock Worker to immediately warn an Administrator so that this can be corrected.

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.