Skip to content
English
  • There are no suggestions because the search field is empty.

Highway SRC: Automation, Booking & Status

Send Highway Secure Rate Confirmations automatically from Send Message Modal, Book It Now and Workflow Automation, and let carrier responses advance shipment status.

Related public article: Highway - Secure Rate Confirmation (https://learn.tai-software.com/knowledge/highway-secure-rate-confirmation

Technical Information

How it works

This release extends the existing Highway SRC integration (PRD-806) to three entry points and one response behavior, all reusing the same SRC send path: (1) a Book It Now booking triggers the SRC automatically, (2) a new Send Secure Rate Confirmation Workflow Automation action sends it, (3) carrier accept/reject webhook responses now advance the shipment/transit-leg status, and (4) Activity Log entries from Highway's webhook payload are de-duplicated. No new SRC pathway is introduced — every entry point calls the same Highway SRC API used by the manual Send Message → Highway SRC button.

  • Gating: the Book It Now trigger and the Workflow Automation action are behind the feature flag "TMS-17578 Highway Send Secure Rate Confirmation Workflow Action." With SRC disabled for a brokerage, Book It Now and workflows behave exactly as before.
  • Trigger criteria (all must be true) for SRC to send: the brokerage has a Highway integration source; SecureRateCon = True; an EmailStaffId is set on the integration source (used as broker_load_owner_email); and the broker carrier has a HighwayCarrierId parameter.

  • Fallback: if any criterion fails, or the SRC send throws, or Highway returns an unsuccessful response, the system falls back to the standard carrier-confirmation email. This fallback is temporary and tied to the feature flag — it must be removed when the flag is deleted, so send failures need to be resolved before then.
  • Status transitions (from the carrier's SRC webhook response): handled the same way as the carrier confirmation portal, forward-only.
  • Activity Log dedup: Highway's webhook payload carries a recent_rate_confirmation_activities array of all prior events on that rate confirmation; each element has a unique id. The handler logs each id once and skips any already recorded.

Reference data (derived from the code — not the code itself)

  • Book It Now entry point: inbound Highway webhook POST /publicapi/highway/carrierOffer with event_type = BOOK_NOW. A sister endpoint /publicapi/newtrul/carrierOffer behaves identically (legacy artifact of the move to the Highway endpoint). event_data.load.id = ShipmentId; event_data.offer.carrier_id = broker carrier's CarrierMasterId (must carry a HighwayCarrierId parameter). Use a shipment with no carrier already assigned.
  • Workflow Automation action: label "Send Secure Rate Confirmation"; envelope icon; no configurable fields beyond the step type; builder step description "Execute Send Secure Rate Confirmation Action with Highway". Visible only when the owning broker has the Highway source with SecureRateCon. Runs as the WA "working as" staff user, which supplies broker_load_owner_email; email subject "Carrier Confirmation for Shipment "; body from the carrier-confirmation template.
  • SRC trigger prerequisites: Highway integration source · SecureRateCon = True · EmailStaffId set (→ broker_load_owner_email) · HighwayCarrierId on the broker carrier.
  • Status transition map (SRC webhook status → shipment/transit-leg status): accepted → Dispatched (Truckload) or Ready (all other types); rejected → Sent; viewed, delivered, canceled → no status change, log only. Source: TMS-19632.
  • Forward-only guard: an SRC response only advances status; it never moves it backward. If the transit leg is already ≥ Dispatched, an accepted response is a status no-op (the response is still recorded). Source: TMS-20023 (fix for backward-transition defect).
  • Activity dedup: de-duplicate on the Highway activity id within recent_rate_confirmation_activities; skip silently if already recorded; enforced at the database level (unique constraint) to survive near-simultaneous webhooks. Applies to delivered, viewed, terms_accepted. Source: TMS-19846; confirmed with Highway (Ben Koley) 2026-05-20.
  • Trace log markers (Informational) for BIN SRC failures: "Highway TFX BIN Secure Rate Con attempt may have failed, investigate and fix. Shipment Id: {shipmentId}" (an exception occurred) and "Highway TFX BIN Secure Rate Con attempt was unsuccessful, investigate and fix. Shipment Id: {shipmentId}" (Highway response not successful).




Troubleshooting

Each failure mode below stands alone. Search by the on-screen behavior or the trace-log string.

Book It Now SRC fails and falls back to email — "Undelivered - user doesn't exist"

  • What you'll see: a Book It Now booking sends a standard carrier-confirmation email instead of a Highway secure link; the Activity Log / trace shows the SRC as undelivered with a "user doesn't exist" reason. Manually sending the SRC on the same shipment succeeds.
  • Likely cause: the BIN path can't resolve the load-owner email the way the manual path does — the ApiKey normally used to find the EmailStaffId isn't available in the BIN workflow, so the SRC send is rejected. Known open defect TMS-22777 (Major); QA on PD-3334. Root cause originates in the Book It Now change (TMS-18352).
  • Where to look: Trace Logs (Informational) for "Highway TFX BIN Secure Rate Con attempt was unsuccessful…" or "…may have failed…" with the Shipment Id; API Logs for the Highway response; the integration source for a configured EmailStaffId; broker carrier parameters for HighwayCarrierId.
  • Resolution / retry: confirm EmailStaffId is set on the integration source and the carrier has a HighwayCarrierId, then send the SRC manually from Send Message → Highway SRC. Track the fix on TMS-22777.
  • Failsafe: the carrier still receives the confirmation via the email fallback — do not re-send manually before confirming the carrier didn't already get the emailed copy, to avoid a duplicate confirmation.

SRC not sent from Book It Now or the workflow action (silent fallback to email)

  • What you'll see: no secure link; a standard carrier-confirmation email goes out; no status change tied to SRC.
  • Likely cause: one of the trigger criteria failed — no Highway source, SecureRateCon not True, missing EmailStaffId, or the carrier has no HighwayCarrierId. Fallback is by design.
  • Where to look: integration source settings (SecureRateCon, EmailStaffId); broker carrier parameters (HighwayCarrierId); Trace Logs for the BIN SRC markers above; confirm the feature flag is enabled for the brokerage.
  • Resolution / retry: correct the missing configuration, then retrigger (re-book or re-run the workflow) or send the SRC manually.
  • Failsafe: email fallback guarantees delivery; the flag-gated fallback will be removed when the flag is retired, so configuration gaps should be fixed rather than relied on.

Workflow action "Send Secure Rate Confirmation" is missing from the Actions list

  • What you'll see: the action doesn't appear when building a workflow step.
  • Likely cause: the owning broker has no Highway integration source with SecureRateCon, or the feature flag is off for that brokerage.
  • Where to look: the broker's integration source (Highway + SecureRateCon); feature-flag state for the brokerage.
  • Resolution / retry: enable the Highway source / SecureRateCon and the feature flag, then reopen the workflow builder.
  • Failsafe: none needed — visibility is intentional gating.

Shipment status moved backward (or wrongly) after an SRC response

  • What you'll see: a shipment already at Delivered/In Transit dropped back to Dispatched after an accepted SRC (for example, an updated carrier confirmation for detention was accepted).
  • Likely cause: historically the Highway callback had no allowed-transition guard. Fixed under TMS-20023 — status is now forward-only. If seen again, the guard isn't being applied.
  • Where to look: Activity Log for the accepted/rejected event and the resulting status write; confirm the current transit-leg status was ≥ Dispatched at the time.
  • Resolution / retry: if reproduced on current builds, reopen against TMS-20023 with the shipment ID, the webhook payload, and the Activity Log timeline.
  • Failsafe: the response itself is always recorded even when the status is a no-op — do not hand-edit status to "correct" it without confirming the expected forward-only behavior.

Duplicate Activity Log entries for the same carrier event

  • What you'll see: delivered/viewed/accepted logged two or three times for one rate confirmation.
  • Likely cause: Highway's payload includes the full recent_rate_confirmation_activities array on every webhook; without dedup, each element is re-logged. Addressed under TMS-19846 (dedup on activity id).
  • Where to look: Activity Log entries and their Highway activity ids; confirm whether duplicates share an id (dedup gap) or are genuinely distinct events.
  • Resolution / retry: if duplicates share an id on a current build, reopen TMS-19846 with the shipment ID and payload.
  • Failsafe: dedup is enforced at the database level; existing historical entries are not retroactively cleaned.

Public API changes

No customer-facing public-API change. The Book It Now path consumes the inbound Highway integration webhook POST /publicapi/highway/carrierOffer (event_type = BOOK_NOW); this is a Highway→Tai integration webhook, not part of the customer public API. Checked docs.taicloud.net — it does not document the Highway carrierOffer / BOOK_NOW webhook, so there is no public-API-docs page to update. No action required; optionally add an internal integration reference for the endpoint.

Suggested tags / search keywords: highway src book it now, send secure rate confirmation action, TMS-22777, undelivered user doesn't exist, SecureRateCon EmailStaffId HighwayCarrierId, src status transition dispatched, recent_rate_confirmation_activities dedup, Highway TFX BIN Secure Rate Con trace log


Sources: TMS-19857 (Epic), PRD-917, TMS-17578, TMS-18352, TMS-19846, TMS-22777 (PD-3334), TMS-19632, TMS-20023; KB: highway-secure-rate-confirmation.