API Quote Audit Log

Prev Next

Overview

Gain insight into or troubleshoot Carrier quotes not processed from API integrations with the API Quote Audit Log. The component provides detailed logging when requesting quotes.

API Quote Audit Log

The API Quote Audit Log Lightning Web Component (LWC) is located on the default Revenova Load Lightning Record page. Logs are generated when the LWC is enabled and a Load is rated. The following actions generate quotes and may populate the API Quote Log.

The API Quote Log operates once the quotes are returned from the API integration. Allow an additional 5-10 seconds to generate the logs before viewing the component.

Setup

The API Quote Audit Log is located on the default Revenova Load Lightning Record Page on the System tab. Complete the following steps to display and use the component.

  1. Navigate to a Load page.

  2. Select Setup → Edit Page.

  3. Click the API Quote Audit Log component.

  4. Set the component visibility filtering as needed.

  5. Save the Lightning Record Page.

  • Add the API Quote Logging field to the desired Load page layout to make the field editable in list views.

The API Quote Audit Log is intended to only be used for debugging and troubleshooting a specific Load. It is not recommended to add the API Quote Logging field to the Load TMS4 field set. When a Load is cloned with the field checked it generates logs and contributes toward the Asynchronous governor limit.

Filter Criteria

The API Quote Logging field controls when the component is enabled and logs missed quotes for the Load. Logs are only generated when this field is Checked.

The API Quote Audit Log provides logging information for missed Carrier quotes for the following integrations.

The Carrier SCAC field allows for filtering the rows in the datatable according to the Carrier Service SCAC in the row.

Carrier quotes that “fail” are displayed in a table below with the following information.

  • Timestamp: The date and time the API integration packet was received.

  • Carrier Service: The Carrier Service that failed to return a quote.

  • API Provider: The API integration service returning quotes.

  • Carrier SCAC: The SCAC code returned in the API integration response packet.

    • No SCAC code is treated separately from duplicate SCAC codes in the logs.

  • Details: The reason a Carrier quote was not created.

Errors that interrupt the rating process are displayed to the user and logged in the API Quote Log.

All Rate Entries are reviewed, but logs are only created for Rate Entries with a Base Rate Calculation Rate Method API type.

Search the result logs with the following fields.

  • Carrier Service: Enter a Carrier Service to filter the returned logs by Carrier Service.

  • API Provider: Select a specific API integration or select Any integration.

  • Carrier SCAC: Enter a Carrier SCAC to filter logs by on the SCAC.

Previously generated logs are removed from the LWC when new quotes are requested from the API integration.

API Quote Audit Logs

Multiple log rows may generate for a single SCAC code and error message.

  • Banyan provides 3PL quotes with a third party SCAC that represents that 3PL providing rates. The Carrier SCAC for the Carrier moving the Load is also included. The quotes for a 3PL SCAC may generate multiple rows with the same Load, SCAC, and reason.

  • Project44 may return multiple service levels from the same Carrier for the same Load. Multiple service levels may generate multiple rows for the same Load, SCAC, and reason.

Log Reference Table

API Provider

Display Carrier Service

Details

SCAC

Conditions

Stage

Prevents Further Processing

X

Rate entry Quote/Contract Id does not match RFP quote/contract Id

Pre-validation before requesting each API

No

X

<Load Name> weight is lighter than the minimum weight on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Load Name> weight is higher than the maximum weight on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Line Item Name> has a per-handling-unit weight heavier than the maximum handling unit weight on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Loan Name> handling unit count is higher than the maximum handling unit count on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Line Item Name> is longer than the maximum handling unit length on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Line Item Name> is wider than the maximum handling unit width on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Line Item Name> is taller than the maximum handling unit height on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Load Name> linear feet is shorter than the minimum linear feet on <Carrier Service Name>

Pre-validation before requesting each API

No

X

<Load Name> total volume is larger than the maximum volume on <Carrier Service Name>

Pre-validation before requesting each API

No

X

Carrier on <Carrier Service Name> has a global Carrier exclusion

Pre-validation before requesting each API

