TruckMate 2021.2 New Features: Web / APIs

TM4Web

Bug Fixes

TM4Web Billing now displays even when there are no Acc Charges in Customer Service (TM-156361)

Previously, the TM4Web > Billing section was only displayed when there were accessorial charges in Customer Service. If there were no accessorial charges, it was not displayed.

The Billing section now displays correctly in the TM4Web > Bill Details screen.

TM 156361 212a

WebAdmin: Propagate tab to Access Groups - functions correctly (TM-156412)

Previously, the Propagate tab to access groups function was not working properly in the Web Admin program > Rate Quote Input / Shipping Instructions tab.

Now when you go to the Web Admin program > Rate Quote Input / Shipping Instructions tab, click the Propagate tab to Access Groups button and select an access group, the list of Shipping Instructions / Rate Quote Enabled True/False settings will be applied to the selected access group.

This is demonstrated in the following animated gif where the settings for 1DEFAULT group is propogated to the 1TEST group.

TM 156412 212a Anim01

  • Clients are given access to TM4Web through Access Groups. Access Groups are created with one or more TruckMate Clients and assigned a specific Feature Group which specifies exactly which TM4Web features the users within the Access Group will have access to.

  • The Shipping Instructions tab enables you to setup which Shipping Instruction will be available for TM4Web users in the selected access groups to choose from on the Rate Quote Input page.

IP Approval - ART Database Auditing (TM-157023)

When approving an Order through ART, the audit trail for Interline Payable Approval and Creation User Id will be populated with the correct user.

TM 157023 212

APIs

New Features

Expanded TruckMate REST API service (TM-155438)

A more feature rich, extensive and centralized TruckMate REST API service will soon be able to provide the same set of API methods, endpoints and authorization processes currently provided within other TruckMate REST API services as part of an expanding set of addtional endpoints. Several of the existing Web API service features have been already been merged into the TruckMate REST API service as part of an ongoing enhancement process. This includes:

  • Freight Search API

  • TM4Web REST API

  • TM4Web SOAP API

TruckMate REST API - New license key to access all endpoints (TM-157863)

The 69000 license key provides full access to all methods and endpoints available in the TruckMate REST API including those used by TM4Web, DASH and the Kofax image processing integration used by DASH.

At no additional cost, TM4WEB Client customers licensed for TM4Web REST API (61140) can request the new 69000 TruckMate REST API license. With the 69000 license key, both the TruckMate API Key and TID authentication methods can access all of the TruckMate REST API endpoints.

Other licenses for the TruckMate REST API service offer access to a selective subset of methods and endpoints:

  • 61000 - TruckMate REST API License (required to run the DASH Mobile program)

  • 61010 DASH Driver Update Freight Bill (used by the DASH Mobile program to update bill info.)

  • 60000 - Kofax License (Kofax is an image processing integration used by the DASH Mobile program for uploading documents)

  • 61140 - TM4Web REST API License (This license is required to run the TM4Web only endpoints. It comes with the standard TM4Web license, but you do need to contact TruckMate Support to have this added to your license in order to access these endpoints in the TruckMate REST API service.)

    • appointments

    • documents

    • login

    • orders

    • reports

    • transitTimes

    • trips

    • version

    • webAddressBook

    • webUsers

Enhanced and refined TM4Web RESTful APIs

Since the initial introduction in TruckMate 19.4, the TM4Web REST API endpoints and methods continue to be added, revised and streamlined in TruckMate 21.2. More endpoints will continue to be added and refined in future releases.

The TM4Web web user interface is not analagous to the TM4Web REST APIs and the TM4Web web user interface does not use the TM4Web REST APIs by default. You will likely have designed your own custom web user interface to use these APIs but you are not required to.

If you are interested in using these TM4Web REST APIs, it is strongly recommended that you upgrade directly to 21.2 instead of an earlier release to take advantage of the most current, improved and expanded set of API methods and endpoints.

New TM4Web endpoints in 21.2

TM4Web ListA

TM4Web ListB

TM4Web ListC

The TM4Web RESTful API refers to the application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data to interact with the TruckMate data and to provide secure access to Freight Bill information, Rate Quotes, Tracing functionality and Status Changes.

The APIs contain standard TruckMate objects and each object is associated with a REST Resource or Resource Collection. Before using TM4Web RESTful web services you must take into account the security requirements for gaining access, along with their corresponding supported methods and expected payload structures.

Requires TruckMate license 61140.

If you are in the early stages of implementing TM4Web REST APIs and do not have an ART Server running yet, a snapshot of this same swagger JSON information is available as a reference web site on the Trimble Transportation Learning Center.

You can also find a getting started document, TM4Web APIs Getting Started Guide, and a sample collection of TM4Web API requests to use as reference examples.

The TM4Web API Documentation web site link available on the Learning Center provides the swagger.JSON file information.

Ongoing TruckMate development will see the creation of a more extensive and centralized TruckMate REST API service which will include the same methods and endpoints currently available in the TM4Web REST API service.

Improvements

ART Admin: Access the TruckMate Service via the 61140 license (TM-151527)

Now you can access a different specific subset of endpoints within the TruckMate REST API service with license key 61140 (for TM4Web endpoints) and the current 61000 license key (for DASH) and the new 69000 license to access all endpoints and methods in the TruckMate REST API service.

TruckMate REST API > Trips: update seals resource field names/types (TM-157320)

Renamed the seals resource fields in the TruckMate API to conform with standards and avoid non-standard abridging. (Abridging is the term refering to shortening the names by omissions while retaining the basic contents.)

