TruckMate 2025.1 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-165613 |
PUT /orders/:orderId/aCharges/:aChargeId - required fields |
Fixed an error where quantity, rate, and aChargeCode were incorrectly required in PUT /orders/:orderId/aCharges/:aChargeId, making them optional. |
TM-172358 |
webUsers GET /orders?type=P |
Added support for client web users to retrieve pickup requests through the Orders API. |
TM-175993 |
Add $select parameter for PUT /orders/:orderId |
Added support for the $select parameter when updating orders using the Orders API. PUT orders/:orderId |
TM-176007 |
Validation error when creating an order with interliner.chargesType = receivable |
Fixed an validation issue during the assignment of a receivable interliner to an order in the Orders API. |
TM-178127 |
Dev 7: TM API - Post additional validation for SI - Customer Specific SI |
Updated validation rules when assigning shipping instructions (global or client-specific using the POST methods for the /orders/shipInstructs and /orders/{orderId}/shipInstructs endpoints. |
TM-178869 |
Orders API - Contacts email field should be allowed to be posted or updated with an empty string value |
Fixed an issue allowing the email field in Contacts to be posted or updated with an empty string value for TM-Orders. |
TM-178911 |
TruckMate REST API copyOrderId does not properly support multi-point rating |
Fixed an issue where the copyOrderId parameter did not properly support the multi point rating functionality in the Orders API. |
TM-178935 |
DEV 3 - Add SLM Delivery Dates field to API Payload |
Verified the following Order API endpoints and functionality to the SLM Delivery Dates field:
|
TM-179204 |
Orders API - Add xStops child resource that can be expanded |
Add support to retrieve extra stops records created using the using extra popup method in the Orders API. GET orders/:orderId/xStops |
TM-180124 |
Orders API - Update the GET for returning shipping instructions on the order (T or P) |
Updated the GET requests to reflect the introduction of client-specific shipping instructions. |
TM-180135 |
PUT orders/:orderId - DB2 error encountered when supplying the quantity and rate for aCharges |
Fixed an issue where an SQL error was encountered when updating an accessorial charge code quantity and rate using the Orders API in a multi company environment. PUT /orders/:orderId |
TM-180174 |
Add support for client web user - PUT orders/:orderId?type=P |
Added support for client web user authorization to update pickup requests in the Orders API. PUT orders/:orderId?type=P |
TM-180293 |
Orders API - Fix TID web client privileges so 403 is returned for POST orders?type=T |
Fixed an issue where web client user through TID could successfully POST /orders?type=T instead of getting a 403 forbidden response. |
TM-180369 |
Orders API - Always return billingAuditNumber and webStatus when using TID for client web user |
Updated orders API to always return billingAuditNumber and createdBy fields for tid web client authorization. |
TM-180400 |
POST tm/orders - add saveAsDraft query parameter |
Added support for saveAsDraft parameter in the orders API that allows saving a pickup request as an incomplete order or shipments as a non posted order. POST tm/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. SCHEMA: 180682_ART_PUR_ADD_BILL_TO_NAME.SQL |
TM-180721 |
ART - GET /orders - Web Client User - $orderBy is not working correctly |
Fixed an issue where the $orderBy parameter was not functioning correctly for Web Client users in the GET /orders API in ART. |
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-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. |
Trips API
Case Issue | Case Name | Description |
---|---|---|
TM-172396 |
PUT /trips/:tripNumber - Add user fields |
Added 10 user fields to the trips in TM - Trips. PUT /trips/:tripNumber |
TM-178403 |
ART - Add totalStops field to trip model |
The |
TM-179242 |
GET trips - Move totalCarrierCost and totalCarrierDistance into tripSummary child resource |
Moved totalCarrierCost and totalCarrierDistance fields into the tripSummary child resource in the Trips API. GET /trips/:tripNumber/tripSummary |
TM-180542 |
PUT /trips/:tripNumber/status - Applying the same trip status update twice results in a wrong updatedBy value on the TRIPSTAT record |
Fixed an issue in the trips API where if the same trip status update is applied more than once, the trip status history showed the wrong username for the 'updated by' value. SCHEMA: 180542_TRIPSTAT_UPD_BI_SET_USER.SQL |
TM-180603 |
POST /tm/trips - PickupDeliveryTrip validation incorrect. |
Fixed an issue where fields not included in the request body were not being treated properly as undefined in the Orders and Trips API. |
TM-180833 |
Add $select parameter for PUT /trips/tripNumber |
Added support for the $select parameter when updating trips using the Trips API. PUT /trips/tripNumber |
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. |
Finance API
Case Issue | Case Name | Description |
---|---|---|
TM-178722 |
Add endpoint PUT /finance/currencyRates/:currencyRateId |
Added support for the retrieval, creation, update, and deletion of currency rate records for driver pay and general ledger in the Finance REST API.
|
TM-180796 |
ART - fix GET checks PR_BATCH not valid DB error |
Fixed a SQL error encountered when retrieving checks and check bill records in the Finance API. |
TM-180844 |
Unable to update any check string field to an empty string ("") using finance API check PUT end points |
Fixed an error that prevented updating a string field to an empty string ("") using the check PUT endpoints in the finance API. |
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-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-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. |
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-166223 |
masterData - PUT /clients/:clientId - modify contacts |
Added support for the modification of the contacts child resource from the following endpoint PUT /clients/:clientId in the masterData REST API. |
TM-166226 |
masterData - DELETE /clients/:clientId/contacts/:contactId |
Added support for deleting specific client contact records using the masterData REST API. DELETE /clients/:clientId/contacts/:contactId |
TM-166241 |
masterData - PUT /vendors/:vendorId/contacts/:contactId |
Added the ability to update vendor contact records in the masterData REST API. PUT /masterData/vendors/:vendorId/contacts/:contactId |
TM-173630 |
ART - Add codesByTripNumber parameter to masterData statusCodes endpoint |
Added a new query parameter, codesByTripNumber, to the GET /statusCodes endpoint in the masterData REST API which can be used to retrieve the list of all possible next status codes for a given trip number value. Also, a new query parameter, tripNewStatus, has been added to the GET /zones endpoint in the masterData REST API which can be used together with the codesByTripNumber query parameter to retrieve a default zone for a trip given a new trip status value. |
TM-175949 |
Data Governance mapping - Driver Availability |
Added a new endpoint to the drivers API in the masterData REST API which provides the driver’s projected availability. GET drivers/:driverId/availability |
TM-178128 |
Dev 8: MasterData API - New Endpoint + GET - Client - Customer Specific SI |
Added a new /shippingInstructions endpoint for getting client-specific shipping instructions. |
TM-178131 |
Dev 10: MasterData API - POST - Customer Specific SI |
Masterdata API - Added the ability to create new 'client-specific' shipping instructions. |
TM-178132 |
Dev 11: MasterData API - PUT - Customer Specific SI |
Verified that the MasterData API’s PUT endpoint (clients/{clientId}/shippingInstructions/{clientShippingInstructionId}) for Customer-Specific Shipping Instructions is functioning correctly. |
TM-178134 |
Dev 12: MasterData API - DELETE - Customer Specific SI |
Verified that the MasterData API’s DELETE endpoint (clients/clientId/shippingInstructions/shipInstructId) for Customer-Specific Shipping Instructions is functioning correctly. |
TM-178295 |
Add client acesslevel validation to validateClientBeforeDelete function |
Verified that Client Access Level Validation has been added to the validateClientBeforeDelete function. |
TM-179283 |
Unable to link existing employee to an existing driver or vice versa |
Fixed an issue where an existing employee could not be linked to an existing driver or vice versa. |
TM-179424 |
ART - Update codesByTripNumber to return default next status code first |
Added isDefaultNextStatusCode field to the GET /statusCodes endpoint to be used with the codesByTripNumber query parameter to determine what the next default status code is for the related trip. |
TM-179590 |
ART - MasterData clients - incorrect count value |
Fixed an issue where the count value being returned for GET /clients in the MasterData REST API was incorrect. |
TM-180184 |
ART - GET traceTypes - add $filter |
Added $filter parameter to masterData GET /traceTypes. |
TM-180263 |
ART - GET driverAvailability DB2 error when path parameter exceeds max length |
Fixed a DB2 error in the GET /driverAvailability endpoint that occurred when the path parameter exceeded the maximum length in TM - Masterdata. |
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. SCHEMA: 180914_TMS_UNCODES.SQL |
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. SCHEMA: 181212_MASTERDATA DRIVER VIEW ACTIVEINDISP.SQL |
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 |
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-180100 |
MasterData API aChargeDetails - Validation/Handling regarding client Id and shipping instructions |
MasterData API - Accessorial Code Details (/aChargeDetails) - Updated validation/handling regarding client Id and shipping instructions. |
TM-180453 |
REST API - Error response - Add title and type to error response format |
Updated the TruckMate REST API error format to more closely follow the Trimble API standards. Code and description fields inside the array have also been marked as deprecated. |
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 |
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-178530 |
TM4Web - Order Entry - Unable to save/hold/complete since the user is getting system error |
Fixed an issue where a 500 error was being encountered when submitting a pickup request using the Order Entry page in TM4Web due to missing parameters. |
TM-179353 |
Empty value for Possible Status Changes in WebAdmin prevents vendor web users from being able to login |
Fixed an issue where status codes with an empty possible status changes grid in Web Administration would prevent vendor web users from being able to log into TM4Web. |
TM-179615 |
TM4Web Excel button not exporting page vendor_combined.msw |
Fixed an issue where the excel button was returning a 500 error on the Accepted and Assigned Orders vendors page in TM4Web. |
TM-179858 |
TM4Web Vendor L-Haul Trip Status Zone Lookup error Failed to submit form |
Fixed an issue where zone lookup form was returning an error on the vendor linehaul trip status updates page. This is an issue where SSL (https) is handled outside of the Apache instance (https request is forwarded to a http instance). |
TM-180131 |
URL contains a reflected cross-site scripting vulnerability |
Confirmed a cross-site scripting vulnerability on the export results page in TM4Web. |