No

X

<Carrier Service Name> has a global Carrier exclusion

Pre-validation before requesting each API

No

X

Carrier on <Carrier Service Name> has a lane-based Carrier exclusion

Pre-validation before requesting each API

No

X

<Carrier Service Name> has a lane-based Carrier exclusion

Pre-validation before requesting each API

No

X

Rate Entry Mismatch Reasons detailed on the Load Match Test reference table are displayed here.

Rate Entry mismatch reason

Pre-validation before requesting each API

No

(Any API Provider)

You cannot perform this operation on a Load without Stops.

No first or last Stop on Load

Per-API-Pre-validation

Yes - Prevents the API Provider from proceeding to get quotes, but allows other APIs to continue.

(Any API Provider)

You cannot get a quote without an Expected Ship Date.

No Expected Ship Date on Load

Per-API-Pre-validation

Yes - Prevents the API Provider from proceeding to get quotes, but allows other APIs to continue.

(Any API Provider)

At least one line item is needed to obtain a quote.

No line items on Load

Per-API-Pre-validation

Yes - Prevents the API Provider from proceeding to get quotes, but allows other APIs to continue.

AccuFRATE

You must provide an NMFC Class for each line item in order to get a quote.

No line items on Load

Per-API-Pre-validation

Yes - Prevents given API Provider from proceeding to get quotes, but allows other APIs to continue.

AccuFRATE

AccuFRATE does not support multi-Stop Loads.

More than 2 Stops are on the Load

Per-API-Pre-validation

Yes - Prevents given API Provider from proceeding to get quotes, but allows other APIs to continue.

AccuFRATE

Stop, City, State, and Postal Code are required to retrieve quotes.

Ship to/Ship from are missing City, State, or Zip

Per-API-Pre-validation

Yes - Prevents given API Provider from proceeding to get quotes, but allows other APIs to continue.

AccuFRATE

(Exception message)

Exception occurred while calling API

While Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

AccuFRATE

No Carrier found for Carrier SCAC provided from API: null

Carrier Id from AccuFRATE does not map to SCAC in TMS

Post Processing

No

AccuFRATE

No Carrier found for Carrier SCAC provided from API: <Mapped SCAC>

Mapped SCAC

No active Carrier

Post Processing

No

Banyan

You must provide an NMFC Class for each line item in order to get a quote.

One of the line items on the Load lacks and NMFC Class

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

You must provide handling units for each line item in order to quote or tender to this Carrier.

One of the line items on the Load lacks handling units or handling unit count

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

Banyan does not support multi-Stop Loads.

More than 2 Stops are on the Load

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

Stop, City, State, and Postal Code are required to retrieve quotes.

Ship to/Ship from are missing City, State, or Zip

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

You are missing the Default Carrier Bill To on the Document Options record related to this Load.

Mode on the Load is associated with a Document Options record that has no Carrier Bill To, and the Load has no override set.

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

This accessorial is not supported for real-time quotation purposes: <Load accessorial>

No API accessorial is set up for a Carrier-provided accessorial quoted on the Load, and the accessorial is not the exception. Case: hazmat accessorial setup in TMS Config.

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

(Exception message)

Exception Occurred while calling API

While Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

Banyan Invalid Response: <Response>

Banyan responds with a non-JSON response

Post Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Banyan

Banyan quote failed with reason: <Reason from failed quote>

<SCAC from failed quote>

Banyan responds with failed quotes

Post Processing

No

Banyan

No Carrier found for Carrier SCAC provided from API: <SCAC>

SCAC

No active Carrier exists that maps to the SCAC

Post Processing

No

Banyan

No Carrier found for Provider SCAC provided from API: <ThirdPartySCAC>

ThirdPartySCAC

No active Carrier exists that maps to the ThirdPartySCAC

Post Processing

No

Banyan

Matching Carrier Service for SCAC “<SCAC>” is VLTL

SCAC

No Carrier Services that map to the SCAC are VLTL, and the “Service” on the quote from Banyan is “2” indicating it is a VLTL quote

Post Processing

No

Banyan