For example, the following fields have been renamed:

  • resType > resourceType

  • resId > resourceId

TM 157320 212

Interline Payable issue - Carrier Assignment API (TM-155883)

Previously, there were possible scenarioes that could result in Interline Pay populating incorrectly when carriers were assigned through the API. These processes have been revised and corrected.

OpenAPI documentation - tags field sorted alphabetically (TM-156190)

The "tags" field in the openAPI documentation has been updated to display in alphabetical order.

openAPI Authorization - TruckMate REST API (TM-155267)

Authorization documentation entries have been added to the TruckMate REST API openAPI document. Each individual endpoint now includes the respective API Keys/Authorization methods that are allowed.

TM 155267 212

OpenAPI Schema Type improvement (TM-157637)

Open API documentation has been enhanced to allow setting a type of oneOf, which may contain a string, number, or date.

TM 157637 212

New wrapper around Synergize APIs passing the URL with a security token (TM-151474)

The new Documents API will provide access to all documents scanned against all freight bills in the system, without restriction. The TruckMate REST API > documents API endpoint will use Synergize’s SOAP API to retrieve documents from the configured Synergize repository. The purpose of this Synergize wrapper is to provide additional functionality to enable public viewing of specific documents in a secure way via a 1-click URL.

TM 151474 212

OData support for GET calls in query endpoint (TM-155907)

The query endpoints in Import API, Profile API and Imaging API fully support OData filter(subset), orderby, fields, it gives the API power to use more advanced filtering.

OData (Open Data Protocol) is an OASIS (Organization for the Advancement of Structured Information Standards) standard that defines the best practice for building and consuming RESTful APIs.

The changes to query endpoint

  • Date value(response json) Compile with ISO 8601 date format

  • Response correct null value for non-string fields in result JSON

  • Add odata $filter support to GET query/(query-table-key)

  • Add odata $sortby support to GET query/(query-table-key)

  • Add odata $select support to GET query/(query-table-key)

  • Add odata $top support to GET query/(query-table-key)

  • Add odata $skip support to GET query/(query-table-key)

  • Add odata options to OpenAPI document

  • Create Postman collection in "TM Profile" workspace for API automatic testing

Supported odata filter Comparison Operators

  • eq (Equal) - nameDesc eq 'Redmond'

  • ne (Not equal) - city ne 'London'

  • gt (Greater than) - pieces gt 20

  • ge (Greater than or equal) - rate ge 50

  • lt (Less than) - billDate lt 2020-03-18

  • le (Less than or equal) detailLineId le 1234

  • in (Is a member of) billNumber in ('T00123', 'T00234')

Logical Operators

  • and (Logical and) - customer eq 'TM' and currentZone in ('BCVAN','BCLAN')

  • or (Logical or) - rate le 35.5 or rate gt 200

  • not (Logical negation) - not endswith(billNumber,'AA')

Grouping Operators

  • ( …​ ) Precedence grouping - startswith(billNumber,'T000') and (contains(customer,'GEN') or customer eq 'VERFAR')

String and Collection Functions

  • contains, contains(billNumber,'TA')

  • endswith, endswith(customer,'AN')

  • indexof, indexof(customer,'FT') eq 1

  • length, length(customer) eq 5

  • startswith, startswith(customer,’TM’)

String Functions

  • tolower, tolower(customer) eq 'tmsupport'

  • toupper, toupper(customer) eq 'TMSUPPORT'

  • trim, trim(user1) eq 'User field'

Date and Time Functions

  • day, day(rowTimestamp) eq 23

  • date, date(rowTimestamp) ne date(insTimestamp)

  • hour, hour(rowTimestamp) eq 14

  • minute, minute(rowTimestamp) eq 0

  • month, month(birthDate) eq 12

  • second, second(rowTimestamp) eq 0

  • year, year(rowTimestamp) eq 2021

Supported odata orderby

  • Asc sort on any available fields

  • Desc sort on any available fields

Supported odata select

  • Available fields of the query resource with any combination

Supported odata top

  • Same as "limit" >0

  • Default is 10

Supported odata skip

  • Same as "offset" - 1

Allow FB number entry using the orders API (TM-156628)

The freight bill order number (billnumber), has been added to the request body of the POST /orders API operation in the TruckMate REST API service.

TM 156628 212

The FB number entry is validated to ensure it does not exceed 20 characters and is available for the T, P and Q order types.

  • T - Standard order

  • P - Pending order

  • Q - Quote

Dynamic Order Creation (TM-151452)

Truckmate REST API enhancements in TruckMate 21.2 include:

  • Supports new properties added to the POST, PUT an GET methods for Orders:

    • isCsa

    • isTarped

    • isFast

    • isExclusive

    • exclusiveOverride.

These new properties can be used in the following requests:

  • GET: /orders

  • POST: /orders

  • GET: /orders/{orderId}

  • PUT: /orders/{orderId}

New Dangerous Goods resource

TM 151452 212b

New resources to support order (TLORDER) related custom define fields

TM 151452 212c

For more information, see the TruckMate REST API Services Introduction.

Bug Fixes

TruckMate REST API > Ensure unsupported endpoints return a 405 (TM-153879)

All methods that are not allowed for a TruckMate endpoint will return a 405 error response stating the method is not supported.

ART - TM4Web(/tm4web) Assign carriers to a trip error handling (TM-155807)

Error code handling when assigning a carrier to a trip through the TruckMate Trips API has been improved. An issue which prevented accessorial charges from expanding was also resolved.