TruckMate 2023.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 the following public APIs:
-
TruckMate REST API Bundle
-
Master Data APIs
-
Freight Bill Import
-
Profile Import
-
Imaging
The API release notes cover all changes made to all TruckMate public APIs.
Sunsetted
The FB Import and Profiles REST APIs have been sunsetted.
-
Sunset date: March 31, 2024
-
Alternatives:
-
FB Import: TruckMate REST API
-
Profiles: Master Data REST API
-
The Sunset header field has been added to the endpoints, indicating when the resource is expected to become unresponsive. After the sunset period, the API will remain within the source code for an additional year along with a deprecation header.
Case Issue | Case Name |
---|---|
TM-168414 |
Add sunset header to Profiles API |
TM-168744 |
Add sunset header to FB Import REST API |
Deprecated
The TM4Web REST and SOAP APIs have been deprecated.
-
Deprecation date: March 31, 2023
-
Alternative: TruckMate REST API
A deprecation header has been added to the endpoints. This allows any remaining consumers a final chance to migrate away from the API. It also notifies any new applications that encounter the API about the risk of depending on the resource.
Case Issue | Case Name |
---|---|
TM-168523 |
Replace sunset header with deprecation |
ART Admin
Now, you can browse Windows Explorer when selecting the log path and file handling directories.
Case Issue | Case Name |
---|---|
TM-166781 |
Add ability to browse folder when setting log path in ARTADMIN |
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.
-
The OpenAPI JSON file itself is available for downloading.
These tables list issues in alphabetical order by case number.
Orders API
Case Issue | Case Name | Endpoint | Description |
---|---|---|---|
TM-166142 |
Dangerous goods UN number assignment via API |
POST /orders POST /orders/:orderId/details PUT /orders/:orderId PUT /orders/:orderId/details/:detailId |
The Orders API has been enhanced to ensure that dangerous goods and commodities linked to UN numbers are managed with the same logic and validations as the Customer Service Windows application. |
TM-166672 |
Implement onlyPostedResults query option - orders aCharges and orders osds |
POST /orders/{orderId}/aCharges?onlyPostedResults=true POST /orders/{orderId}/osds?onlyPostedResults=true |
To improve on API performance, when adding accessorial charge records to an order, we have added a new control option through a query string parameter to limit the records returned to only those sent in the request. By default, TruckMate APIs respond with all existing child resources not limited to those sent with the POST request.
|
TM-167782 |
Add aChargeType field to order aCharges and order interliner aCharges(GET) |
GET /orders GET /orders/{orderId} GET/orders/{orderId}/aCharges |
The Orders API aCharges resource now retrieves the accessorial charge type (aChargeType) |
Trips API
Case Issue | Case Name | Endpoint | Description |
---|---|---|---|
TM-165675 |
Missing fields from orders in trips response body |
GET /trips/:tripNumber/orders |
The Trips API now retrieves the following additional fields within the orders child resource:
|
TM-166656 |
onlyPostedResults query option - Trips API |
POST /trips/:tripNumber/carriers/:loadSummaryId/aCharges /trips/:tripNumber/chassis /trips/:tripNumber/containers /trips/:tripNumber/drivers /trips/:tripNumber/equipment /trips/:tripNumber/powerUnits /trips/:tripNumber/trailers /trips/:tipNumbers/seals |
TruckMate POST child endpoints allow submitting multiple records. The issue is that the return contains all the child resources, not just what was POSTed. To improve performance, all Trips POST endpoints now allow the return of a subset of the full representation via the onlyPostedResults query option. |
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, etc.
These tables list issues in alphabetical order by case number.
Case Issue | Case Name | Description |
---|---|---|
TM-166209 |
Master Data - add count |
Following Trimble API standards, the count field now exists within all the Master Data APIs that use offset-based pagination. count represents the total number of items in the entire query result, across all pages. |
TM-167196 |
Master Data Allow response header missing |
405 Method Not Allowed Ensure all endpoint methods which are not supported correctly respond with the HTTP Allow header containing a list of valid methods for the requested resource. |
TM-167634 TM-167644 |
MasterData - InvalidDBValue MasterData - invalidBusinessLogic |
Corrected several error response codes:
|
TM-167964 |
Add $select parameter to all MasterData endpoints |
To improve performance, all Master Data GET/POST/PUT endpoints now support the oData $select query parameter. This parameter allows a return of a subset of the full representation of the resource. |
TM-166533 |
cubeCapRuleIndicator should be defined as enum |
Corrected enumeration values both as documented in the OpenAPI specification and as displayed in the error response descriptions. |
TM-167316 |
rangeField1 is not returning correct enum values in masterData API |
|
TM-167394 |
Fix openAPI doc for masterData API to correct the order in which enum values appear for PUT /clients/{clientId}/cubePolicies/{cubePolicyId} |
Clients
Case Issue | Case Name | Endpoint(s) | Description |
---|---|---|---|
TM-166212 |
"clients" - Child "contacts" - GET masterData/clients, ~/:clientId/contacts, ~/:contactId |
GET masterData/clients GET masterData/clients/:clientId GET masterData/clients/:clientId/contacts GET masterData/clients/:clientId/contacts/:contactId |
The Clients API now retrieves client contact records. This allows external systems to access contact information such as names and addresses, phone numbers, and email addresses. Client contacts can be viewed in Customer & Vendor Profiles, on the Customer > Contacts tab. |
GET masterData/clients GET masterData/clients/:clientId GET masterData/clients/:clientId/customDefs GET masterData/clients/:clientId/customDefs/:customDefId |
The Clients API now retrieves client custom-defined field records. Client custom-defined fields can be viewed in Customer & Vendor Profiles, on the Customer > Custom Defined Fields tab. |
||
TM-166213 |
"clients" - Header - POST masterData/clients - handle new fields |
GET masterData/clients POST masterData/clients GET masterData/clients/:clientId PUT masterData/clients/:clientId |
The Clients API now retrieves the following fields from these tabs:
|
TM-167340 |
Add $select parameter for POST and GET /clients/{clientId}/discounts |
GET / POST / PUT |
The Clients API now allows a return of a subset of the full representation via the oData $select System Query option. |
Vendors
Case Issue | Case Name | Endpoint | Description |
---|---|---|---|
TM-166227 |
"vendors" - Header - GET masterData/vendors, ~/:vendorId |
GET masterData/vendors GET masterData/vendors/:vendorId |
The Vendors API now retrieves the following fields from these tabs:
The Vendors API also now retrieves vendor user-defined fields. Vendor user-defined fields can be viewed in Customer & Vendor Profiles, on the Vendor > User Defined Fields tab. |
TM-166228 |
"vendors" - Child "customDefs" - GET masterData/vendors, ~/:vendorId/customDefs, ~/customDefId |
GET masterData/vendors GET masterData/vendors/:vendorId GET masterData/vendors/:vendorId/customDefs GET masterData/vendors/:vendorId/customDefs/:customDefId |
The Vendors API now retrieves vendor custom- defined field records. Vendor custom defined fields can be viewed in the Customer & Vendor Profiles, on the Vendor > Custom Defined Fields tab. |
TM-166229 |
"vendors" - Child "contacts" - GET masterData/vendors, ~/:vendorId/contacts, ~/:contactId |
GET masterData/vendors GET masterData/vendors/:vendorId GET masterData/vendors/:vendorId/contacts GET masterData/vendors/:vendorId/contacts/:contactId |
The Vendors API now retrieves vendor contact records. This allows external systems to access contact information such as names and addresses, phone numbers, and email addresses. Vendor contacts can be viewed in Customer & Vendor Profiles, on the Vendor > Contacts tab. |
TM-167477 |
Vendors API - add VENDOR.SCAC_ID |
GET masterData/vendors GET masterData/vendors/:vendorId |
The Vendors API now retrieves the Standard Carrier Alpha Code (scacNumber field) from the Customs Compliance tab. The Standard Carrier Alpha Code is the recognized transportation company identification code used in the American National Standards Institute (ANSI) Accredited Standards Committee (ASC) X12 and United Nations EDIFACT approved electronic data interchange (EDI) transaction sets. |