Matching Carrier Service for SCAC “<SCAC>” is not VLTL

SCAC

No Carrier Services that map to the SCAC are not VLTL, and the “Service” on the quote from Banyan is not “2” indicating it is a VLTL quote.

Post Processing

No

Banyan

Accessorial charges total from Banyan does not match sum of accessorial charges

SCAC

As described in Details, we check Banyan’s math

Post Processing

No

Banyan

Net price from Banyan does not match sum of gross charge, discount, fuel surcharge, and accessorial charges.

SCAC

As described in Details, we check Banyan’s math

Post Processing

No

Project44

You must provide an NMFC Class for each line item in order to get a quote.

One of the line items on the Load lacks and NMFC Class

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Project44

You must provide handling units for each line item in order to quote or tender to this Carrier.

One of the line items on the Load lacks handling units or handling unit count

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Project44

Project44 does not support multi-Stop Loads.

More than 2 Stops are on the Load

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Project44

Stop, City, State, and Postal Code are required to retrieve quotes.

Ship to/Ship from are missing City, State, or Zip

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Project44

You must provide either destination receiving hours or destination Appointment Time to get a quote.

Load does not have any of the following: Expected Delivery Date, Appointment Time on the last Stop, nor Shipping/Receiving hours on the last Stop

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Project44

This accessorial is not supported for real-time quotation purposes: <Load accessorial>

No API accessorial is set up for a Carrier provided accessorial quoted on the Load

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Project44

(Exception message)

Exception occurred while calling API

While Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

Project44

Project44 quote failed with reason: <Parsed Error Message from P44>

Carrier Code

P44 returns an error message for some quotes

Post Processing

No

Project44

No Carrier found for Carrier SCAC provided from API: <SCAC>

Carrier Code

No active Carrier exists that maps to the SCAC

Post Processing

No

Project44

No Carrier found for provider SCAC provided from API: <parsed provider SCAC>

Parsed provider SCAC

No active Carrier exists that maps to the parsed provider SCAC

Post Processing

No

Project44

Matching Carrier Service for SCAC “<SCAC>” is VLTL

Carrier Code

Getting VLTL quotes and the quotes that returned from P44 have a SCAC that maps to a non-VLTL Carrier Service

Post Processing

No

Project44

Matching Carrier Service for SCAC “<SCAC>” is not VLTL

Carrier Code

Getting non-VLTL quotes and the quotes that returned rom P44 have a SCAC that maps to a VLTL Carrier Service

Post Processing

No

Project44

Quote in preferred currency is zero

Carrier Code

Total in preferred currency returns from P44 as null or zero

Post Processing

No

SMC3

You must provide an NMFC Class for each line item in order to get a quote.

One of the line items on the Load lacks and NMFC Class

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

SMC3 RateWare does not support multi-Stop Loads.

More than 2 Stops are on the Load

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

Stop, City, State, and Postal Code are required to retrieve quotes.

Ship to/Ship from are missing City, State, or Zip

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

X

Missing Tariff Name or Rate Entry. Rate Entry is null

No Rate Entry on Carrier Service

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

X

Missing Tariff Name or Rate Entry. Tariff is null

No Tariff Name set on Rate Entry

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

X

This Tariff is not available on your account with SMC3: <Tariff Name>

Tariff set on Rate Entry did not appear in the enabled Tariff list that returned from SMC3

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

Error getting available Tariffs from SMC3: (Exception message)

Exception occurred while calling API, Get Available Tariffs endpoint

While Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

Error getting quotes from SMC3: (Exception message)

Exception occurred while calling API, Get Quotes endpoint

While Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

Error getting transit time for SMC3 quotes: (Exception message)

Exception occurred while calling API, Get Transit times endpoint

Post Processing

No - quotes are created, but without transit information from SMC3

SMC3

Error getting terminals for SMC3 quotes: (Exception message)

Exception occurred while calling API, Get Terminals endpoint

Post Processing

No - quotes are created, but without origin/destination terminal information from SMC3

SMC3

There was an error rating this Load with SMC3. <message><resolution>

SMC3 returns an overall error message

Post Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

SMC3

Failed quote returned from SMC3

SMC3 returns an error message for some quotes

Post Processing

No

SMC3

lineHaulGrossCharge value returned from SMC3 is not numeric: <lineHaulGrossCharge>

SMC3 returns invalid values for some quotes

Post Processing

No

SMC3

discountAmount value returned from SMC3 is not numeric: <discountAmount>

SMC3 returns invalid values for some quotes

Post Processing

No

SMC3

surchargeAmount value returned from SMC3 is not numeric: <surchargeAmount>

SMC3 returns invalid values for some quotes

Post Processing

No

SMC3

totalCharge value returned from SMC3 is not numeric: <totalCharge>

SMC3 returns invalid values for some quotes

Post Processing

No

WWEX

You must provide an NMFC Class for each line item in order to get a quote.

One of the line items on the Load lacks and NMFC Class

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX

You must provide handling units for each line item in order to quote or tender to this Carrier.

One of the line items on the Load lacks handling units or handling unit count

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX

Worldwide Express does not support multi-Stop Loads.

More than 2 Stops are on the Load

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX

Stop, City, State, and Postal Code are required to retrieve quotes.

Ship to/Ship from are missing City, State, or Zip

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX

(Exception message)

Exception occurred while calling API

While Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX

No Carrier found for Carrier SCAC provded from API: <carrierSCAC>

carrierSCAC

No active Carrier exists that maps to the SCAC

Post Processing

No

WWEX SpeedShip

You must provide an NMFC Class for each line item in order to get a quote.

One of the line items on the Load lacks and NMFC Class

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

You must provide handling units for each line item in order to quote or tender to this Carrier.

One of the line items on the Load lacks handling units or handling unit count

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

WWEX SpeedShip does not support multi-Stop Loads.

More than 2 Stops are on the Load

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

Stop, City, State, and Postal Code are required to retrieve quotes.

Ship to/Ship from are missing City, State, or Zip

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

Street Address is required on Ship From if Insurance is requested.

Cargo Insurance Accessorial on the Load is present, and Ship From does not have a Shipping Street

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

Commodity condition is required if Insurance is requested

Cargo Insurance Accessorial on the Load is present, and there is no commodity condition on the Load

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

Cargo Value is required if Insurance is requested

Cargo Insurance Accessorial on the Load is present, and the Load does not have a Cargo Value

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

USD is the only currency supported for WWEX SpeedShip

Load has a Cargo Value set, and the currency is not USD

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

WWEX Speedship does not support Pick Up Appointments

First Load Stop requires an Appointment and has an Appointment Time set

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

All line items must have an insured commodity category selected

Cargo Insurance Accessorial on the Load is present, and a line item on the Load does not have an insured commodity category that is mapped

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

All line items must have the same insured commodity category selected

Cargo Insurance Accessorial on the Load is present, and a line item on the Load has a different insured commodity than the other line items

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

This accessorial is not supported for real-time quotation purposes: <Accessorial>

Carrier provided accessorial on the Load has no API accessorial and is not the exception case of the Cargo Insurance Accessorial set in TMS Config

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

When requesting a Trade Show Pickup or Delivery, the NMFC Class must be Class 125 for all line items

One of the Carrier provided accessorial charges on the Load is either Trade Show Pickup or Delivery and not all line items have 125 as the NMFC Class

Per-API-Pre-validation

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

(Exception message)

Exception occurred while calling API

While Processing

Yes - Given API returns an empty result set, but does not prevent other APIs from getting quotes.

WWEX SpeedShip

<Count> quotes filtered because total was higher than existing duplicate quote

Existing duplicate quote (keyed by Carrier Service, Service Class, and Estimated Transit Time Days) already quoted for higher than new quotes coming in

Post Processing

No

WWEX SpeedShip

<Count> quotes filtered because Insurance flag is True but quote does not contain insurance

Cargo Insurance Accessorial on the Load is present, and the quote is returned from WWEX SpeedShip does not have insurance on any of the products on the offered product list

Post Processing

No